infoalloggi-monorepo/apps/infoalloggi/src/pages/area-riservata/dashboard.tsx

46 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-08-04 17:45:44 +02:00
import Head from "next/head";
import {
2025-08-28 18:27:07 +02:00
AdminDashboard,
UserDashboard,
2025-08-04 17:45:44 +02:00
} from "~/components/area-riservata/dashboard";
2025-08-28 18:27:07 +02:00
import { AreaRiservataLayout } from "~/components/Layout";
import type { NextPageWithLayout } from "~/pages/_app";
import { useTranslation } from "~/providers/I18nProvider";
import { useEnforcedSession } from "~/providers/SessionProvider";
2025-08-04 17:45:44 +02:00
/**
* Pagina principale dell'area riservata: /area-riservata/dashboard
* Mostra la dashboard amministrativa o utente a seconda del ruolo.
*/
2025-08-04 17:45:44 +02:00
const Dashboard: NextPageWithLayout = () => {
2025-08-28 18:27:07 +02:00
const { t } = useTranslation();
const session = useEnforcedSession();
2025-08-04 17:45:44 +02:00
2025-08-28 18:27:07 +02:00
return (
<>
<Head>
<title>{t.heads.area_riservata_titolo}</title>
2025-08-29 16:18:32 +02:00
<meta content={t.heads.area_riservata_description} name="description" />
2025-08-28 18:27:07 +02:00
</Head>
2025-08-04 17:45:44 +02:00
2025-08-28 18:27:07 +02:00
{session.user.isAdmin ? (
<AdminDashboard />
) : (
<UserDashboard userId={session.user.id} />
)}
</>
);
2025-08-04 17:45:44 +02:00
};
export default Dashboard;
export async function getServerSideProps() {
return {
props: {},
};
}
2025-08-04 17:45:44 +02:00
Dashboard.getLayout = function getLayout(page) {
2025-08-28 18:27:07 +02:00
return <AreaRiservataLayout>{page}</AreaRiservataLayout>;
2025-08-04 17:45:44 +02:00
};