import { AlertDialog, AlertDialogAction, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "@/components/ui/alert-dialog"; import { AlertTriangle } from "lucide-react"; interface ForceCloseDialogProps { isOpen: boolean; onClose: () => void; performanceData?: { timestamp: number; memoryUsageMB: number; cpuUsagePercent?: number; systemMemoryUsageMB?: number; systemMemoryTotalMB?: number; systemCpuPercent?: number; }; } export function ForceCloseDialog({ isOpen, onClose, performanceData, }: ForceCloseDialogProps) { const formatTimestamp = (timestamp: number) => { return new Date(timestamp).toLocaleString(); }; return ( !open && onClose()}>
Force Close Detected
The app was not closed properly the last time it was running. This could indicate a crash or unexpected termination.
{performanceData && (
Last Known State:{" "} {formatTimestamp(performanceData.timestamp)}
{/* Process Metrics */}
Process Metrics
Memory: {performanceData.memoryUsageMB} MB
{performanceData.cpuUsagePercent !== undefined && (
CPU: {performanceData.cpuUsagePercent}%
)}
{/* System Metrics */} {(performanceData.systemMemoryUsageMB !== undefined || performanceData.systemCpuPercent !== undefined) && (
System Metrics
{performanceData.systemMemoryUsageMB !== undefined && performanceData.systemMemoryTotalMB !== undefined && (
Memory: {performanceData.systemMemoryUsageMB} /{" "} {performanceData.systemMemoryTotalMB} MB
)} {performanceData.systemCpuPercent !== undefined && (
CPU: {performanceData.systemCpuPercent}%
)}
)}
)}
OK
); }