import { useMyTasks } from "../../../../hooks/useProjects"; import type { InternTaskItem } from "../../../../types/project.types"; import { RiFileList2Fill } from "react-icons/ri"; const TaskTimeline = () => { const { tasks, loading, error } = useMyTasks(); const today = new Date(); const isOverdue = (dateStr: string) => new Date(dateStr) < today; if (loading) return (
{[...Array(3)].map((_, i) => (
))}
); if (error) return

{error}

; return (

Timeline Tugas

{tasks.length === 0 ? (

Tidak ada tugas saat ini

) : (
    {tasks.map((item: InternTaskItem, index) => { const overdue = isOverdue(item.deadline_at); const deadlineDate = new Date(item.deadline_at); const isLast = index === tasks.length - 1; return (
  • {!isLast && (
    )}

    {deadlineDate.toLocaleDateString("id-ID")} AT{" "} {deadlineDate.toLocaleTimeString("id-ID", { hour: "2-digit", minute: "2-digit", })}

    {item.title}

    {item.description}

  • ); })}
)}
); }; export default TaskTimeline;