New alert system and panel de control page

This commit is contained in:
Urtzi Alfaro
2025-11-27 15:52:40 +01:00
parent 1a2f4602f3
commit e902419b6e
178 changed files with 20982 additions and 6944 deletions

View File

@@ -64,11 +64,45 @@ export const DemoPage: React.FC = () => {
}
// Check if ready to redirect
const hasUsableData = statusData.total_records_cloned > 100;
// CRITICAL: Wait for inventory, recipes, AND suppliers to complete
// to prevent dashboard from showing SetupWizardBlocker
const progress = statusData.progress || {};
const inventoryReady = progress.inventory?.status === 'completed';
const recipesReady = progress.recipes?.status === 'completed';
const suppliersReady = progress.suppliers?.status === 'completed';
const criticalServicesReady = inventoryReady && recipesReady && suppliersReady;
// Additionally verify that we have minimum required data to bypass SetupWizardBlocker
// The SetupWizardBlocker requires: 3+ ingredients, 1+ suppliers, 1+ recipes
// Ensure progress data exists for all required services
const hasInventoryProgress = !!progress.inventory;
const hasSuppliersProgress = !!progress.suppliers;
const hasRecipesProgress = !!progress.recipes;
// Extract counts with defensive checks
const ingredientsCount = hasInventoryProgress ? (progress.inventory.details?.ingredients || 0) : 0;
const suppliersCount = hasSuppliersProgress ? (progress.suppliers.details?.suppliers || 0) : 0;
const recipesCount = hasRecipesProgress ? (progress.recipes.details?.recipes || 0) : 0;
// Verify we have the minimum required counts
const hasMinimumIngredients = (typeof ingredientsCount === 'number' && ingredientsCount >= 3);
const hasMinimumSuppliers = (typeof suppliersCount === 'number' && suppliersCount >= 1);
const hasMinimumRecipes = (typeof recipesCount === 'number' && recipesCount >= 1);
// Ensure all required services have completed AND we have minimum data
const hasMinimumRequiredData =
hasInventoryProgress &&
hasSuppliersProgress &&
hasRecipesProgress &&
hasMinimumIngredients &&
hasMinimumSuppliers &&
hasMinimumRecipes;
const shouldRedirect =
statusData.status === 'ready' ||
(statusData.status === 'partial' && hasUsableData) ||
(statusData.status === 'failed' && hasUsableData);
(statusData.status === 'ready' && hasMinimumRequiredData) || // Ready status AND minimum required data
(criticalServicesReady && hasMinimumRequiredData); // Critical services done + minimum required data
if (shouldRedirect) {
// Show 100% before redirect