Add tos
This commit is contained in:
@ -112,6 +112,55 @@
|
||||
--sidebar-ring: oklch(0.556 0 0);
|
||||
}
|
||||
|
||||
.markdown {
|
||||
@apply text-base leading-relaxed text-foreground;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
@apply text-4xl font-bold mt-6 mb-4;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
@apply text-3xl font-semibold mt-6 mb-3;
|
||||
}
|
||||
|
||||
.markdown h3 {
|
||||
@apply text-2xl font-medium mt-5 mb-2;
|
||||
}
|
||||
|
||||
.markdown p {
|
||||
@apply my-4;
|
||||
}
|
||||
|
||||
.markdown ul {
|
||||
@apply list-disc pl-6 my-4;
|
||||
}
|
||||
|
||||
.markdown ol {
|
||||
@apply list-decimal pl-6 my-4;
|
||||
}
|
||||
|
||||
.markdown li {
|
||||
@apply mb-1;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
@apply border-l-4 pl-4 italic text-muted-foreground my-4;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
@apply bg-muted px-1 py-0.5 rounded font-mono text-sm;
|
||||
}
|
||||
|
||||
.markdown pre {
|
||||
@apply bg-muted p-4 rounded overflow-x-auto text-sm my-4;
|
||||
}
|
||||
|
||||
.markdown a {
|
||||
@apply underline text-primary hover:text-primary/80;
|
||||
}
|
||||
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border outline-ring/50;
|
||||
|
18
src/app/tos/page.tsx
Normal file
18
src/app/tos/page.tsx
Normal file
@ -0,0 +1,18 @@
|
||||
import prisma from "@/lib/prisma";
|
||||
import ReactMarkdown from 'react-markdown';
|
||||
|
||||
export default async function TosPage() {
|
||||
const tos = await prisma.termsOfService.findFirst({
|
||||
orderBy: [{ version: "desc" }],
|
||||
})
|
||||
|
||||
console.log(tos?.markdown)
|
||||
|
||||
return (
|
||||
<div className="container py-10 space-y-10">
|
||||
<div className="markdown">
|
||||
<ReactMarkdown>{tos?.markdown}</ReactMarkdown>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
@ -15,6 +15,7 @@ import { CommissionExtra, CommissionOption, CommissionType, CommissionTypeExtra,
|
||||
import { commissionOrderSchema } from "@/schemas/commissionOrder"
|
||||
import { calculatePrice } from "@/utils/calculatePrice"
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
import Link from "next/link"
|
||||
import { useMemo, useState } from "react"
|
||||
import { useForm, useWatch } from "react-hook-form"
|
||||
import * as z from "zod/v4"
|
||||
@ -239,6 +240,14 @@ export function CommissionOrderForm({ types }: Props) {
|
||||
Estimated Price: €{price.toFixed(2)}
|
||||
</div>
|
||||
|
||||
<div className="text-muted-foreground">
|
||||
By submitting this form, you agree to our{" "}
|
||||
<Link href="/tos" className="underline">
|
||||
Terms of Service
|
||||
</Link>
|
||||
.
|
||||
</div>
|
||||
|
||||
<Button type="submit" disabled={!form.formState.isValid}>
|
||||
Submit Request
|
||||
</Button>
|
||||
|
@ -17,6 +17,11 @@ export default function TopNav() {
|
||||
<Link href="/commissions">Commissions</Link>
|
||||
</NavigationMenuLink>
|
||||
</NavigationMenuItem>
|
||||
<NavigationMenuItem>
|
||||
<NavigationMenuLink asChild className={navigationMenuTriggerStyle()}>
|
||||
<Link href="/tos">Terms of Service</Link>
|
||||
</NavigationMenuLink>
|
||||
</NavigationMenuItem>
|
||||
</NavigationMenuList>
|
||||
</NavigationMenu>
|
||||
);
|
||||
|
Reference in New Issue
Block a user