'use client';
import { useState } from 'react';
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import { Header } from '@/components/layouts/header';
import { Card, CardContent, CardHeader, CardTitle, CardDescription, Button, Input } from '@horux/shared-ui';
import { useAuthStore } from '@/stores/auth-store';
import { isGlobalAdminRfc } from '@horux/shared';
import {
getPaquetesCatalogoAdmin,
updatePaqueteCatalogo,
type PaqueteCatalogoAdmin,
} from '@/lib/api/facturacion';
import { formatCurrency } from '@/lib/utils';
import { Package, ShieldAlert, Loader2, CheckCircle2, AlertTriangle, Save } from 'lucide-react';
export default function TimbresCatalogoPage() {
const { user } = useAuthStore();
const queryClient = useQueryClient();
const isGlobalAdmin = isGlobalAdminRfc(user?.tenantRfc, user?.role, user?.platformRoles);
const { data: catalogo = [], isLoading } = useQuery({
queryKey: ['timbres-paquetes-catalogo-admin'],
queryFn: getPaquetesCatalogoAdmin,
enabled: isGlobalAdmin,
});
if (!isGlobalAdmin) {
return (
<>
Acceso restringido
Solo admin global puede editar el catálogo.
>
);
}
return (
<>
Los cambios de precio aplican sólo a compras nuevas.
Los paquetes ya vendidos conservan el precio que pagó el cliente (snapshot).
Desactivar un paquete lo oculta del catálogo público pero no afecta
paquetes vigentes.
Paquetes en el catálogo
Edita precio o da de baja. Orden por cantidad ascendente.
{isLoading ? (