import { LoadingButton } from '@mui/lab'; import { Avatar, FormControl, InputLabel, Select, FormHelperText, MenuItem } from '@mui/material'; import { Card } from '@mui/material'; import { Stack, Typography } from '@mui/material'; import axios from '@/utils/axios'; import { enqueueSnackbar } from 'notistack'; import { useRef, useState, useContext } from 'react'; import { makeFormData } from '@/utils/jsonToFormData'; import { format } from 'date-fns'; import { LanguageContext } from '@/contexts/LanguageContext'; interface MemberType { members: any; services: any; } interface FormRequestClaimProps { member: MemberType; handleSubmitSuccess: () => void; } export default function FormRequestClaim({ member, handleSubmitSuccess }: FormRequestClaimProps) { const { localeData }: any = useContext(LanguageContext); const [serviceCode, setServiceCode] = useState(''); const [submitLoading, setSubmitLoading] = useState(false); function submitRequest() { if(serviceCode == '') { enqueueSnackbar(localeData.txtDialogMember4, { variant: 'warning' }); return false; } setSubmitLoading(true); const formData = { member_id: member.members.id, service_code: serviceCode }; axios .post('/request-log', formData) .then((response) => { console.log(response); if (response && response.data && response.data.meta) { enqueueSnackbar(response.data.meta.message, { variant: 'success' }); handleSubmitSuccess(); } }) .catch(({ response }) => { if (response && response.data && response.data.meta) { enqueueSnackbar(response.data.meta.message, { variant: 'error' }); } }) .then(() => { setSubmitLoading(false); }); } interface MemberService { service_code: string; name: string; } return ( {localeData.txtDialogMember5} {format(new Date(), "d MMM yyyy")} {localeData.txtDialogMember1}* {localeData.txtDialogMember1} {member?.members.name ?? ''} {member?.members.member_id ?? ''} { submitRequest(); }} loading={submitLoading} > {localeData.txtDialogMember2} ); }