// Woodbury Operator — Inspections & Compliance. Registers window.InspectionsScreen.
(function () {
const NS = window.WoodburyPropertiesDesignSystem_7290ca;
const { Card, CardHeader, Button, Badge, StatCard, IconTile, Modal, Select, Input, ProgressBar, Checkbox } = NS;
const typeTone = { "Move-in": "accent", "Move-out": "brand", "Routine": "neutral" };
function InspectionsScreen() {
const I = window.WB_INSPECTIONS;
const C = window.WB_COMPLIANCE;
const [modal, setModal] = React.useState(null); // 'new' | inspection
const [checks, setChecks] = React.useState(window.WB_INSPECTION_CHECKLIST.map((c) => c.done));
const [inProp, setInProp] = React.useState(window.WB_SITES[0]);
const [inUnit, setInUnit] = React.useState("");
const close = () => setModal(null);
const openNew = () => { const p = window.WB_SITES[0]; setInProp(p); setInUnit(window.WBunitsFor(p, false)[0] || ""); setModal("new"); };
const openChecklist = (insp) => { setChecks(window.WB_INSPECTION_CHECKLIST.map((c) => c.done)); setModal(insp); };
const doneCount = checks.filter(Boolean).length;
const pct = Math.round((doneCount / checks.length) * 100);
return (
Schedule Inspection} />
window.WBNavigate&&window.WBNavigate("Inspections")} label="Scheduled" value="2" icon="calendar-days" iconTone="accent" />
window.WBNavigate&&window.WBNavigate("Inspections")} label="In Progress" value="1" icon="clipboard-list" iconTone="brand" />
window.WBNavigate&&window.WBNavigate("Inspections")} label="Completed (30d)" value="6" icon="clipboard-check" iconTone="success" emphasis="success" />
window.WBNavigate&&window.WBNavigate("Inspections")} label="Compliance Alerts" value="2" icon="shield-alert" iconTone="danger" emphasis="danger" />
{/* Compliance reminders */}
window.WBToast("Reminders enabled for expiring documents")}>Remind me} />
{["Document", "Site", "Expires", "Status", ""].map((h, i) => {h})}
{C.map((c, i) => (
{c.doc}
{c.site}
{c.status}
))}
{/* Inspection schedule */}
Filter} />
{I.map((insp, i) => (
{insp.unit}{insp.type}
{insp.tenant} · Inspector: {insp.inspector} · {insp.date}
{insp.status}
))}
{/* Schedule modal */}
}>
{/* Checklist modal */}
}>
{modal && typeof modal === "object" && (
{window.WB_INSPECTION_CHECKLIST.map((c, idx) => (
setChecks((cs) => cs.map((x, j) => j === idx ? v : x))} />
))}
)}
);
}
window.InspectionsScreen = InspectionsScreen;
})();