"use client"; import { useState } from "react"; import { FileDown, Loader2 } from "lucide-react"; import { useExport } from "@/hooks/useExport"; import { Toast } from "@/components/Toast"; export function ExportPanel() { const { exportSnapshot, exportAuditTrail, isLoading, error } = useExport(); const [successMessage, setSuccessMessage] = useState(null); const handleExportSnapshot = async (format: "csv" | "xlsx") => { try { setSuccessMessage(null); await exportSnapshot(format); const formatName = format === "csv" ? "CSV" : "Excel"; setSuccessMessage(`Inventory snapshot exported as ${formatName}`); setTimeout(() => setSuccessMessage(null), 4000); } catch (err) { // Error handled by useExport hook } }; const handleExportAuditTrail = async (format: "csv" | "xlsx") => { try { setSuccessMessage(null); await exportAuditTrail(format); const formatName = format === "csv" ? "CSV" : "Excel"; setSuccessMessage(`Audit trail exported as ${formatName}`); setTimeout(() => setSuccessMessage(null), 4000); } catch (err) { // Error handled by useExport hook } }; return (

Export & Reports

Download inventory snapshots and audit trails in CSV or Excel formats

{/* Inventory Snapshot Section */}

Inventory Snapshot

Export current inventory state with all item details

{/* Audit Trail Section */}

Audit Trail

Export complete audit log of all system actions and changes

{/* Status Messages */} {error && ( {}} /> )} {successMessage && ( {}} /> )}
); }