import { useState } from "react"; import { Form, useLoaderData, useSearchParams } from "react-router"; import { useTranslation } from "react-i18next"; import type { Route } from "./+types/auth.accept-terms"; import { TERMS_VERSION } from "~/lib/legal"; import { loadAcceptTerms, acceptTermsAction } from "./auth.accept-terms.server"; export function meta() { return [ { title: "Updated Terms of Service — trails.cool" }, { name: "robots", content: "noindex" }, ]; } export async function loader({ request }: Route.LoaderArgs) { return await loadAcceptTerms(request); } export async function action({ request }: Route.ActionArgs) { return await acceptTermsAction(request); } export default function AcceptTermsPage() { const { t } = useTranslation("journal"); const { previousVersion } = useLoaderData(); const [searchParams] = useSearchParams(); const returnTo = searchParams.get("returnTo") ?? "/"; const [accepted, setAccepted] = useState(false); return (

{t("auth.reaccept.heading")}

{previousVersion ? t("auth.reaccept.bodyUpdated", { from: previousVersion, to: TERMS_VERSION }) : t("auth.reaccept.bodyNew", { version: TERMS_VERSION })}

); }