"use client"; import { type ReactNode, useState } from "react"; import { usePermissions } from "@/hooks/use-permissions"; import { PageHeader, PaperCard, Input, Select, LoadingState, ErrorState, EmptyState, Table, TableRow, TableCell, Badge, } from "@/components/ui"; import { t } from "@/lib/i18n"; export default function PermissionsPage(): ReactNode { const { data: permissions, loading, error } = usePermissions(); const [search, setSearch] = useState(""); const [resourceFilter, setResourceFilter] = useState("all"); const resources = Array.from(new Set(permissions.map((p) => p.resource))); const filtered = permissions.filter((p) => { if (resourceFilter !== "all" && p.resource !== resourceFilter) return false; if (search) { const q = search.toLowerCase(); return ( p.code.toLowerCase().includes(q) || p.name.toLowerCase().includes(q) || p.description.toLowerCase().includes(q) ); } return true; }); return (