diff --git a/apps/client/src/features/group/components/group-list.tsx b/apps/client/src/features/group/components/group-list.tsx index d9f2e9fa..d88e1ec0 100644 --- a/apps/client/src/features/group/components/group-list.tsx +++ b/apps/client/src/features/group/components/group-list.tsx @@ -1,7 +1,6 @@ import { Table, Group, Text, Anchor } from "@mantine/core"; import { useGetGroupsQuery } from "@/features/group/queries/group-query"; import { Link } from "react-router-dom"; -import { useCursorPaginate } from "@/hooks/use-cursor-paginate"; import { IconGroupCircle } from "@/components/icons/icon-people-circle.tsx"; import { useTranslation } from "react-i18next"; import { formatMemberCount } from "@/lib"; @@ -10,11 +9,14 @@ import Paginate from "@/components/common/paginate.tsx"; import { queryClient } from "@/main.tsx"; import { getGroupMembers } from "@/features/group/services/group-service.ts"; import { AutoTooltipText } from "@/components/ui/auto-tooltip-text.tsx"; +import { SearchInput } from "@/components/common/search-input.tsx"; +import NoTableResults from "@/components/common/no-table-results.tsx"; +import { usePaginateAndSearch } from "@/hooks/use-paginate-and-search.tsx"; export default function GroupList() { const { t } = useTranslation(); - const { cursor, goNext, goPrev } = useCursorPaginate(); - const { data, isLoading } = useGetGroupsQuery({ cursor }); + const { search, cursor, goNext, goPrev, handleSearch } = usePaginateAndSearch(); + const { data, isLoading } = useGetGroupsQuery({ cursor, query: search }); const prefetchGroupMembers = (groupId: string) => { queryClient.prefetchQuery({ @@ -25,6 +27,7 @@ export default function GroupList() { return ( <> + @@ -35,7 +38,8 @@ export default function GroupList() { - {data?.items.map((group: IGroup, index: number) => ( + {data?.items.length > 0 ? ( + data?.items.map((group: IGroup, index: number) => ( prefetchGroupMembers(group.id)}> - ))} + )) + ) : ( + + )}
diff --git a/apps/client/src/features/space/components/space-list.tsx b/apps/client/src/features/space/components/space-list.tsx index 96a0d74b..21327e30 100644 --- a/apps/client/src/features/space/components/space-list.tsx +++ b/apps/client/src/features/space/components/space-list.tsx @@ -1,6 +1,5 @@ import { Group, Table, Text } from "@mantine/core"; import React, { useState } from "react"; -import { useCursorPaginate } from "@/hooks/use-cursor-paginate"; import { useGetSpacesQuery } from "@/features/space/queries/space-query.ts"; import SpaceSettingsModal from "@/features/space/components/settings-modal.tsx"; import { useDisclosure } from "@mantine/hooks"; @@ -10,11 +9,14 @@ import Paginate from "@/components/common/paginate.tsx"; import { CustomAvatar } from "@/components/ui/custom-avatar.tsx"; import { AvatarIconType } from "@/features/attachments/types/attachment.types.ts"; import { AutoTooltipText } from "@/components/ui/auto-tooltip-text.tsx"; +import { SearchInput } from "@/components/common/search-input.tsx"; +import NoTableResults from "@/components/common/no-table-results.tsx"; +import { usePaginateAndSearch } from "@/hooks/use-paginate-and-search.tsx"; export default function SpaceList() { const { t } = useTranslation(); - const { cursor, goNext, goPrev } = useCursorPaginate(); - const { data, isLoading } = useGetSpacesQuery({ cursor }); + const { search, cursor, goNext, goPrev, handleSearch } = usePaginateAndSearch(); + const { data, isLoading } = useGetSpacesQuery({ cursor, query: search }); const [opened, { open, close }] = useDisclosure(false); const [selectedSpaceId, setSelectedSpaceId] = useState(null); @@ -25,6 +27,7 @@ export default function SpaceList() { return ( <> + @@ -35,7 +38,8 @@ export default function SpaceList() { - {data?.items.map((space, index) => ( + {data?.items.length > 0 ? ( + data?.items.map((space, index) => ( - ))} + )) + ) : ( + + )}