import { useNavigate, useParams } from 'react-router-dom'; import { Modal } from '../components/reusable'; import { DailyLogsView } from '../components/rv'; import { DailyLogDetail } from '../components/dv'; import { useState } from 'react'; import { ClipboardList } from 'lucide-react'; import { DynamicForm } from '../components/forms/DynamicForm'; import { DAILY_REPORTS } from '../api/config'; import { dailyReportsClient } from '../api/clients'; export function AllDailyLogsPage() { const params = useParams(); const instanceId = params.instanceId ? Number(params.instanceId) : undefined; const navigate = useNavigate(); const [isCreating, setIsCreating] = useState(false); const [createTitle, setCreateTitle] = useState("Punch In"); const [punchOutInstanceId, setPunchOutInstanceId] = useState(null); const [punchOutTitle, setPunchOutTitle] = useState("Punch Out"); const [refreshKey, setRefreshKey] = useState(0); return ( <> { const id = row.instance_id as number | string | undefined; if (id != null) navigate(`/all-daily/${id}`); }} onPunchOutRow={(row) => { setPunchOutInstanceId(row.instance_id as string | number); setPunchOutTitle("Punch Out"); }} /> {/* Global Floating Action Button for Punch In */} setIsCreating(false)} title={createTitle} width="md" > { setIsCreating(false); setRefreshKey(k => k + 1); }} onCancel={() => setIsCreating(false)} onActivityChange={(name) => setCreateTitle(name)} /> setPunchOutInstanceId(null)} title={punchOutTitle} width="md" > {punchOutInstanceId != null && ( { setPunchOutInstanceId(null); setRefreshKey(k => k + 1); }} onCancel={() => setPunchOutInstanceId(null)} onActivityChange={(name) => setPunchOutTitle(name)} /> )} navigate(`/all-daily`)} title={instanceId != null ? `Daily Log #${instanceId}` : undefined} width="lg" > {instanceId != null && } ); }