'use client'; import { useState, useEffect } from 'react'; import { useParams } from 'next/navigation'; import { WorkItem, WorkItemStatus } from '@/lib/types'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faInfoCircle } from '@fortawesome/free-solid-svg-icons'; import { workItemApi } from '@/lib/api-client'; export default function DetailPage() { const params = useParams(); const [workItem, setWorkItem] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { // Ensure we have a valid ID string and convert to number const idString = Array.isArray(params.id) ? params.id[0] : params.id; const id = idString ? parseInt(idString, 10) : NaN; if (!isNaN(id)) { // Fetch work item asynchronously workItemApi.getWorkItem(id).then(item => { setWorkItem(item || null); setLoading(false); }).catch(error => { console.error('Error fetching work item:', error); setWorkItem(null); setLoading(false); }); } else { setLoading(false); } }, [params.id]); if (loading) { return (

Loading...

); } if (!workItem) { return (

Work item not found.

); } return (

Work Item Detail

{workItem.id}

{workItem.title}

{workItem.description}

{workItem.status}
); }