"use client" import { useState } from "react" import Modal from "../Modal" export default function HourlyQualityChecksSection({ reportId, data, shiftName }: any) { const [checks, setChecks] = useState(data || []) const [showModal, setShowModal] = useState(false) const [formData, setFormData] = useState({ time: new Date().toISOString(), packInspection: false, base: false, handle: false, body: false, neck: false, land: false, distribution: false, phaseCheck: false, headTrimmerVisual: false, baseWeight: "", neckWeight: "", headTrimmerMouldClean: false, packTensionCheck: false, catchTrayInspection: false, big: false, small: false, leakDetector: false, vms: false, vis: false, holdStockAmount: "", siloNo: "", hdpeIncluded: "" }) const handleAdd = async () => { const updated = [...checks, formData] setChecks(updated) await fetch(`/api/reports/${reportId}`, { method: "PATCH", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ hourlyQualityChecks: updated }) }) setShowModal(false) // Reset form setFormData({ time: new Date().toISOString(), packInspection: false, base: false, handle: false, body: false, neck: false, land: false, distribution: false, phaseCheck: false, headTrimmerVisual: false, baseWeight: "", neckWeight: "", headTrimmerMouldClean: false, packTensionCheck: false, catchTrayInspection: false, big: false, small: false, leakDetector: false, vms: false, vis: false, holdStockAmount: "", siloNo: "", hdpeIncluded: "" }) } return (

Hourly Quality Checks

{checks.map((c: any, i: number) => ( ))}
Time Base Wt Neck Wt Silo No HDPE %
{new Date(c.time).toLocaleTimeString()} {c.baseWeight} {c.neckWeight} {c.siloNo} {c.hdpeIncluded}
{showModal && ( setShowModal(false)}>

Add Hourly Quality Check

{/* Time */}
{ const [hours, minutes] = e.target.value.split(':') const newDate = new Date() newDate.setHours(parseInt(hours), parseInt(minutes)) setFormData({...formData, time: newDate.toISOString()}) }} className="w-full px-3 py-2 border rounded-lg" />
{/* Inspection Checkboxes */}
{/* Numeric Fields */}
setFormData({...formData, baseWeight: e.target.value})} className="w-full px-3 py-2 border rounded-lg" />
setFormData({...formData, neckWeight: e.target.value})} className="w-full px-3 py-2 border rounded-lg" />
{/* Text Fields */}
setFormData({...formData, holdStockAmount: e.target.value})} className="w-full px-3 py-2 border rounded-lg" />
setFormData({...formData, siloNo: e.target.value})} className="w-full px-3 py-2 border rounded-lg" />
setFormData({...formData, hdpeIncluded: e.target.value})} className="w-full px-3 py-2 border rounded-lg" placeholder="e.g., 25%" />
)}
) }