import type { GetServerSideProps, NextPage } from "next";
import Head from "next/head";
import { useTranslation } from "~/providers/I18nProvider";
import type { TestiEStringheStingaId } from "~/schemas/public/TestiEStringhe";
import { generateSSGHelper } from "~/server/utils/ssgHelper";
import { api } from "~/utils/api";

/**
 * Pagina termini e condizioni: /termini-condizioni
 */
const Termini_Condizioni: NextPage = () => {
	const { t, locale } = useTranslation();
	const key = (
		locale === "en" ? "TERMINI_CONDIZIONI_ENG" : "TERMINI_CONDIZIONI"
	) as TestiEStringheStingaId;
	const { data } = api.strings.getStringa.useQuery({
		stringaId: key,
	});
	return (
		<>
			<Head>
				<title>{t.termini_condizioni_title}</title>
				<meta content={t.termini_condizioni_desc} name="description" />
			</Head>

			<div className="mx-auto flex h-full items-center justify-center p-4">
				{data && (
					<div
						className="prose dark:prose-invert max-w-5xl"
						dangerouslySetInnerHTML={{ __html: data.stringa_value || "" }}
					/>
				)}
			</div>
		</>
	);
};
export const getServerSideProps = (async (context) => {
	const locale = context.locale || "it";
	const key = locale === "en" ? "TERMINI_CONDIZIONI_ENG" : "TERMINI_CONDIZIONI";
	const helpers = generateSSGHelper();

	await helpers.strings.getStringa.prefetch({
		stringaId: key as TestiEStringheStingaId,
	});
	return {
		props: {
			trpcState: helpers.dehydrate(),
		},
	};
}) satisfies GetServerSideProps;

export default Termini_Condizioni;
