From 961fd90ffeae24be0185163750054a21a5a1d1f2 Mon Sep 17 00:00:00 2001 From: isra el Date: Sun, 12 Mar 2023 10:11:16 +0300 Subject: [PATCH] feat(web): send sms from the dashboard --- web/components/dashboard/SendSMS.tsx | 112 +++++++++++++++++++++++++++ web/pages/dashboard/index.tsx | 9 ++- 2 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 web/components/dashboard/SendSMS.tsx diff --git a/web/components/dashboard/SendSMS.tsx b/web/components/dashboard/SendSMS.tsx new file mode 100644 index 0000000..408265f --- /dev/null +++ b/web/components/dashboard/SendSMS.tsx @@ -0,0 +1,112 @@ +import { + Box, + Button, + FormLabel, + Input, + Modal, + ModalBody, + ModalCloseButton, + ModalContent, + ModalFooter, + ModalHeader, + ModalOverlay, + Select, + Textarea, + useDisclosure, + useToast, +} from '@chakra-ui/react' +import { useState } from 'react' +import { useSelector } from 'react-redux' +import { sendSMSRequest } from '../../services' +import { selectDeviceList } from '../../store/deviceListReducer' + +export default function SendSMS() { + const { isOpen, onOpen, onClose } = useDisclosure() + const deviceList = useSelector(selectDeviceList) + const toast = useToast() + + const [formData, setFormData] = useState({ + device: '', + receivers: '', + smsBody: '', + }) + + const handSend = (e) => { + e.preventDefault() + sendSMSRequest(formData.device, { + receivers: formData.receivers.replace(' ', '').split(','), + smsBody: formData.smsBody, + }) + + toast({ + title: 'Sending SMS...', + }) + onClose() + } + + const handleChange = (e) => { + setFormData({ + ...formData, + [e.target.name]: e.target.value, + }) + } + + return ( + <> + + + + + + Send SMS + + + + Select Device + + + + Receiver + + + + SMS Body +