diff --git a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/allegati/[userId].tsx b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/allegati/[userId].tsx index 1957544..55c08af 100644 --- a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/allegati/[userId].tsx +++ b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/allegati/[userId].tsx @@ -1,8 +1,9 @@ -import type { GetStaticProps } from "next"; +import type { GetServerSideProps } from "next"; import { AllegatiComp } from "~/components/area-riservata/allegati"; import { AreaRiservataLayoutUserView } from "~/components/Layout"; import type { NextPageWithLayout } from "~/pages/_app"; import type { UsersId } from "~/schemas/public/Users"; +import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; import { zUserId } from "~/server/utils/zod_types"; type AllegatiProps = { @@ -20,7 +21,7 @@ const AllegatiUser: NextPageWithLayout = ({ }; export default AllegatiUser; -export const getStaticProps: GetStaticProps = (context) => { +export const getServerSideProps = (async (context) => { const userId = context.params?.userId; if (typeof userId !== "string") { return { @@ -35,17 +36,24 @@ export const getStaticProps: GetStaticProps = (context) => { notFound: true, }; } + const access_token = context.req.cookies.access_token; - return { - props: { + const helpers = await TrpcAuthedFetchingIstance({ access_token }); + if (helpers) { + await helpers.trpc.storage.getUserStorage.prefetch({ userId: parsed.data, - }, + }); + return { + props: { + userId: parsed.data, + trpcState: helpers.trpc.dehydrate(), + }, + }; + } + return { + notFound: true, }; -}; - -export const getStaticPaths = () => { - return { fallback: "blocking", paths: [] }; -}; +}) satisfies GetServerSideProps; AllegatiUser.getLayout = function getLayout(page) { return {page}; diff --git a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/comunicazioni/[userId].tsx b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/comunicazioni/[userId].tsx index 48c6580..8e248fc 100644 --- a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/comunicazioni/[userId].tsx +++ b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/comunicazioni/[userId].tsx @@ -1,8 +1,9 @@ -import type { GetStaticProps } from "next"; +import type { GetServerSideProps } from "next"; import { EmailAccordion } from "~/components/area-riservata/comunicazioni"; import { AreaRiservataLayoutUserView } from "~/components/Layout"; import type { NextPageWithLayout } from "~/pages/_app"; import type { UsersId } from "~/schemas/public/Users"; +import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; import { zUserId } from "~/server/utils/zod_types"; type ComunicazioniUserProps = { @@ -28,7 +29,8 @@ const ComunicazioniUser: NextPageWithLayout = ({ }; export default ComunicazioniUser; -export const getStaticProps: GetStaticProps = (context) => { + +export const getServerSideProps = (async (context) => { const userId = context.params?.userId; if (typeof userId !== "string") { return { @@ -43,13 +45,24 @@ export const getStaticProps: GetStaticProps = (context) => { notFound: true, }; } + const access_token = context.req.cookies.access_token; - return { - props: { + const helpers = await TrpcAuthedFetchingIstance({ access_token }); + if (helpers) { + await helpers.trpc.comunicazioni.getEmails.prefetch({ userId: parsed.data, - }, + }); + return { + props: { + userId: parsed.data, + trpcState: helpers.trpc.dehydrate(), + }, + }; + } + return { + notFound: true, }; -}; +}) satisfies GetServerSideProps; export const getStaticPaths = () => { return { fallback: "blocking", paths: [] }; diff --git a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/edit-user/[userId].tsx b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/edit-user/[userId].tsx index 8d1a088..beb9a09 100644 --- a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/edit-user/[userId].tsx +++ b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/edit-user/[userId].tsx @@ -7,7 +7,7 @@ import { Unlock, UserCircle, } from "lucide-react"; -import type { GetStaticProps } from "next"; +import type { GetServerSideProps } from "next"; import { useRouter } from "next/router"; import toast from "react-hot-toast"; import { AreaRiservataLayoutUserView } from "~/components/Layout"; @@ -32,6 +32,7 @@ import { ProfileFormAccount } from "~/forms/FormProfilo_Account"; import { ProfileFormAnagrafica } from "~/forms/FormProfilo_Anagrafica"; import type { NextPageWithLayout } from "~/pages/_app"; import type { UsersId } from "~/schemas/public/Users"; +import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; import { zUserId } from "~/server/utils/zod_types"; import { api } from "~/utils/api"; @@ -211,7 +212,7 @@ const EditUser: NextPageWithLayout = ({ }; export default EditUser; -export const getStaticProps: GetStaticProps = (context) => { +export const getServerSideProps = (async (context) => { const userId = context.params?.userId; if (typeof userId !== "string") { return { @@ -226,17 +227,24 @@ export const getStaticProps: GetStaticProps = (context) => { notFound: true, }; } + const access_token = context.req.cookies.access_token; + const helpers = await TrpcAuthedFetchingIstance({ access_token }); + if (helpers) { + await helpers.trpc.users.getClientProfilo.prefetch({ + id: parsed.data, + }); + return { + props: { + userId: parsed.data, + trpcState: helpers.trpc.dehydrate(), + }, + }; + } return { - props: { - userId: parsed.data, - }, + notFound: true, }; -}; - -export const getStaticPaths = () => { - return { fallback: "blocking", paths: [] }; -}; +}) satisfies GetServerSideProps; EditUser.getLayout = function getLayout(page) { return {page}; diff --git a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ordini/[userId].tsx b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ordini/[userId].tsx index 02c188a..fb98d9c 100644 --- a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ordini/[userId].tsx +++ b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ordini/[userId].tsx @@ -1,10 +1,11 @@ -import type { GetStaticProps } from "next"; +import type { GetServerSideProps } from "next"; import { AreaRiservataLayoutUserView } from "~/components/Layout"; import { LoadingPage } from "~/components/loading"; import { Status500 } from "~/components/status-page"; import { OrdiniTable } from "~/components/tables/orders-table"; import type { NextPageWithLayout } from "~/pages/_app"; import type { UsersId } from "~/schemas/public/Users"; +import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; import { zUserId } from "~/server/utils/zod_types"; import { api } from "~/utils/api"; @@ -37,7 +38,7 @@ const OrdiniUser: NextPageWithLayout = ({ }; export default OrdiniUser; -export const getStaticProps: GetStaticProps = (context) => { +export const getServerSideProps = (async (context) => { const userId = context.params?.userId; if (typeof userId !== "string") { return { @@ -52,17 +53,24 @@ export const getStaticProps: GetStaticProps = (context) => { notFound: true, }; } + const access_token = context.req.cookies.access_token; - return { - props: { + const helpers = await TrpcAuthedFetchingIstance({ access_token }); + if (helpers) { + await helpers.trpc.servizio.getOrdini.prefetch({ userId: parsed.data, - }, + }); + return { + props: { + userId: parsed.data, + trpcState: helpers.trpc.dehydrate(), + }, + }; + } + return { + notFound: true, }; -}; - -export const getStaticPaths = () => { - return { fallback: "blocking", paths: [] }; -}; +}) satisfies GetServerSideProps; OrdiniUser.getLayout = function getLayout(page) { return {page}; diff --git a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ricerca/[userId].tsx b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ricerca/[userId].tsx index e1df60b..68d59df 100644 --- a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ricerca/[userId].tsx +++ b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/ricerca/[userId].tsx @@ -1,9 +1,10 @@ -import type { GetStaticProps } from "next"; +import type { GetServerSideProps } from "next"; import { AreaRiservataLayoutUserView } from "~/components/Layout"; import { AnnunciRichiesti } from "~/components/servizio/servizio_annunci_accordions"; import { TabRicerca } from "~/components/tables/ricerca-table"; import type { NextPageWithLayout } from "~/pages/_app"; import type { UsersId } from "~/schemas/public/Users"; +import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; import { zUserId } from "~/server/utils/zod_types"; type RicercaUserProps = { @@ -46,7 +47,7 @@ const RicercaUser: NextPageWithLayout = ({ RicercaUser.getLayout = (page) => { return {page}; }; -export const getStaticProps: GetStaticProps = (context) => { +export const getServerSideProps = (async (context) => { const userId = context.params?.userId; if (typeof userId !== "string") { return { @@ -61,16 +62,26 @@ export const getStaticProps: GetStaticProps = (context) => { notFound: true, }; } + const access_token = context.req.cookies.access_token; - return { - props: { + const helpers = await TrpcAuthedFetchingIstance({ access_token }); + if (helpers) { + await helpers.trpc.intrests.getUserInterestsAnnunci.prefetch({ userId: parsed.data, - }, + }); + await helpers.trpc.servizio.getAllServizioAnnunci.prefetch({ + userId: parsed.data, + }); + return { + props: { + userId: parsed.data, + trpcState: helpers.trpc.dehydrate(), + }, + }; + } + return { + notFound: true, }; -}; - -export const getStaticPaths = () => { - return { fallback: "blocking", paths: [] }; -}; +}) satisfies GetServerSideProps; export default RicercaUser; diff --git a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/servizio/[userId].tsx b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/servizio/[userId].tsx index 0294559..ae1e9d4 100644 --- a/apps/infoalloggi/src/pages/area-riservata/admin/user-view/servizio/[userId].tsx +++ b/apps/infoalloggi/src/pages/area-riservata/admin/user-view/servizio/[userId].tsx @@ -1,4 +1,4 @@ -import type { GetStaticProps } from "next"; +import type { GetServerSideProps } from "next"; import { useState } from "react"; import toast from "react-hot-toast"; import { AreaRiservataLayoutUserView } from "~/components/Layout"; @@ -16,6 +16,7 @@ import { FormNewServizio, type FormValues } from "~/forms/FormNewServizio"; import type { NextPageWithLayout } from "~/pages/_app"; import type { Servizio } from "~/schemas/public/Servizio"; import type { UsersId } from "~/schemas/public/Users"; +import { TrpcAuthedFetchingIstance } from "~/server/utils/ssgHelper"; import { zUserId } from "~/server/utils/zod_types"; import { api } from "~/utils/api"; @@ -49,7 +50,7 @@ const ServizioUser: NextPageWithLayout = ({ }; export default ServizioUser; -export const getStaticProps: GetStaticProps = (context) => { +export const getServerSideProps = (async (context) => { const userId = context.params?.userId; if (typeof userId !== "string") { return { @@ -64,18 +65,25 @@ export const getStaticProps: GetStaticProps = (context) => { notFound: true, }; } + const access_token = context.req.cookies.access_token; - return { - props: { + const helpers = await TrpcAuthedFetchingIstance({ access_token }); + if (helpers) { + await helpers.trpc.servizio.getUserServizi.prefetch({ userId: parsed.data, - }, + }); + + return { + props: { + userId: parsed.data, + trpcState: helpers.trpc.dehydrate(), + }, + }; + } + return { + notFound: true, }; -}; - -export const getStaticPaths = () => { - return { fallback: "blocking", paths: [] }; -}; - +}) satisfies GetServerSideProps; ServizioUser.getLayout = function getLayout(page) { return {page}; }; diff --git a/apps/infoalloggi/src/server/api/routers/comunicazioni.ts b/apps/infoalloggi/src/server/api/routers/comunicazioni.ts index 4fa7765..b739d3b 100644 --- a/apps/infoalloggi/src/server/api/routers/comunicazioni.ts +++ b/apps/infoalloggi/src/server/api/routers/comunicazioni.ts @@ -1,39 +1,38 @@ import { z } from "zod/v4"; -import { createTRPCRouter, publicProcedure } from "~/server/api/trpc"; -import { GetEmails, StoreEmail } from "~/server/services/email.service"; -import { genMail, type MailsTemplates } from "~/server/services/mailer"; +import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc"; +import { GetEmails } from "~/server/services/email.service"; import { zUserId } from "~/server/utils/zod_types"; export const comunicazioniRouter = createTRPCRouter({ - genEmail: publicProcedure - .input( - z.object({ - mail: z.custom(), - }), - ) - .query(async ({ input }) => { - return await genMail({ - ...input.mail, - }); - }), - getEmails: publicProcedure + // genEmail: publicProcedure + // .input( + // z.object({ + // mail: z.custom(), + // }), + // ) + // .query(async ({ input }) => { + // return await genMail({ + // ...input.mail, + // }); + // }), + getEmails: protectedProcedure .input(z.object({ userId: zUserId })) .query(async ({ input }) => { return await GetEmails({ userId: input.userId, }); }), - storeEmail: publicProcedure - .input( - z.object({ - data: z.custom(), - userId: zUserId, - }), - ) - .mutation(async ({ input }) => { - return await StoreEmail({ - data: input.data, - userId: input.userId, - }); - }), + // storeEmail: publicProcedure + // .input( + // z.object({ + // data: z.custom(), + // userId: zUserId, + // }), + // ) + // .mutation(async ({ input }) => { + // return await StoreEmail({ + // data: input.data, + // userId: input.userId, + // }); + // }), });