import { Button } from '@/components/ui/button'; import { Calendar } from "@/components/ui/calendar"; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Field, FieldError } from "@/components/ui/field"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { Textarea } from '@/components/ui/textarea'; import userRoutes from '@/routes/user'; import { Head, Link, useForm } from '@inertiajs/react'; import { ArrowLeft, Loader, Save } from 'lucide-react'; import React from 'react'; import { NumericFormat } from 'react-number-format'; import { toast } from 'sonner'; import { Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxContent, ComboboxEmpty, ComboboxItem, ComboboxList, ComboboxValue, useComboboxAnchor, } from '@/components/ui/combobox'; export default function UserEdit({ user, roles }: { user: any, roles: any[] }) { const [isCalendarOpen, setIsCalendarOpen] = React.useState(false); const anchor = useComboboxAnchor(); const { data, setData, post, processing, errors } = useForm({ username: user.username || '', email: user.email || '', nik: user.profile?.nik || '', full_name: user.profile?.full_name || '', phone_number: user.profile?.phone_number || '', address: user.profile?.address || '', birth_place: user.profile?.birth_place || '', birth_date: user.profile?.birth_date || '', base_salary: user.profile?.base_salary || 0, roles: user.roles?.map((role: any) => role.name) || [] as string[], _method: 'PATCH', }); const onSubmit = (e: React.FormEvent) => { e.preventDefault(); post(userRoutes.update(user.id).url, { onSuccess: (response: any) => { const flash = response.props.flash; if (flash?.error) { toast.error(flash.error); } else if (flash?.success) { toast.success(flash.success); } }, }); }; return (