"use client"; import React from "react"; import { Box, Card, CardContent, Grid, Typography, } from "@mui/material"; import Inventory2OutlinedIcon from "@mui/icons-material/Inventory2Outlined"; import MonetizationOnOutlinedIcon from "@mui/icons-material/MonetizationOnOutlined"; import LayersOutlinedIcon from "@mui/icons-material/LayersOutlined"; import SearchOutlinedIcon from "@mui/icons-material/SearchOutlined"; import LocalShippingOutlinedIcon from "@mui/icons-material/LocalShippingOutlined"; import OutboundOutlinedIcon from "@mui/icons-material/OutboundOutlined"; import BarChartOutlinedIcon from "@mui/icons-material/BarChartOutlined"; import PieChartOutlineOutlinedIcon from "@mui/icons-material/PieChartOutlineOutlined"; import type { SvgIconComponent } from "@mui/icons-material"; import { REPORTS } from "@/config/reportConfig"; import { REPORT_CATEGORIES, type ReportCategoryConfig } from "./reportCategories"; const REPORT_ICON_MAP: Record = { "rep-011": Inventory2OutlinedIcon, "rep-007": MonetizationOnOutlinedIcon, "rep-012": LayersOutlinedIcon, "rep-010": SearchOutlinedIcon, "rep-004": LocalShippingOutlinedIcon, "rep-014": LocalShippingOutlinedIcon, "rep-008": OutboundOutlinedIcon, "rep-009": OutboundOutlinedIcon, "rep-013": LocalShippingOutlinedIcon, "rep-006": BarChartOutlinedIcon, "rep-005": PieChartOutlineOutlinedIcon, "rep-015": LayersOutlinedIcon, }; const reportById = Object.fromEntries(REPORTS.map((r) => [r.id, r])); interface ReportSelectionDashboardProps { selectedReportId: string; onSelectReport: (reportId: string) => void; } function ReportCard({ reportId, title, accent, selected, onClick, }: { reportId: string; title: string; accent: string; selected: boolean; onClick: () => void; }) { const Icon = REPORT_ICON_MAP[reportId] ?? Inventory2OutlinedIcon; return ( {title} ); } function CategoryColumn({ category, selectedReportId, onSelectReport, }: { category: ReportCategoryConfig; selectedReportId: string; onSelectReport: (reportId: string) => void; }) { const reports = category.reportIds .map((id) => reportById[id]) .filter(Boolean); return ( {category.title} {reports.map((report) => ( onSelectReport(report.id)} /> ))} ); } export default function ReportSelectionDashboard({ selectedReportId, onSelectReport, }: ReportSelectionDashboardProps) { return ( {REPORT_CATEGORIES.map((category) => ( ))} ); }