// ================================================================ // frontend/src/components/dashboard/OrchestrationSummaryCard.tsx // ================================================================ /** * Orchestration Summary Card - What the system did for you * * Builds trust by showing transparency into automation decisions. * Narrative format makes it feel like a helpful assistant. */ import React, { useState } from 'react'; import { Bot, TrendingUp, Package, Clock, CheckCircle, FileText, Users, Database, Brain, ChevronDown, ChevronUp, } from 'lucide-react'; import { OrchestrationSummary } from '../../api/hooks/newDashboard'; import { formatDistanceToNow } from 'date-fns'; interface OrchestrationSummaryCardProps { summary: OrchestrationSummary; loading?: boolean; } export function OrchestrationSummaryCard({ summary, loading }: OrchestrationSummaryCardProps) { const [expanded, setExpanded] = useState(false); if (loading) { return (
); } // Handle case where no orchestration has run yet if (summary.status === 'no_runs') { return (

Ready to Plan Your Bakery Day

{summary.message}

); } const runTime = summary.runTimestamp ? formatDistanceToNow(new Date(summary.runTimestamp), { addSuffix: true }) : 'recently'; return (
{/* Header */}

Last Night I Planned Your Day

Orchestration run #{summary.runNumber} • {runTime} {summary.durationSeconds && ( • Took {summary.durationSeconds}s )}
{/* Purchase Orders Created */} {summary.purchaseOrdersCreated > 0 && (

Created {summary.purchaseOrdersCreated} purchase order {summary.purchaseOrdersCreated !== 1 ? 's' : ''}

{summary.purchaseOrdersSummary.length > 0 && ( )}
)} {/* Production Batches Created */} {summary.productionBatchesCreated > 0 && (

Scheduled {summary.productionBatchesCreated} production batch {summary.productionBatchesCreated !== 1 ? 'es' : ''}

{summary.productionBatchesSummary.length > 0 && ( )} {summary.productionBatchesSummary.length > 3 && ( )}
)} {/* No actions created */} {summary.purchaseOrdersCreated === 0 && summary.productionBatchesCreated === 0 && (

No new actions needed - everything is on track!

)} {/* Reasoning Inputs (How decisions were made) */}

Based on:

{summary.reasoningInputs.customerOrders > 0 && (
{summary.reasoningInputs.customerOrders} customer order {summary.reasoningInputs.customerOrders !== 1 ? 's' : ''}
)} {summary.reasoningInputs.historicalDemand && (
Historical demand
)} {summary.reasoningInputs.inventoryLevels && (
Inventory levels
)} {summary.reasoningInputs.aiInsights && (
AI optimization
)}
{/* Actions Required Footer */} {summary.userActionsRequired > 0 && (

{summary.userActionsRequired} item{summary.userActionsRequired !== 1 ? 's' : ''} need {summary.userActionsRequired === 1 ? 's' : ''} your approval before proceeding

)}
); }