import { useNavigate, useParams } from 'react-router-dom'; import { Modal } from '../components/reusable'; import { DailyLogsView } from '../components/rv'; import { DailyLogDetail } from '../components/dv'; import { DailyLogMap } from '../components/maps/DailyLogMap'; import { useState } from 'react'; import { Button } from '../components/buttons/Button'; import { Plus, MapPin } from 'lucide-react'; import { DynamicForm } from '../components/forms/DynamicForm'; import { DAILY_REPORTS } from '../api/config'; import { dailyReportsClient } from '../api/clients'; export function DailyLogsPage() { 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); const mapComponent = (

Activity Locations

); return ( <> {instanceId == null && ( { const id = row.instance_id as number | string | undefined; if (id != null) navigate(`/daily/${id}`); }} headerActions={ } rowActions={(row) => { const state = String(row.current_state_name || row.current_state_name_ || row.current_state || row.status || '').toLowerCase(); // Show only for Punched In, hide for Punched Out or others if (state.includes('out') || !state.includes('in')) return null; return ( ); }} /> )} setIsCreating(false)} title={createTitle} width="md" > { setIsCreating(false); setRefreshKey(k => k + 1); }} onCancel={() => setIsCreating(false)} onActivityChange={setCreateTitle} /> setPunchOutInstanceId(null)} title={punchOutTitle} width="md" > {punchOutInstanceId != null && ( { setPunchOutInstanceId(null); setRefreshKey(k => k + 1); }} onCancel={() => setPunchOutInstanceId(null)} onActivityChange={setPunchOutTitle} /> )} {instanceId != null && (
setPunchOutInstanceId(instanceId)} onBack={() => navigate('/daily')} />
)} ); }