import { Badge, Box, Container, Flex, Heading, SkeletonText, Table, TableContainer, Tbody, Td, Th, Thead, Tr, } from "@chakra-ui/react" import { useQueryClient, useSuspenseQuery } from "@tanstack/react-query" import { createFileRoute } from "@tanstack/react-router" import { Suspense } from "react" import { type UserPublic, UsersService } from "../../client" import ActionsMenu from "../../components/Common/ActionsMenu" import Navbar from "../../components/Common/Navbar" import AddUser from "../../components/Admin/AddUser" export const Route = createFileRoute("/_layout/admin")({ component: Admin, }) const MembersTableBody = () => { const queryClient = useQueryClient() const currentUser = queryClient.getQueryData(["currentUser"]) const { data: users } = useSuspenseQuery({ queryKey: ["users"], queryFn: () => UsersService.readUsers({}), }) return ( {users.data.map((user) => ( {user.full_name || "N/A"} {currentUser?.id === user.id && ( You )} {user.email} {user.is_superuser ? "Superuser" : "User"} {user.is_active ? "Active" : "Inactive"} ))} ) } const MembersBodySkeleton = () => { return ( {new Array(5).fill(null).map((_, index) => ( ))} ) } function Admin() { return ( User Management }>
Full name Email Role Status Actions
) }