import { createFileRoute } from "@tanstack/react-router";
import { Fact, LegalPage, LegalSection, MailLink, Operator } from "~/components/legal/LegalPage";
import { getLegalInfo } from "~/fns/legal";
import { MINIMUM_AGE, MINIMUM_AGE_EEA } from "~/lib/legal";
import { TextLink } from "~/ui/TextLink";
import { seo } from "~/utils/seo";
export const Route = createFileRoute("/terms")({
loader: () => getLegalInfo(),
head: ({ match }) => ({
meta: seo({
origin: match.context.publicUrl,
path: "/terms",
title: "Terms of Service · gitfor",
description: "The terms that govern your use of gitfor.",
}),
}),
component: TermsPage,
});
function TermsPage() {
const info = Route.useLoaderData();
return (
<LegalPage
title="Terms of Service"
lede={`These terms are an agreement between you and the operator of ${info.forgeName} for hosted Git repositories, code review, CI runners, editors, AI features and site hosting.`}
info={info}
>
<LegalSection title="1. Who we are">
<p>
{info.forgeName} at {info.publicUrl || "this site"} is operated by <Operator info={info} />
{info.address && <>, located at {info.address}</>} ("we", "us"). The software is open source; these terms
cover only this hosted instance, not copies other people run.
</p>
</LegalSection>
<LegalSection title="2. Accepting these terms">
<p>
By creating an account, signing in with GitHub, or otherwise using the service you agree to these terms, the{" "}
<TextLink to="/acceptable-use">Acceptable Use Policy</TextLink> and the{" "}