import { Metadata } from 'next' import { ManualsDashboardClient } from '@/components/manuals-dashboard-client' import { getConvexManualDashboard } from '@/lib/convex-service' import { readFileSync } from 'fs' import { join } from 'path' export const metadata: Metadata = { title: 'Manual Processing Dashboard | Rocky Mountain Vending', description: 'Comprehensive dashboard showing processed manual data, statistics, and analytics', } interface DashboardData { missingManuals: any qaData: any[] metadata: any[] structuredData: any[] semanticIndex: any acquisitionList: any nameMapping: any[] } async function loadDashboardData(): Promise { const projectRoot = join(process.cwd(), '..') try { const missingManuals = JSON.parse( readFileSync(join(projectRoot, 'missing_manuals_report.json'), 'utf-8') ) const qaData = JSON.parse( readFileSync(join(projectRoot, 'manuals_qa_comprehensive.json'), 'utf-8') ) const metadata = JSON.parse( readFileSync(join(projectRoot, 'manuals_enhanced_metadata.json'), 'utf-8') ) const structuredData = JSON.parse( readFileSync(join(projectRoot, 'manuals_structured_data.jsonld'), 'utf-8') ) const semanticIndex = JSON.parse( readFileSync(join(projectRoot, 'manuals_semantic_index.json'), 'utf-8') ) const acquisitionList = JSON.parse( readFileSync(join(projectRoot, 'manual_acquisition_list.json'), 'utf-8') ) const nameMapping = JSON.parse( readFileSync(join(projectRoot, 'manual_name_mapping.json'), 'utf-8') ) return { missingManuals, qaData, metadata, structuredData, semanticIndex, acquisitionList, nameMapping, } } catch (error) { console.error('Error loading dashboard data:', error) return { missingManuals: { summary: {} }, qaData: [], metadata: [], structuredData: [], semanticIndex: {}, acquisitionList: { total_items: 0 }, nameMapping: [], } } } export default async function ManualsDashboardPage() { const data = (await getConvexManualDashboard()) || (await loadDashboardData()) return (

Manual Processing Dashboard

Comprehensive overview of processed manual data, statistics, gap analysis, and optimization results.

) }