import { Button, Divider, Input, Option, Select, Typography } from '@mui/joy' import { useContext, useState } from 'react' import { UserContext } from '../../contexts/UserContext' import { UpdateNotificationTarget } from '../../utils/Fetcher' const NotificationSetting = () => { const { userProfile, setUserProfile } = useContext(UserContext) const [notificationTarget, setNotificationTarget] = useState( userProfile?.notification_target ? String(userProfile.notification_target.type) : '0', ) const [chatID, setChatID] = useState( userProfile?.notification_target?.target_id, ) const [error, setError] = useState('') const SaveValidation = () => { switch (notificationTarget) { case '1': if (chatID === '') { setError('Chat ID is required') return false } else if (isNaN(chatID) || chatID === '0') { setError('Invalid Chat ID') return false } break case '2': if (chatID === '') { setError('User key is required') return false } break default: break } setError('') return true } const handleSave = () => { if (!SaveValidation()) return UpdateNotificationTarget({ target: chatID, type: Number(notificationTarget), }).then(resp => { alert('Notification target updated') setUserProfile({ ...userProfile, notification_target: { target: chatID, type: Number(notificationTarget), }, }) }) } return (