"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
| Time |
Base Wt |
Neck Wt |
Silo No |
HDPE % |
{checks.map((c: any, i: number) => (
| {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 */}
{/* Text Fields */}
setFormData({...formData, hdpeIncluded: e.target.value})}
className="w-full px-3 py-2 border rounded-lg"
placeholder="e.g., 25%"
/>
)}
)
}