Files
bakery-ia/frontend/src/components/dashboard/InsightsGrid.tsx

130 lines
3.8 KiB
TypeScript
Raw Normal View History

feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
// ================================================================
// frontend/src/components/dashboard/InsightsGrid.tsx
// ================================================================
/**
* Insights Grid - Key metrics at a glance
*
* 2x2 grid of important metrics: savings, inventory, waste, deliveries.
* Mobile-first design with large touch targets.
*/
import React from 'react';
2025-11-20 19:14:49 +01:00
import { useTranslation } from 'react-i18next';
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
import { Insights } from '../../api/hooks/newDashboard';
interface InsightsGridProps {
insights: Insights;
loading?: boolean;
}
const colorConfig = {
green: {
bgColor: 'var(--color-success-50)',
borderColor: 'var(--color-success-200)',
textColor: 'var(--color-success-800)',
detailColor: 'var(--color-success-600)',
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
},
amber: {
bgColor: 'var(--color-warning-50)',
borderColor: 'var(--color-warning-200)',
textColor: 'var(--color-warning-900)',
detailColor: 'var(--color-warning-600)',
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
},
red: {
bgColor: 'var(--color-error-50)',
borderColor: 'var(--color-error-200)',
textColor: 'var(--color-error-900)',
detailColor: 'var(--color-error-600)',
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
},
};
function InsightCard({
color,
2025-11-20 19:14:49 +01:00
i18n,
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
}: {
color: 'green' | 'amber' | 'red';
2025-11-20 19:14:49 +01:00
i18n: {
label: {
key: string;
params?: Record<string, any>;
};
value: {
key: string;
params?: Record<string, any>;
};
detail: {
key: string;
params?: Record<string, any>;
} | null;
};
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
}) {
2025-11-20 19:14:49 +01:00
const { t } = useTranslation('dashboard');
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
const config = colorConfig[color];
2025-11-20 19:14:49 +01:00
// Translate using i18n keys
const displayLabel = t(i18n.label.key, i18n.label.params);
const displayValue = t(i18n.value.key, i18n.value.params);
const displayDetail = i18n.detail ? t(i18n.detail.key, i18n.detail.params) : '';
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
return (
<div
className="border-2 rounded-xl p-4 md:p-6 transition-all duration-200 hover:shadow-lg cursor-pointer"
style={{
backgroundColor: config.bgColor,
borderColor: config.borderColor,
}}
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
>
{/* Label */}
2025-11-20 19:14:49 +01:00
<div className="text-sm md:text-base font-bold mb-2" style={{ color: 'var(--text-primary)' }}>{displayLabel}</div>
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
{/* Value */}
2025-11-20 19:14:49 +01:00
<div className="text-xl md:text-2xl font-bold mb-1" style={{ color: config.textColor }}>{displayValue}</div>
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
{/* Detail */}
2025-11-20 19:14:49 +01:00
<div className="text-sm font-medium" style={{ color: config.detailColor }}>{displayDetail}</div>
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
</div>
);
}
export function InsightsGrid({ insights, loading }: InsightsGridProps) {
if (loading) {
return (
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
{[1, 2, 3, 4].map((i) => (
<div key={i} className="animate-pulse rounded-xl p-6" style={{ backgroundColor: 'var(--bg-tertiary)' }}>
<div className="h-4 rounded w-1/2 mb-3" style={{ backgroundColor: 'var(--bg-quaternary)' }}></div>
<div className="h-8 rounded w-3/4 mb-2" style={{ backgroundColor: 'var(--bg-quaternary)' }}></div>
<div className="h-4 rounded w-2/3" style={{ backgroundColor: 'var(--bg-quaternary)' }}></div>
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
</div>
))}
</div>
);
}
fix: Add comprehensive null guards to all dashboard components This commit fixes React Error #306 (text content mismatch) by ensuring no component ever tries to render undefined values as text content. Changes made across all dashboard components: 1. **Component Entry Guards**: - Added early returns for null/undefined data - Changed `if (loading)` to `if (loading || !data)` pattern - Components now show loading skeleton when data is undefined 2. **Property Access Guards**: - Added `|| fallback` operators for all rendered text - Added optional chaining for nested property access - Added conditional rendering for optional/array fields 3. **Specific Component Fixes**: **HealthStatusCard.tsx**: - Added early return for !healthStatus - Added fallback for status: `healthStatus.status || 'green'` - Added conditional rendering for nextScheduledRun - Added conditional rendering for checklistItems array - Added text fallback: `item.text || ''` **InsightsGrid.tsx**: - Added null check: `if (!insights || !insights.savings || ...)` - Added fallbacks: `insights.savings?.label || 'Savings'` - Added fallbacks for all 4 insight cards **OrchestrationSummaryCard.tsx**: - Added early return for !summary - Added fallback: `summary.message || ''` - Added fallback: `summary.runNumber || 0` - Added array checks: `summary.purchaseOrdersSummary && ...` - Added fallbacks for PO items: `po.supplierName || 'Unknown Supplier'` - Added fallbacks for batch items: `batch.quantity || 0` - Added safe date parsing: `batch.readyByTime ? new Date(...) : 'TBD'` **ProductionTimelineCard.tsx**: - Added early return for !timeline - Added array check: `!timeline.timeline || timeline.timeline.length === 0` - Added fallbacks for all item properties: - `item.statusIcon || '🔵'` - `item.productName || 'Product'` - `item.quantity || 0` - `item.unit || 'units'` - `item.batchNumber || 'N/A'` - `item.priority || 'NORMAL'` - `item.statusText || 'Status'` - `item.progress || 0` **ActionQueueCard.tsx**: - Added early return for !actionQueue - Added safe config lookup with fallback to normal urgency - Added array check: `!actionQueue.actions || ...` - Added property fallbacks: - `action.title || 'Action Required'` - `action.urgency || 'normal'` - `action.subtitle || ''` - `action.estimatedTimeMinutes || 5` - Added array guard: `(action.actions || []).map(...)` - Added fallbacks for counts: `actionQueue.totalActions || 0` **useReasoningTranslation.ts**: - Enhanced formatPOAction with explicit fallbacks - Enhanced formatBatchAction with explicit fallbacks - All translation functions return strings with || operators **DashboardPage.tsx**: - Removed conditional rendering operators (&&) - Components now always render and handle their own null states - Pattern: `<Component data={data} loading={loading} />` 4. **Testing Strategy**: - All components gracefully handle undefined data - Loading states shown when data is undefined - No undefined values can be rendered as text content - Multiple fallback layers ensure strings are always returned This comprehensive fix addresses the root cause of React Error #306 by making all components bulletproof against undefined values.
2025-11-07 20:15:29 +00:00
// Guard against undefined values
if (!insights || !insights.savings || !insights.inventory || !insights.waste || !insights.deliveries) {
return null;
}
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
return (
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
<InsightCard
2025-11-20 19:14:49 +01:00
color={insights.savings.color}
i18n={insights.savings.i18n}
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
/>
<InsightCard
2025-11-20 19:14:49 +01:00
color={insights.inventory.color}
i18n={insights.inventory.i18n}
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
/>
<InsightCard
2025-11-20 19:14:49 +01:00
color={insights.waste.color}
i18n={insights.waste.i18n}
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
/>
<InsightCard
2025-11-20 19:14:49 +01:00
color={insights.deliveries.color}
i18n={insights.deliveries.i18n}
feat: Complete JTBD-aligned bakery dashboard redesign Implements comprehensive dashboard redesign based on Jobs To Be Done methodology focused on answering: "What requires my attention right now?" ## Backend Implementation ### Dashboard Service (NEW) - Health status calculation (green/yellow/red traffic light) - Action queue prioritization (critical/important/normal) - Orchestration summary with narrative format - Production timeline transformation - Insights calculation and consequence prediction ### API Endpoints (NEW) - GET /dashboard/health-status - Overall bakery health indicator - GET /dashboard/orchestration-summary - What system did automatically - GET /dashboard/action-queue - Prioritized tasks requiring attention - GET /dashboard/production-timeline - Today's production schedule - GET /dashboard/insights - Key metrics (savings, inventory, waste, deliveries) ### Enhanced Models - PurchaseOrder: Added reasoning, consequence, reasoning_data fields - ProductionBatch: Added reasoning, reasoning_data fields - Enables transparency into automation decisions ## Frontend Implementation ### API Hooks (NEW) - useBakeryHealthStatus() - Real-time health monitoring - useOrchestrationSummary() - System transparency - useActionQueue() - Prioritized action management - useProductionTimeline() - Production tracking - useInsights() - Glanceable metrics ### Dashboard Components (NEW) - HealthStatusCard: Traffic light indicator with checklist - ActionQueueCard: Prioritized actions with reasoning/consequences - OrchestrationSummaryCard: Narrative of what system did - ProductionTimelineCard: Chronological production view - InsightsGrid: 2x2 grid of key metrics ### Main Dashboard Page (REPLACED) - Complete rewrite with mobile-first design - All sections integrated with error handling - Real-time refresh and quick action links - Old dashboard backed up as DashboardPage.legacy.tsx ## Key Features ### Automation-First - Shows what orchestrator did overnight - Builds trust through transparency - Explains reasoning for all automated decisions ### Action-Oriented - Prioritizes tasks over information display - Clear consequences for each action - Large touch-friendly buttons ### Progressive Disclosure - Shows 20% of info that matters 80% of time - Expandable details when needed - No overwhelming metrics ### Mobile-First - One-handed operation - Large touch targets (min 44px) - Responsive grid layouts ### Trust-Building - Narrative format ("I planned your day") - Reasoning inputs transparency - Clear status indicators ## User Segments Supported 1. Solo Bakery Owner (Primary) - Simple health indicator - Action checklist (max 3-5 items) - Mobile-optimized 2. Multi-Location Owner - Multi-tenant support (existing) - Comparison capabilities - Delegation ready 3. Enterprise/Central Bakery (Future) - Network topology support - Advanced analytics ready ## JTBD Analysis Delivered Main Job: "Help me quickly understand bakery status and know what needs my intervention" Emotional Jobs Addressed: - Feel in control despite automation - Reduce daily anxiety - Feel competent with technology - Trust system as safety net Social Jobs Addressed: - Demonstrate professional management - Avoid being bottleneck - Show sustainability ## Technical Stack Backend: Python, FastAPI, SQLAlchemy, PostgreSQL Frontend: React, TypeScript, TanStack Query, Tailwind CSS Architecture: Microservices with circuit breakers ## Breaking Changes - Complete dashboard page rewrite (old version backed up) - New API endpoints require orchestrator service deployment - Database migrations needed for reasoning fields ## Migration Required Run migrations to add new model fields: - purchase_orders: reasoning, consequence, reasoning_data - production_batches: reasoning, reasoning_data ## Documentation See DASHBOARD_REDESIGN_SUMMARY.md for complete implementation details, JTBD analysis, success metrics, and deployment guide. BREAKING CHANGE: Dashboard page completely redesigned with new data structures
2025-11-07 17:10:17 +00:00
/>
</div>
);
}