"use client"; import { useState } from "react"; import { Alert, Input, Modal } from "../../UI"; import { ArchivedRoleTable } from "./ArchivedRoleTable"; import { ArchivedRoleDetailModal } from "./ArchivedRoleDetailModal"; import { useArchivedRoles } from "@/src/hooks/archive/useArchiveRole"; interface ArchivedRolesModalProps { onClose: () => void; } const searchIcon = ( ); export function ArchivedRolesModal({ onClose }: ArchivedRolesModalProps) { const [viewRoleId, setViewRoleId] = useState(null); const { roles, loading, total, pages, error, page, search, setPage, handleSearch, clearError, } = useArchivedRoles(); return ( <> {viewRoleId && ( setViewRoleId(null)} /> )} {/* search — client-side, since /role/archived has no search param */} handleSearch(e.target.value)} icon={searchIcon} dir="rtl" /> {/* general fetch error — fallback UI */} {error && } setViewRoleId(role.id)} onPageChange={setPage} /> > ); }