feat(admins): add filter functionality to admins list

This commit introduces filtering capabilities to the administrators table, allowing users to refine the list based on specific criteria.

A new `ListHeader` component has been implemented, which now contains the "Create Admin" button and a new "Filter" button. Clicking the filter button opens a modal containing the `AdminListFilters` form. The state for managing the filter modal's visibility is handled within the `useAdminsPresenter` hook. A new `FilterIcon` has also been added to support this feature.
This commit is contained in:
AmirReza Jamali
2025-10-12 15:20:52 +03:30
parent 1f17a1c601
commit 5b73389d64
11 changed files with 191 additions and 26 deletions
+21 -19
View File
@@ -154,25 +154,27 @@ const CustomersTable = () => {
))}
</TableBody>
</Table>
<Modal
onConfirm={() => {
if (!selectedCompanies || !currentCustomer) {
toast.error("Invalid credentials");
return;
}
assignSelectedCompanies({
credentials: selectedCompanies,
id: currentCustomer?.id ?? "",
});
}}
isOpen={isAssignCompanyModalOpen}
onClose={() => setIsAssignCompanyModalOpen(false)}
>
<AssignToCompanyModalContent
setCompanies={setSelectedCompanies}
defaultValues={selectedCompanies}
/>
</Modal>
<div className="w-1/12">
<Modal
onConfirm={() => {
if (!selectedCompanies || !currentCustomer) {
toast.error("Invalid credentials");
return;
}
assignSelectedCompanies({
credentials: selectedCompanies,
id: currentCustomer?.id ?? "",
});
}}
isOpen={isAssignCompanyModalOpen}
onClose={() => setIsAssignCompanyModalOpen(false)}
>
<AssignToCompanyModalContent
setCompanies={setSelectedCompanies}
defaultValues={selectedCompanies}
/>
</Modal>
</div>
{isModalOpen && (
<ConfirmationModal
isOpen={isModalOpen}