import InputError from '@/components/input-error'; import LoadingButton from '@/components/loading-button'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { SharedData } from '@/types/global'; import { useForm, usePage } from '@inertiajs/react'; import { ReactNode, useState } from 'react'; interface Props { user: User; actionComponent: ReactNode; } const EditForm = ({ user, actionComponent }: Props) => { const { props } = usePage(); const { translate } = props; const { dashboard, input, button, common } = translate; const [open, setOpen] = useState(false); const { data, put, setData, processing, errors, reset } = useForm({ name: user.name, status: user.status, }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); put(route('users.update', user.id), { onSuccess: () => { reset(); setOpen(false); }, }); }; return ( {actionComponent} {dashboard.update_user} {/* add a form where admin can select status then write a feedback and submit */}
setData('name', e.target.value)} />
{button.submit}
); }; export default EditForm;