import { useEffect, useState } from 'react'; import { useParams, Link, useNavigate } from 'react-router-dom'; import { useDispatch, useSelector } from 'react-redux'; import { motion } from 'framer-motion'; import { AppDispatch, RootState } from '../store'; import { fetchProject } from '../store/projectsSlice'; import AITerminal from '../components/AITerminal'; export default function ProjectPage() { const { id } = useParams<{ id: string }>(); const dispatch = useDispatch(); const { current: project } = useSelector((state: RootState) => state.projects); const [showTerminal, setShowTerminal] = useState(false); const navigate = useNavigate(); useEffect(() => { if (id) dispatch(fetchProject(id)); }, [id, dispatch]); if (!project) { return (
); } return (
{/* Breadcrumb */}
Dashboard / {project.name}
{/* Header */}

{project.name}

{project.defaultPlatform} -- {project.defaultFormat} -- {project.videos?.length || 0} videos

{/* Terminal */} {showTerminal && ( )} {/* Videos */} {(!project.videos || project.videos.length === 0) ? (

No videos yet

Create your first video in this project

) : (
{project.videos.map((video: any, i: number) => (
{video.status || 'pending'}

{video.script?.slice(0, 120) || 'No script yet'}...

))}
)}
); }