diff --git a/src/components/Users/UserDepartmentsTab.tsx b/src/components/Users/UserDepartmentsTab.tsx index 1daa8d10751..ff4d69a5214 100644 --- a/src/components/Users/UserDepartmentsTab.tsx +++ b/src/components/Users/UserDepartmentsTab.tsx @@ -7,6 +7,7 @@ import CareIcon from "@/CAREUI/icons/CareIcon"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; +import { Input } from "@/components/ui/input"; import { CardGridSkeleton } from "@/components/Common/SkeletonLoading"; @@ -14,6 +15,7 @@ import { userChildProps } from "@/components/Common/UserColumns"; import LinkUserToDepartmentSheet from "@/components/Users/LinkUserToDepartmentSheet"; import query from "@/Utils/request/query"; +import useFilters from "@/hooks/useFilters"; import EditFacilityUserRoleSheet from "@/pages/Facility/settings/organizations/components/EditFacilityUserRoleSheet"; import useCurrentFacility from "@/pages/Facility/utils/useCurrentFacility"; import { @@ -113,31 +115,32 @@ function DepartmentCard({ export default function UserDepartmentsTab({ userData }: userChildProps) { const { t } = useTranslation(); const { facilityId } = useCurrentFacility(); + const { qParams, updateQuery, Pagination, resultsPerPage } = useFilters({ + limit: 15, + disableCache: true, + }); const { data: departmentsData, isLoading } = useQuery({ - queryKey: ["facilityOrganizations", "byUser", facilityId, userData.id], - queryFn: query(facilityOrganizationApi.list, { + queryKey: [ + "facilityOrganizations", + "byUser", + facilityId, + userData.id, + qParams, + resultsPerPage, + ], + queryFn: query.debounced(facilityOrganizationApi.list, { pathParams: { facilityId: facilityId! }, queryParams: { containing_user: userData.id, + name: qParams.name || undefined, + limit: resultsPerPage, + offset: ((qParams.page || 1) - 1) * resultsPerPage, }, }), enabled: !!facilityId, }); - if (isLoading) { - return ( -
- {t("no_departments_assigned")} -
-- {t("click_link_department_to_get_started")} -
+ {qParams.name ? ( ++ {t("no_departments_found")} +
+ ) : ( + <> ++ {t("no_departments_assigned")} +
++ {t("click_link_department_to_get_started")} +
+ > + )}