Files
my-links/src/pages/privacy.tsx
Sonny 6d5afee4f4 feat: privacy page with translation
refactor: apply prettier conf to all files

feat: terms of use with translation
2023-11-19 19:33:35 +01:00

77 lines
2.3 KiB
TypeScript

import LinkTag from "next/link";
import PageTransition from "components/PageTransition";
import styles from "styles/legal-pages.module.scss";
import clsx from "clsx";
import Navbar from "../components/Navbar/Navbar";
import { getServerSideTranslation } from "../i18n";
import { useTranslation } from "next-i18next";
import { TFunctionParam } from "../types/i18next";
export default function Privacy() {
const { t } = useTranslation("privacy");
return (
<PageTransition className={clsx("App", styles["privacy"])}>
<Navbar />
<main>
<h1>{t("privacy:title")}</h1>
<p>
{t("privacy:edited_at", { date: "19/11/2023" } as TFunctionParam)}
</p>
<p>{t("privacy:welcome")}</p>
<h2>{t("privacy:collect.title")}</h2>
<h3>{t("privacy:collect.cookie.title")}</h3>
<p>{t("privacy:collect.cookie.description")}</p>
<h3>{t("privacy:collect.user.title")}</h3>
<p>{t("privacy:collect.user.description")}</p>
<ul>
{(
t("privacy:collect.user.fields", {
returnObjects: true,
} as TFunctionParam) as Array<string>
).map((field) => (
<li key={field}>{field}</li>
))}
</ul>
<h2>{t("privacy:data_use.title")}</h2>
<p>{t("privacy:data_use.description")}</p>
<h2>{t("privacy:data_storage.title")}</h2>
<p>{t("privacy:data_storage.description")}</p>
<h3>{t("privacy:data_storage.data_retention.title")}</h3>
<p>{t("privacy:data_storage.data_retention.description")}</p>
<h2>{t("privacy:user_rights.title")}</h2>
<p>{t("privacy:user_rights.description")}</p>
<h2>{t("privacy:rgpd.title")}</h2>
<p>{t("privacy:rgpd.description")}</p>
<h2>{t("privacy:contact.title")}</h2>
<p>
{t("privacy:contact.description")}{" "}
<LinkTag href="mailto:sonnyasdev@gmail.com" target="_blank">
sonnyasdev[at]gmail.com
</LinkTag>
.
</p>
<p>{t("privacy:footer.changes")}</p>
<p>{t("privacy:footer.thanks")}</p>
</main>
</PageTransition>
);
}
export async function getServerSideProps({ locale }) {
return {
props: {
...(await getServerSideTranslation(locale, ["privacy"])),
},
};
}