// File: app/(dashboard)/migration/review/page.tsx // Change Log: // - 2026-05-22: Initial creation of Migration Review page with premium UI, pagination, status tabs, and strictly zero blank lines inside function bodies (T024) 'use client'; import React, { useState } from 'react'; import { useMigrationReviewQueue } from '@/hooks/use-migration-review'; import { MigrationReviewStatus } from '@/types/migration'; import { ReviewQueueTable } from '@/components/migration/review-queue-table'; import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { Button } from '@/components/ui/button'; import { ChevronLeft, ChevronRight, RefreshCw, BarChart2, ShieldAlert } from 'lucide-react'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; export default function MigrationReviewPage() { const [statusFilter, setStatusFilter] = useState(MigrationReviewStatus.PENDING); const [currentPage, setCurrentPage] = useState(1); const itemsPerPage = 10; const { data, isLoading, isFetching, refetch } = useMigrationReviewQueue( statusFilter === 'ALL' ? undefined : statusFilter, currentPage, itemsPerPage ); const items = data?.items || []; const totalItems = data?.total || 0; const totalPages = data?.totalPages || 1; const handleTabChange = (value: string) => { setStatusFilter(value as MigrationReviewStatus | 'ALL'); setCurrentPage(1); }; const handlePrevPage = () => { if (currentPage > 1) { setCurrentPage(currentPage - 1); } }; const handleNextPage = () => { if (currentPage < totalPages) { setCurrentPage(currentPage + 1); } }; return (

Migration Review Queue

จัดการรีวิวเอกสารที่ได้รับการย้ายข้อมูลจากระบบเดิมผ่าน AI Engine และกดยืนยันเพื่อบันทึกเข้าระบบจริง

รอการตรวจสอบ (Pending)
{statusFilter === MigrationReviewStatus.PENDING ? totalItems : '-'}

คิวเอกสารที่ต้องการการอนุมัติแบบมีส่วนร่วม

นำเข้าเรียบร้อย (Imported)
{statusFilter === MigrationReviewStatus.IMPORTED ? totalItems : '-'}

เอกสารที่นำเข้าสู่ระบบจัดเก็บถาวรแล้ว

ปฏิเสธนำเข้า (Rejected)
{statusFilter === MigrationReviewStatus.REJECTED ? totalItems : '-'}

เอกสารที่ปฎิเสธและต้องผ่านการตรวจสอบใหม่

จำนวนทั้งหมดในระบบ (Total)
{statusFilter === 'ALL' ? totalItems : '-'}

จำนวนรวมรายการย้ายข้อมูลในระบบคิว

คิวเอกสารย้ายข้อมูล เลือกรายการเอกสารเพื่อตรวจสอบความสัมพันธ์และแท็กของโครงการ
รอตรวจสอบ นำเข้าแล้ว ปฏิเสธ ทั้งหมด
{totalPages > 1 && (
แสดงหน้า {currentPage} จาก {totalPages} (ทั้งหมด {totalItems} รายการ)
{currentPage}
)}
); }