'use client'; import { useParams } from 'next/navigation'; import { useQuery, useQueryClient } from '@tanstack/react-query'; import { getProject, Project } from '../../../lib/api'; import { AudioUpload } from '../../../components/AudioUpload'; import { ClipGrid } from '../../../components/ClipGrid'; import { LyricsEditor } from '../../../components/LyricsEditor'; export default function ProjectDetailPage() { const params = useParams<{ id: string }>(); const projectId = params?.id; const queryClient = useQueryClient(); const { data: project, isLoading, isError, error } = useQuery({ queryKey: ['projects', projectId], queryFn: () => getProject(projectId as string), enabled: Boolean(projectId) }); if (!projectId) { return

Project ID is missing.

; } return (
{isLoading &&

Loading project...

} {isError &&

{error.message}

} {project && ( <>

{project.name}

{project.description &&

{project.description}

}
queryClient.invalidateQueries({ queryKey: ['projects', projectId, 'source-clips'] }) } />

Source Clips

)}
); }