import { useParams, useLocation } from "react-router-dom"; import { Download, Clock, AlertCircle } from "lucide-react"; import { useTaskSubmissions } from "../../../hooks/useTasks"; import type { DisplayStatus } from "../../../types/task.types"; import { StatusTable } from "./components/StatusSubmissionTable"; export default function ViewInternSubmission() { const { slug, taskSlug, nameIntern } = useParams<{ slug: string; taskSlug: string; nameIntern: string; }>(); const location = useLocation(); const status: DisplayStatus = location.state?.status ?? "pending"; const { task, loading, error } = useTaskSubmissions(taskSlug!, slug); if (loading) return (
{[...Array(3)].map((_, i) => (
))}
); if (error) return

{error}

; if (!task) return null; const toSlug = (name: string) => name.toLowerCase().replace(/\s+/g, '-'); const internSubmission = task.submissions.find( (s) => toSlug(s.full_name) === nameIntern ); if (!internSubmission) return (

Submission not found.

); return (
{/* Header */}

{task.title}

{internSubmission.full_name} — {internSubmission.email}

{/* Task Description */}

Task Description

{task.description}

{/* Submission Detail */}

Submission Detail

{internSubmission.submission?.file_path && ( Download )}
); }