import { getCookie } from "cookies-next"; import type { GetServerSideProps } from "next"; import Head from "next/head"; import { Sidebar } from "~/components/area-riservata/sidebar"; import { ChatSidebar } from "~/components/chat/chat-sidebar"; import { LoadingPage } from "~/components/loading"; import { SiteHeader } from "~/components/navbar/site-header"; import { Status500 } from "~/components/status-page"; import type { NextPageWithLayout } from "~/pages/_app"; import { useSession } from "~/providers/SessionProvider"; import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; import { api } from "~/utils/api"; const AdminChats: NextPageWithLayout = () => { const session = useSession(); const { data: activeChats, isLoading: isLoadingActiveChats } = api.chat.getActiveChats.useQuery(); const { data: inactiveUsers, isLoading: isLoadingInactiveUsers } = api.users.getActiveUsersWithoutChat.useQuery(); if ( session.status === "pending" || isLoadingActiveChats || isLoadingInactiveUsers ) return ; if (session.status !== "success" || !session.user) { window.location.reload(); return ; } if (!activeChats || !inactiveUsers) return ; return ( <> Chat - Infoalloggi.it
); }; export default AdminChats; export const getServerSideProps = (async (context) => { const access_token = context.req.cookies.access_token; const helpers = await TrpcAuthedFetchingIstance({ access_token }); if (helpers) { await helpers.trpc.chat.getActiveChats.prefetch(); await helpers.trpc.users.getActiveUsersWithoutChat.prefetch(); return { props: { trpcState: helpers.trpc.dehydrate(), }, }; } return { props: {}, }; }) satisfies GetServerSideProps; AdminChats.getLayout = function getLayout(page) { return (
{page}
); };