import { useParams, useSearchParams } from "react-router-dom"; import { FileText, Info } from "lucide-react"; import TaskFormFile from "./components/TaskForm-file"; import TaskFormLink from "./components/TaskForm-link"; import { useTaskDetail } from "../../../hooks/useTasks"; export default function TaskSubmission() { const [searchParams] = useSearchParams(); const { slug, taskSlug } = useParams<{ slug: string; taskSlug: string }>(); const submissionType = (searchParams.get("type") ?? "file") as "file_upload" | "url_link"; const { task, loading, error } = useTaskDetail(taskSlug!, slug); const formatDeadline = (dateStr: string) => new Date(dateStr).toLocaleDateString("id-ID", { day: "numeric", month: "long", year: "numeric" }); const formatTime = (dateStr: string) => new Date(dateStr).toLocaleTimeString("id-ID", { hour: "2-digit", minute: "2-digit" }); if (loading) return (
{[...Array(3)].map((_, i) => (
))}
); if (error) return

{error}

; if (!task) return null; return (

{task.title}

Due {formatDeadline(task.deadline_at)} at {formatTime(task.deadline_at)}

Task Description

{task.description}

Submit Task

{submissionType === "file_upload" ? ( ) : ( )}

Once submitted, your work will be locked for mentor review. You can request a re-submission if needed.

); }