import React from 'react'; import { useGridStore } from '../../store/gridStore'; import { Card, CardContent, CardHeader, CardTitle } from '../ui/card'; import { Activity, Clock, HardDrive, Route } from 'lucide-react'; export const MetricsPanel: React.FC = () => { const { searchResult, planResult } = useGridStore(); const result = searchResult || planResult; if (!result) { return null; } const metrics = [ { label: 'Cost', value: 'cost' in result ? result.cost : result.totalCost, icon: Route, }, { label: 'Nodes', value: 'nodesExpanded' in result ? result.nodesExpanded : result.totalNodesExpanded, icon: Activity, }, { label: 'Runtime', value: `${result.runtimeMs.toFixed(1)}ms`, icon: Clock, }, { label: 'Memory', value: `${result.memoryKb.toFixed(2)}KB`, icon: HardDrive, }, ]; return ( Results
{metrics.map((metric) => (
{metric.label}

{metric.value}

))}
{searchResult?.plan && (
Path
{searchResult.plan || 'No path found'}
)}
); }; export default MetricsPanel;