import React, { useState } from 'react';
import {
ShoppingCart,
TrendingUp,
AlertCircle,
Target,
DollarSign,
Award,
Lock,
BarChart3,
Package,
Truck,
Calendar
} from 'lucide-react';
import {
LineChart,
Line,
XAxis,
YAxis,
CartesianGrid,
Tooltip,
ResponsiveContainer,
Legend
} from 'recharts';
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 { useProcurementDashboard, useProcurementTrends } from '../../../api/hooks/procurement';
import { formatters } from '../../../components/ui/Stats/StatsPresets';
const ProcurementAnalyticsPage: React.FC = () => {
const { canAccessAnalytics, subscriptionInfo } = useSubscription();
const currentTenant = useCurrentTenant();
const tenantId = currentTenant?.id || '';
const [activeTab, setActiveTab] = useState('overview');
const { data: dashboard, isLoading: dashboardLoading } = useProcurementDashboard(tenantId);
const { data: trends, isLoading: trendsLoading } = useProcurementTrends(tenantId, 7);
// 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 (
Cargando información de suscripción...
);
}
// If user doesn't have access to advanced analytics, show upgrade message
if (!hasAdvancedAccess) {
return (
Funcionalidad Exclusiva para Profesionales y Empresas
La analítica avanzada de compras está disponible solo para planes Professional y Enterprise.
Actualiza tu plan para acceder a análisis detallados de proveedores, optimización de costos y métricas de rendimiento.