diff --git a/src/web/src/features/secciones/components/DeactivateSeccionModal.tsx b/src/web/src/features/secciones/components/DeactivateSeccionModal.tsx index 07d70cb..c0e0c77 100644 --- a/src/web/src/features/secciones/components/DeactivateSeccionModal.tsx +++ b/src/web/src/features/secciones/components/DeactivateSeccionModal.tsx @@ -18,9 +18,10 @@ interface DeactivateSeccionModalProps { seccionId: number seccionNombre: string activo: boolean + disabled?: boolean } -export function DeactivateSeccionModal({ seccionId, seccionNombre, activo }: DeactivateSeccionModalProps) { +export function DeactivateSeccionModal({ seccionId, seccionNombre, activo, disabled = false }: DeactivateSeccionModalProps) { const [open, setOpen] = useState(false) const { mutate: deactivate, isPending: deactivating } = useDeactivateSeccion() const { mutate: reactivate, isPending: reactivating } = useReactivateSeccion() @@ -38,7 +39,7 @@ export function DeactivateSeccionModal({ seccionId, seccionNombre, activo }: Dea return ( - diff --git a/src/web/src/features/secciones/components/MedioInactivoBanner.tsx b/src/web/src/features/secciones/components/MedioInactivoBanner.tsx new file mode 100644 index 0000000..4c06b84 --- /dev/null +++ b/src/web/src/features/secciones/components/MedioInactivoBanner.tsx @@ -0,0 +1,19 @@ +import { AlertTriangle } from 'lucide-react' +import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert' + +interface MedioInactivoBannerProps { + medioNombre: string +} + +export function MedioInactivoBanner({ medioNombre }: MedioInactivoBannerProps) { + return ( + + + Medio desactivado + + El medio "{medioNombre}" está desactivado. Las operaciones de edición, activación y + desactivación de sus secciones están bloqueadas hasta que se reactive el medio. + + + ) +} diff --git a/src/web/src/features/secciones/components/SeccionesTable.tsx b/src/web/src/features/secciones/components/SeccionesTable.tsx index 7a6f455..555d5b4 100644 --- a/src/web/src/features/secciones/components/SeccionesTable.tsx +++ b/src/web/src/features/secciones/components/SeccionesTable.tsx @@ -11,9 +11,10 @@ import { DeactivateSeccionModal } from './DeactivateSeccionModal' interface SeccionesTableProps { rows: SeccionListItem[] + medioInactivo?: boolean } -export function SeccionesTable({ rows }: SeccionesTableProps) { +export function SeccionesTable({ rows, medioInactivo = false }: SeccionesTableProps) { const navigate = useNavigate() const columns = useMemo[]>( @@ -73,6 +74,7 @@ export function SeccionesTable({ rows }: SeccionesTableProps) { + {medioInactivo && filteredMedio && ( + + )} + ) : ( - + )} {/* Pagination */}