export const dynamic = 'force-dynamic' import { notFound } from 'next/navigation' import Link from 'next/link' import { createClient } from '@/lib/supabase/server' import { IncidentDetail, type Incident } from '@/components/incidents/incident-detail' import { InvestigationPanel } from '@/components/incidents/investigation-panel' interface Props { params: Promise<{ id: string }> } export default async function SupervisorIncidentDetailPage({ params }: Props) { const { id } = await params const supabase = await createClient() const { data: incident, error } = await supabase .from('incidents') .select(` id, reference_no, incident_type, description, severity, status, injury_involved, asset_involved, medical_status, lost_days, reported_at, closed_at, sites (id, name), zones (id, name), reporter:users!reported_by (id, name, email), evidence_files (id, stage, file_url, file_type, uploaded_at) `) .eq('id', id) .eq('evidence_files.deleted', false) .single() if (error || !incident) notFound() const { data: investigation } = await supabase .from('investigations') .select(` id, method, five_why_steps, fishbone_categories, findings_text, root_cause_summary, alcohol_test_result, urine_test_result, witness_statement_refs, completed_at, investigator:users!investigator_id (name, email) `) .eq('incident_id', id) .maybeSingle() return (
← Back to inbox {investigation && ( )}
) }