import { cn } from '../../../lib/cn'; // import { IconError, IconSuccess } from "../../../assets/icons/missions"; // import { useNavigate } from "react-router-dom"; export interface SubmissionItemProps { id: number; datetime: string; missionId: number; language: string; verdict: string; duration: number; memory: number; type: 'first' | 'second'; status?: 'success' | 'wronganswer' | 'timelimit'; } export function formatMilliseconds(ms: number): string { const rounded = Math.round(ms) / 1000; const formatted = rounded.toString().replace(/\.?0+$/, ''); return `${formatted} c`; } export function formatBytesToMB(bytes: number): string { const megabytes = Math.floor(bytes / (1024 * 1024)); return `${megabytes} МБ`; } function formatDate(dateString: string): string { const date = new Date(dateString); const day = date.getDate().toString().padStart(2, '0'); const month = (date.getMonth() + 1).toString().padStart(2, '0'); const year = date.getFullYear(); const hours = date.getHours().toString().padStart(2, '0'); const minutes = date.getMinutes().toString().padStart(2, '0'); return `${day}/${month}/${year}\n${hours}:${minutes}`; } const SubmissionItem: React.FC = ({ id, datetime, missionId, language, verdict, duration, memory, type, status }) => { // const navigate = useNavigate(); return (
{}} >
#{id}
{formatDate(datetime)}
{missionId}
{language}
{verdict}
{formatMilliseconds(duration)}
{formatBytesToMB(memory)}
); }; export default SubmissionItem;