"use client"; import { useEffect, useState } from "react"; import { migrationService } from "@/lib/services/migration.service"; import { MigrationErrorItem } from "@/types/migration"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { format } from "date-fns"; import { ArrowLeftIcon } from "lucide-react"; import Link from "next/link"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; export default function MigrationErrorsPage() { const [items, setItems] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { fetchData(); }, []); const fetchData = async () => { try { setLoading(true); const res = await migrationService.getErrors({ limit: 100 }); setItems(res.items); } catch (error) { // Failed to fetch errors - loading state handles display } finally { setLoading(false); } }; return (

Migration Errors

Systemic errors encountered during the background migration process.

Error Audit Log {loading ? (
Loading errors...
) : items.length === 0 ? (
No errors found.
) : (
Batch ID Document No. Error Type Error Message Occurred At {items.map((item) => ( {item.batchId || "-"} {item.documentNumber || "-"} {item.errorType || "UNKNOWN"} {item.errorMessage || "-"} {format(new Date(item.createdAt), "dd MMM yyyy, HH:mm")} ))}
)}
); }