import { Type, User } from "@/interfaces/user"; import {sessionOptions} from "@/lib/session"; import useFilterStore from "@/stores/listFilterStore"; import { redirect, serialize } from "@/utils"; import { requestUser } from "@/utils/api"; import { shouldRedirectHome } from "@/utils/navigation.disabled"; import {withIronSessionSsr} from "iron-session/next"; import Head from "next/head"; import {useRouter} from "next/router"; import { BsChevronLeft} from "react-icons/bs"; import {ToastContainer} from "react-toastify"; import UserList from "../(admin)/Lists/UserList"; export const getServerSideProps = withIronSessionSsr(async ({req, res, query}) => { const user = await requestUser(req, res) if (!user) return redirect("/login") if (shouldRedirectHome(user)) return redirect("/") const {type} = query as {type?: Type} return { props: serialize({user, type}), }; }, sessionOptions); interface Props { user: User type?: Type } export default function UsersListPage({ user, type }: Props) { const [filters, clearFilters] = useFilterStore((state) => [state.userFilters, state.clearUserFilters]); const router = useRouter() return ( <> EnCoach <> f.filter)} renderHeader={(total) => (

Users ({ total })

)} /> ); }