Files
internify-fe/src/Pages/internify/mentor/components/MentorTaskCard.tsx
T

36 lines
1.4 KiB
TypeScript

import { useNavigate, useParams } from "react-router-dom";
import type { InternTaskItem } from "../../../../types/project.types";
const formatDate = (date: string) =>
new Date(date).toLocaleDateString('id-ID', { day: 'numeric', month: 'short', year: 'numeric' });
const formatTime = (dateStr: string) =>
new Date(dateStr).toLocaleTimeString('id-ID', { hour: '2-digit', minute: '2-digit' });
export default function MentorTaskCard({ task }: {task: InternTaskItem}) {
const navigate = useNavigate();
const { slug } = useParams<{ slug: string }>();
const handleCardClick = () => {
navigate(`/mentor/projects/${slug}/${task.slug}?type=${task.submission_type}`)
};
return (
<div
className="border border-card-outline rounded-[10px] px-5 py-4 mb-3 bg-card shadow-lg flex items-start justify-between gap-3 cursor-pointer hover:border-card-outline/50 transition-colors"
onClick={handleCardClick}
>
<div className="flex-1 min-w-0">
<div className="text-[11px] text-[#888] mb-1">
Deadline : {task.deadline_at ? `${formatDate(task.deadline_at)} at ${formatTime(task.deadline_at)}` : '-'}
</div>
<div className="font-bold text-[15px] text-[#1a1a1a] mb-1">
{task.title}
</div>
<div className="text-[13px] text-[#666]">
{task.description}
</div>
</div>
</div>
);
}