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
|
|
|
|
2026-03-09 17:33:02 +01: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;
|
|
|
|
|
|
2025-10-17 18:12:10 +02:00
|
|
|
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
|
|
|
};
|