import React, { useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Factory, DollarSign, Award, Settings, Brain, Lock, BarChart3, TrendingUp, Target, Zap } from 'lucide-react'; import { PageHeader } from '../../../components/layout'; import { Card, StatsGrid, Button, Tabs } from '../../../components/ui'; import { useSubscription } from '../../../api/hooks/subscription'; import { useCurrentTenant } from '../../../stores/tenant.store'; import { useProductionDashboard } from '../../../api/hooks/production'; // Import all analytics widgets import { TodaysScheduleSummaryWidget, LiveBatchTrackerWidget, OnTimeCompletionWidget, CapacityUtilizationWidget, CostPerUnitWidget, WasteDefectTrackerWidget, YieldPerformanceWidget, QualityScoreTrendsWidget, TopDefectTypesWidget, EquipmentStatusWidget, MaintenanceScheduleWidget, EquipmentEfficiencyWidget, AIInsightsWidget, PredictiveMaintenanceWidget } from '../../../components/domain/production/analytics/widgets'; const ProductionAnalyticsPage: React.FC = () => { const { t } = useTranslation('production'); const { canAccessAnalytics, subscriptionInfo } = useSubscription(); const currentTenant = useCurrentTenant(); const tenantId = currentTenant?.id || ''; const [activeTab, setActiveTab] = useState('overview'); const { data: dashboard, isLoading: dashboardLoading } = useProductionDashboard(tenantId); // Check if user has access to advanced analytics (professional/enterprise) const hasAdvancedAccess = canAccessAnalytics('advanced'); // Show loading state while subscription data is being fetched if (subscriptionInfo.loading) { return (
{t('common.loading') || 'Cargando información de suscripción...'}
{t('subscription.advanced_production_analytics_description')}
{t('mobile.optimized_experience')}
{t('mobile.swipe_scroll_interact')}