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; const formatDate = (dateInput: Date | string) => new Date(dateInput).toLocaleDateString('id-ID', { day: 'numeric', month: 'short', year: 'numeric' }); 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 && (
    )}

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

    {item.title}

    {item.description}

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