From 75916adfee506e4e8cb0c45495dacf4bfa89be7a Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 7 Nov 2025 10:00:33 +0000 Subject: [PATCH] Make suppliers and ML training steps unconditional + rewrite completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CHANGES: 1. **Make suppliers-setup unconditional:** - Removed isConditional: true and condition - Suppliers step now ALWAYS appears in onboarding flow - No longer depends on stockEntryCompleted flag 2. **Make ml-training unconditional:** - Removed isConditional: true and condition - ML training step now ALWAYS appears in onboarding flow - No longer depends on aiAnalysisComplete flag 3. **Completely rewrote CompletionStep content:** - Changed title: "¡Felicidades! Tu Sistema Está Listo" - Shows what user HAS ACCOMPLISHED during onboarding: ✓ Información de Panadería ✓ Inventario con IA ✓ Proveedores Agregados ✓ Recetas Configuradas ✓ Calidad Establecida ✓ Equipo Invitado ✓ Modelo IA Entrenado - REMOVED misleading "One More Thing" section that asked users to configure things they JUST configured - Changed next steps to celebrate accomplishments and guide to dashboard - Updated buttons: "Ir al Panel de Control →" (single clear CTA) FIXES: - User frustration: suppliers and ML training steps were hidden - User confusion: completion message didn't make sense - asking to configure suppliers, inventory, recipes after they just did it ONBOARDING FLOW NOW: 1. bakery-type-selection 2. setup 3. smart-inventory-setup 4. product-categorization 5. initial-stock-entry 6. suppliers-setup ✓ ALWAYS SHOWS 7. recipes-setup (conditional on bakery type) 8. production-processes (conditional on bakery type) 9. quality-setup 10. team-setup 11. ml-training ✓ ALWAYS SHOWS 12. setup-review 13. completion (celebrates accomplishments!) Files Modified: - frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx - frontend/src/components/domain/onboarding/steps/CompletionStep.tsx --- .../onboarding/UnifiedOnboardingWizard.tsx | 6 +- .../onboarding/steps/CompletionStep.tsx | 246 +++++++++--------- 2 files changed, 128 insertions(+), 124 deletions(-) diff --git a/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx b/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx index 93be1085..6f66728c 100644 --- a/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx +++ b/frontend/src/components/domain/onboarding/UnifiedOnboardingWizard.tsx @@ -103,8 +103,7 @@ const OnboardingWizardContent: React.FC = () => { title: t('onboarding:steps.suppliers.title', 'Proveedores'), description: t('onboarding:steps.suppliers.description', 'Configura tus proveedores'), component: SuppliersSetupStep, - isConditional: true, - condition: (ctx) => ctx.state.stockEntryCompleted, + // Always show - no conditional }, { id: 'recipes-setup', @@ -147,8 +146,7 @@ const OnboardingWizardContent: React.FC = () => { title: t('onboarding:steps.ml_training.title', 'Entrenamiento IA'), description: t('onboarding:steps.ml_training.description', 'Modelo personalizado'), component: MLTrainingStep, - isConditional: true, - condition: (ctx) => ctx.state.aiAnalysisComplete, + // Always show - no conditional }, { id: 'setup-review', diff --git a/frontend/src/components/domain/onboarding/steps/CompletionStep.tsx b/frontend/src/components/domain/onboarding/steps/CompletionStep.tsx index 548a5903..bd013ee0 100644 --- a/frontend/src/components/domain/onboarding/steps/CompletionStep.tsx +++ b/frontend/src/components/domain/onboarding/steps/CompletionStep.tsx @@ -19,14 +19,14 @@ export const CompletionStep: React.FC = ({ const navigate = useNavigate(); const currentTenant = useCurrentTenant(); - const handleGetStarted = () => { - onComplete({ redirectTo: '/app' }); - navigate('/app'); + const handleStartUsingSystem = () => { + onComplete({ redirectTo: '/app/dashboard' }); + navigate('/app/dashboard'); }; - const handleContinueSetup = () => { - onComplete({ redirectTo: '/app/setup' }); - navigate('/app/setup'); + const handleExploreDashboard = () => { + onComplete({ redirectTo: '/app/dashboard' }); + navigate('/app/dashboard'); }; return ( @@ -41,142 +41,148 @@ export const CompletionStep: React.FC = ({ {/* Success Message */}

- {t('onboarding:completion.welcome', '¡Bienvenido a Bakery IA!')} + {t('onboarding:completion.congratulations', '¡Felicidades! Tu Sistema Está Listo')}

- {t('onboarding:completion.ready_message', 'Tu panadería {{name}} está lista para usar nuestro sistema de gestión inteligente.', { name: currentTenant?.name })} + {t('onboarding:completion.all_configured', 'Has configurado exitosamente {{name}} con nuestro sistema de gestión inteligente. Todo está listo para empezar a optimizar tu panadería.', { name: currentTenant?.name })}

- {/* Summary Cards */} -
-
-
- - - -
-

{t('onboarding:completion.bakery_registered', 'Panadería Registrada')}

-

- {t('onboarding:completion.bakery_info_ready', 'Tu información empresarial está configurada y lista')} -

-
- -
-
- - - -
-

{t('onboarding:completion.inventory_created', 'Inventario Creado')}

-

- {t('onboarding:completion.products_configured', 'Tus productos base están configurados con datos iniciales')} -

-
- -
-
- - - -
-

{t('onboarding:completion.ai_trained', 'IA Entrenada')}

-

- {t('onboarding:completion.ai_ready', 'Tu modelo de inteligencia artificial está listo para predecir demanda')} -

-
-
- - {/* One More Thing - Setup Wizard CTA */} -
-
-
- ✨ -
-
-

{t('onboarding:completion.one_more_thing', '¡Una cosa más!')}

-

- {t('onboarding:completion.maximize_message', 'Para aprovechar al máximo el sistema, configura tus operaciones diarias: proveedores, inventario, recetas y estándares de calidad.')} -

-
- - + {/* What You Configured */} +
+

+ {t('onboarding:completion.what_configured', 'Lo Que Has Configurado')} +

+
+
+
+ + - {t('onboarding:completion.time_estimate', 'Toma solo 15-20 minutos')} +
+
+

{t('onboarding:completion.bakery_info', 'Información de Panadería')}

+

{t('onboarding:completion.bakery_info_desc', 'Datos básicos registrados')}

+
+
+ +
+
+ + + +
+
+

{t('onboarding:completion.inventory_ai', 'Inventario con IA')}

+

{t('onboarding:completion.inventory_ai_desc', 'Productos analizados y categorizados')}

+
+
+ +
+
+ + + +
+
+

{t('onboarding:completion.suppliers_added', 'Proveedores Agregados')}

+

{t('onboarding:completion.suppliers_added_desc', 'Red de suministro configurada')}

+
+
+ +
+
+ + + +
+
+

{t('onboarding:completion.recipes_configured', 'Recetas Configuradas')}

+

{t('onboarding:completion.recipes_configured_desc', 'Producción lista para usar')}

+
+
+ +
+
+ + + +
+
+

{t('onboarding:completion.quality_set', 'Calidad Establecida')}

+

{t('onboarding:completion.quality_set_desc', 'Estándares definidos')}

+
+
+ +
+
+ + + +
+
+

{t('onboarding:completion.team_invited', 'Equipo Invitado')}

+

{t('onboarding:completion.team_invited_desc', 'Colaboradores configurados')}

+
+
+ +
+
+ + + +
+
+

{t('onboarding:completion.ml_model_trained', 'Modelo IA Entrenado')}

+

{t('onboarding:completion.ml_model_trained_desc', 'Predicciones personalizadas activas')}

{/* Next Steps */} -
-

{t('onboarding:completion.what_to_configure', 'Lo Que Configurarás')}

-
-
-
- 📦 -
-
-

{t('onboarding:completion.suppliers_inventory', 'Proveedores e Inventario')}

-

- {t('onboarding:completion.stock_tracking', 'Tracking automático de stock')} -

-
+
+
+
+ 🚀
- -
-
- 👨‍🍳 -
-
-

{t('onboarding:completion.recipes', 'Recetas')}

-

- {t('onboarding:completion.auto_costs', 'Costos automáticos por producto')} -

-
-
- -
-
- ✅ -
-
-

{t('onboarding:completion.quality_standards', 'Estándares de Calidad')}

-

- {t('onboarding:completion.production_monitoring', 'Monitoreo de producción')} -

-
-
- -
-
- 👥 -
-
-

{t('onboarding:completion.team', 'Equipo')}

-

- {t('onboarding:completion.coordination', 'Coordinación y tareas')} -

+
+

{t('onboarding:completion.ready_to_start', '¡Listo para Empezar!')}

+

+ {t('onboarding:completion.explore_message', 'Ahora puedes explorar el panel de control y comenzar a gestionar tu panadería con inteligencia artificial.')} +

+
+
+ + + + {t('onboarding:completion.view_analytics', 'Ve análisis y predicciones de demanda')} +
+
+ + + + {t('onboarding:completion.manage_operations', 'Gestiona producción y operaciones diarias')} +
+
+ + + + {t('onboarding:completion.optimize_costs', 'Optimiza costos y reduce desperdicios')} +
{/* Action Buttons */} -
+
-