import { Head, Link, useForm } from '@inertiajs/react'; import React from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, 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 { Separator } from '@/components/ui/separator'; import AppLayout from '@/layouts/app-layout'; interface Employee { id: number; name: string; nip: string; department: string | null; } interface PageProps { employees: Employee[]; } export default function Create({ employees }: PageProps) { const { data, setData, post, processing, errors, transform } = useForm({ employee_id: '', date: '', shift: '', status: 'hadir', check_in: '', check_out: '', notes: '', }); const selectedEmployee = employees.find((employee) => String(employee.id) === data.employee_id) ?? null; const submit = (e: React.FormEvent) => { e.preventDefault(); transform((formData) => ({ ...formData, check_in: formData.check_in || null, check_out: formData.check_out || null, notes: formData.notes || null, })); post('/admin/attendance'); }; return (
Input Absensi Karyawan

Isi data absensi harian untuk 1 karyawan per tanggal.

{errors.employee_id &&

{errors.employee_id}

}
{selectedEmployee && (
Departemen: {selectedEmployee.department || '-'}
)}
setData('date', e.target.value)} /> {errors.date &&

{errors.date}

}
{errors.shift &&

{errors.shift}

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

{errors.check_in}

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

{errors.check_out}

}
{errors.status &&

{errors.status}

}
setData('notes', e.target.value)} placeholder="Opsional" /> {errors.notes &&

{errors.notes}

}
); }