export const dynamic = 'force-dynamic' import { notFound, redirect } from 'next/navigation' import Link from 'next/link' import { createClient } from '@/lib/supabase/server' import { InvestigationForm } from '@/components/incidents/investigation-form' interface Props { params: Promise<{ id: string }> } export default async function InvestigationPage({ params }: Props) { const { id } = await params const supabase = await createClient() const { data, error: authError } = await supabase.auth.getUser() if (authError || !data?.user) redirect(`/login?redirect=/hse/incidents/${id}/investigation`) const { data: profile } = await supabase .from('users').select('role').eq('id', data.user.id).single() if (!profile || profile.role !== 'hse') redirect('/hse/incidents') const { data: incident } = await supabase .from('incidents') .select('id, reference_no, status') .eq('id', id) .single() if (!incident) notFound() if (!['triaged', 'investigating'].includes((incident as { status: string }).status)) redirect(`/hse/incidents/${id}`) const { data: existing } = await supabase .from('investigations') .select('id') .eq('incident_id', id) .order('created_at', { ascending: false }) .limit(1) .maybeSingle() return (
← Back to incident

Investigation Workspace

{(incident as { reference_no: string | null }).reference_no ?? id}

) }