import { Head, useForm, Link } from '@inertiajs/react'; import { Separator } from '@radix-ui/react-separator'; import React from 'react'; import type { FormEvent } from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import AppLayout from '@/layouts/app-layout'; // Definisi tipe data props untuk TypeScript interface EmployeeProps { employee: { id: number; nip: string; position: string; status: string; join_date: string; user: { name: string; email: string; } | null; }; } export default function Edit({ employee }: EmployeeProps) { // Inisialisasi form dengan data dari database const { data, setData, put, processing, errors } = useForm({ name: employee.user?.name || '', email: employee.user?.email || '', password: '', // Kosongkan untuk keamanan nip: employee.nip || '', position: employee.position || '', status: employee.status || 'PKWT', join_date: employee.join_date || '', }); const submit = (e: FormEvent) => { e.preventDefault(); put(`/admin/employees/${employee.id}`); }; return (
Edit Karyawan Perbarui informasi data diri dan kepegawaian karyawan.
{/* Data Profil */}
setData('name', e.target.value)} /> {errors.name &&

{errors.name}

}
setData('email', e.target.value)} /> {errors.email &&

{errors.email}

}
setData('password', e.target.value)} /> {errors.password &&

{errors.password}

}
{/* Data Kepegawaian */}
setData('nip', e.target.value)} /> {errors.nip &&

{errors.nip}

}
setData('join_date', e.target.value)} />
); }