import { Table, Group, Text, Anchor } from "@mantine/core"; import { useGetGroupsQuery } from "@/features/group/queries/group-query"; import { useState } from "react"; import { Link } from "react-router-dom"; import { IconGroupCircle } from "@/components/icons/icon-people-circle.tsx"; import { useTranslation } from "react-i18next"; import { formatMemberCount } from "@/lib"; import { IGroup } from "@/features/group/types/group.types.ts"; import Paginate from "@/components/common/paginate.tsx"; import { queryClient } from "@/main.tsx"; import { getSpaces } from "@/features/space/services/space-service.ts"; import { getGroupMembers } from "@/features/group/services/group-service.ts"; export default function GroupList() { const { t } = useTranslation(); const [page, setPage] = useState(1); const { data, isLoading } = useGetGroupsQuery({ page }); const prefetchGroupMembers = (groupId: string) => { queryClient.prefetchQuery({ queryKey: ["groupMembers", groupId, { page: 1 }], queryFn: () => getGroupMembers(groupId, { page: 1 }), }); }; return ( <> {t("Group")} {t("Members")} {data?.items.map((group: IGroup, index: number) => ( prefetchGroupMembers(group.id)}>
{group.name} {group.description}
{formatMemberCount(group.memberCount, t)}
))}
{data?.items.length > 0 && ( )} ); }