import type { GetServerSideProps } from "next"; import Head from "next/head"; import { Suspense } from "react"; import { Sidebar } from "~/components/area-riservata/sidebar"; import Chat from "~/components/chat/chat"; import { LoadingPage } from "~/components/loading"; import { SiteHeader } from "~/components/navbar/site-header"; import type { NextPageWithLayout } from "~/pages/_app"; import { useTranslation } from "~/providers/I18nProvider"; import type { ChatsChatid } from "~/schemas/public/Chats"; import type { Session } from "~/server/api/trpc"; import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; type UserChatProps = { chatId: ChatsChatid; session: Session; }; const UserChat: NextPageWithLayout = ({ chatId, session, }: UserChatProps) => { const { t } = useTranslation(); return ( <> {t.heads.area_riservata_titolo}
}>
); }; UserChat.getLayout = function getLayout(page) { return (
{page}
); }; export const getServerSideProps = (async (context) => { const access_token = context.req.cookies.access_token; const helper = await TrpcAuthedFetchingIstance({ access_token }); if (helper) { const chat = await helper.trpc.chat.getSessionChats.fetch(); await helper.trpc.messagesSSE.infinite.prefetchInfinite({ chatId: chat.chatid, }); await helper.trpc.chat.getUserInfosByChat.prefetch({ chatId: chat.chatid, }); return { props: { chatId: chat.chatid, session: helper.session, trpcState: helper.trpc.dehydrate(), }, }; } return { redirect: { destination: "/login", permanent: false, }, }; }) satisfies GetServerSideProps; export default UserChat;