Skip to content

Commit 3748791

Browse files
committed
GDPR & CCPA
1 parent ab94f00 commit 3748791

File tree

3 files changed

+81
-29
lines changed

3 files changed

+81
-29
lines changed

apps/docs/components/footer.tsx

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
"use client";
22

3-
import { ShieldCheckIcon } from "@phosphor-icons/react/ssr";
43
import Link from "next/link";
54
import { FaDiscord, FaGithub, FaXTwitter } from "react-icons/fa6";
65
import { IoMdMail } from "react-icons/io";
6+
import { CCPAIcon } from "./icons/ccpa";
7+
import { GDPRIcon } from "./icons/gdpr";
78
import { SciFiButton } from "./landing/scifi-btn";
89
import { Wordmark } from "./landing/wordmark";
910
import { LogoContent } from "./logo";
10-
import { Badge } from "./ui/badge";
1111

1212
export function Footer() {
1313
return (
@@ -181,35 +181,39 @@ export function Footer() {
181181
</div>
182182
</div>
183183

184-
{/* Legal Links Row */}
185184
<div className="mt-6">
186-
<div className="flex flex-wrap items-center gap-4">
187-
<Link
188-
className="text-muted-foreground/70 text-xs hover:text-muted-foreground sm:text-sm"
189-
href="/privacy"
190-
>
191-
Privacy Policy
192-
</Link>
193-
<span className="text-muted-foreground/50 text-xs"></span>
194-
<Link
195-
className="text-muted-foreground/70 text-xs hover:text-muted-foreground sm:text-sm"
196-
href="/terms"
197-
>
198-
Terms of Service
199-
</Link>
200-
<span className="text-muted-foreground/50 text-xs"></span>
201-
<Link
202-
className="inline-flex items-center gap-1.5"
203-
href="/privacy#gdpr"
204-
>
205-
<Badge
206-
className="inline-flex items-center gap-1.5 border-green-200 bg-green-50 text-green-700 hover:bg-green-100 dark:border-green-800 dark:bg-green-950/50 dark:text-green-400"
207-
variant="outline"
185+
<div className="flex flex-col gap-4">
186+
<div className="flex items-center gap-4">
187+
<Link
188+
aria-label="CCPA Compliance"
189+
className="text-muted-foreground/70 transition-colors hover:text-muted-foreground"
190+
href="/"
208191
>
209-
<ShieldCheckIcon className="size-3" weight="duotone" />
210-
<span className="font-medium text-xs">GDPR Compliant</span>
211-
</Badge>
212-
</Link>
192+
<CCPAIcon className="size-8" />
193+
</Link>
194+
<Link
195+
aria-label="GDPR Compliance"
196+
className="text-muted-foreground/70 transition-colors hover:text-muted-foreground"
197+
href="/"
198+
>
199+
<GDPRIcon className="size-10" />
200+
</Link>
201+
</div>
202+
<div className="flex flex-wrap items-center gap-4">
203+
<Link
204+
className="text-muted-foreground/70 text-xs hover:text-muted-foreground sm:text-sm"
205+
href="/privacy"
206+
>
207+
Privacy Policy
208+
</Link>
209+
<span className="text-muted-foreground/50 text-xs"></span>
210+
<Link
211+
className="text-muted-foreground/70 text-xs hover:text-muted-foreground sm:text-sm"
212+
href="/terms"
213+
>
214+
Terms of Service
215+
</Link>
216+
</div>
213217
</div>
214218
</div>
215219

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import type { SVGProps } from "react";
2+
3+
// Taken from Axiom.co's landing page, credits to them!
4+
export function CCPAIcon(props: SVGProps<SVGSVGElement>) {
5+
return (
6+
<svg
7+
fill="none"
8+
height="31"
9+
viewBox="0 0 31 31"
10+
width="31"
11+
xmlns="http://www.w3.org/2000/svg"
12+
{...props}
13+
>
14+
<title>CCPA</title>
15+
<path
16+
clip-rule="evenodd"
17+
d="M9.74.676h12.141c.48 0 .868.388.868.867v5.346c0 6.402-5.441 8.835-6.686 9.307a.697.697 0 01-.504 0c-1.245-.472-6.686-2.905-6.686-9.307V1.543c0-.479.388-.867.867-.867zm10.843 5.317a.976.976 0 00-1.4-1.359L15.057 8.89l-1.713-1.766a.976.976 0 00-1.4 1.358l2.412 2.489a.976.976 0 001.401 0l4.826-4.977z"
18+
fill="currentColor"
19+
fill-rule="evenodd"
20+
/>
21+
<path
22+
d="M7.923 24.713H6.088a1.896 1.896 0 00-.206-.654 1.651 1.651 0 00-.96-.805 2.086 2.086 0 00-.682-.108 1.99 1.99 0 00-1.161.342c-.33.225-.585.554-.767.987-.181.43-.272.952-.272 1.566 0 .632.09 1.163.272 1.593.184.43.442.754.771.974.33.219.711.329 1.144.329.243 0 .468-.034.675-.1.21-.066.395-.163.557-.29.162-.13.296-.287.402-.472.11-.184.185-.395.227-.631l1.835.008a3.51 3.51 0 01-.356 1.177c-.187.375-.44.712-.759 1.009a3.548 3.548 0 01-1.131.7 4.04 4.04 0 01-1.48.256c-.765 0-1.45-.179-2.053-.537-.6-.357-1.075-.875-1.424-1.553-.347-.678-.52-1.5-.52-2.463 0-.966.176-1.789.528-2.467.352-.678.83-1.194 1.433-1.55.604-.357 1.282-.536 2.037-.536.497 0 .958.072 1.383.217a3.47 3.47 0 011.135.632c.33.274.598.61.805 1.008.21.398.343.854.402 1.368zM16.206 24.713h-1.835a1.897 1.897 0 00-.206-.654 1.652 1.652 0 00-.96-.805 2.086 2.086 0 00-.682-.108 1.99 1.99 0 00-1.16.342c-.33.225-.586.554-.768.987-.181.43-.272.952-.272 1.566 0 .632.09 1.163.272 1.593.185.43.442.754.771.974.33.219.711.329 1.144.329.243 0 .468-.034.675-.1.21-.066.395-.163.557-.29.162-.13.296-.287.402-.472.11-.184.185-.395.227-.631l1.835.008c-.047.407-.166.8-.356 1.177-.187.375-.44.712-.758 1.009a3.55 3.55 0 01-1.132.7 4.04 4.04 0 01-1.479.256c-.765 0-1.45-.179-2.053-.537-.6-.357-1.076-.875-1.425-1.553-.346-.678-.52-1.5-.52-2.463 0-.966.176-1.789.528-2.467.352-.678.83-1.194 1.434-1.55.603-.357 1.282-.536 2.036-.536.497 0 .958.072 1.383.217.427.144.806.355 1.135.632.33.274.598.61.805 1.008.21.398.344.854.402 1.368zM16.918 30.475V21.61h3.386c.65 0 1.205.129 1.663.386.458.253.808.607 1.048 1.06.243.45.364.97.364 1.558 0 .588-.123 1.108-.368 1.558-.246.45-.602.8-1.069 1.052-.464.25-1.025.376-1.684.376H18.1V26.1h1.864c.35 0 .637-.062.864-.186.229-.127.399-.301.51-.523.115-.226.172-.484.172-.775 0-.294-.057-.551-.171-.77a1.166 1.166 0 00-.511-.515c-.23-.125-.52-.187-.872-.187h-1.224v7.332h-1.814zM24.455 30.475h-1.944l2.962-8.864h2.338l2.959 8.864h-1.944l-2.15-6.838h-.067l-2.154 6.838zm-.121-3.484h4.592v1.463h-4.592V26.99z"
23+
fill="currentColor"
24+
/>
25+
</svg>
26+
);
27+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import type { SVGProps } from "react";
2+
3+
// Taken from Axiom.co's landing page, credits to them!
4+
export function GDPRIcon(props: SVGProps<SVGSVGElement>) {
5+
return (
6+
<svg
7+
fill="none"
8+
height="45"
9+
viewBox="0 0 45 45"
10+
width="45"
11+
xmlns="http://www.w3.org/2000/svg"
12+
{...props}
13+
>
14+
<title>GDPR</title>
15+
<path
16+
d="M14.69 21.618a1.68 1.68 0 00-.217-.46 1.41 1.41 0 00-.328-.352 1.316 1.316 0 00-.434-.219 1.801 1.801 0 00-.536-.076c-.346 0-.655.088-.926.263-.27.176-.483.434-.639.774-.153.339-.23.75-.23 1.237 0 .49.077.906.23 1.247.154.34.367.599.64.777.272.175.59.263.95.263.328 0 .611-.064.85-.19.242-.127.428-.307.558-.54.13-.234.195-.51.195-.824l.265.041h-1.751v-.92h2.616v.78c0 .556-.117 1.037-.352 1.444a2.417 2.417 0 01-.97.938c-.411.218-.884.327-1.417.327-.594 0-1.116-.134-1.565-.403a2.778 2.778 0 01-1.048-1.151c-.25-.5-.375-1.091-.375-1.776 0-.524.074-.993.22-1.405.15-.413.357-.762.624-1.05.266-.29.58-.51.938-.66a2.97 2.97 0 011.171-.228c.357 0 .69.053.999.159.308.103.582.251.821.444a2.422 2.422 0 01.9 1.56h-1.19zM19.247 26.036H17.06v-6.495h2.23c.64 0 1.19.13 1.65.39a2.6 2.6 0 011.064 1.113c.248.485.371 1.064.371 1.738 0 .677-.124 1.258-.374 1.745a2.6 2.6 0 01-1.074 1.12c-.466.26-1.026.39-1.681.39zm-1.017-1.018h.96c.45 0 .824-.082 1.124-.247.3-.167.526-.416.677-.745.151-.332.227-.747.227-1.244s-.076-.909-.227-1.237a1.553 1.553 0 00-.67-.739c-.295-.165-.66-.247-1.096-.247h-.995v4.46zM23.487 26.036v-6.495h2.418c.496 0 .912.093 1.247.28.338.185.593.441.765.767.175.323.262.691.262 1.103 0 .417-.087.787-.262 1.11a1.875 1.875 0 01-.771.765c-.34.184-.759.276-1.256.276h-1.603v-.968h1.445c.29 0 .527-.05.712-.152a.958.958 0 00.41-.419c.09-.177.135-.381.135-.612 0-.23-.046-.433-.136-.609a.923.923 0 00-.412-.409c-.185-.1-.423-.149-.715-.149h-1.07v5.512h-1.169zM29.193 26.036v-6.495h2.418c.496 0 .912.087 1.247.26.338.173.593.417.766.73.174.31.26.673.26 1.087 0 .417-.087.779-.264 1.085-.174.305-.431.54-.771.707-.34.165-.758.248-1.253.248h-1.723v-.977h1.565c.29 0 .527-.04.712-.12a.848.848 0 00.41-.36c.09-.158.135-.352.135-.583a1.2 1.2 0 00-.136-.59.863.863 0 00-.412-.374c-.185-.087-.423-.13-.715-.13h-1.07v5.512h-1.169zm3.332-2.943l1.596 2.943h-1.303l-1.569-2.943h1.276zM22.2.275l.745 2.402 2.498-.028-2.037 1.456.798 2.384-2.005-1.5-2.004 1.5.798-2.384-2.037-1.456 2.498.028.745-2.402zM22.2 38.063l.745 2.4 2.498-.027-2.037 1.456.798 2.384-2.005-1.5-2.004 1.5.798-2.384-2.037-1.456 2.498.028.745-2.401zM31.577 2.807l.746 2.4 2.498-.027-2.037 1.457.798 2.384-2.005-1.502-2.004 1.502.798-2.384-2.037-1.457 2.498.028.745-2.401zM12.82 35.531l.746 2.401 2.498-.027-2.037 1.456.798 2.384-2.005-1.5-2.004 1.5.798-2.384-2.037-1.456 2.498.027.745-2.4zM38.441 9.72l.746 2.402 2.498-.028-2.037 1.457.798 2.384-2.005-1.502-2.004 1.502.798-2.384-2.037-1.457 2.498.028.745-2.401zM5.954 28.613l.746 2.402 2.498-.028-2.037 1.456.798 2.384-2.005-1.5-2.004 1.5.798-2.384-2.037-1.456 2.498.028.745-2.402zM40.954 19.168l.746 2.401 2.498-.027-2.037 1.456.798 2.384-2.005-1.501-2.004 1.501.798-2.384-2.037-1.457 2.498.028.745-2.401zM3.443 19.168l.745 2.401 2.498-.027-2.037 1.456.798 2.384-2.004-1.501-2.005 1.501.798-2.384L.199 21.54l2.498.028.746-2.401zM38.441 28.613l.746 2.402 2.498-.028-2.037 1.456.798 2.384-2.005-1.5-2.004 1.5.798-2.384-2.037-1.456 2.498.028.745-2.402zM5.954 9.72l.746 2.402 2.498-.028-2.037 1.457.798 2.384-2.005-1.502-2.004 1.502.798-2.384-2.037-1.457 2.498.028.745-2.401zM31.577 35.531l.746 2.401 2.498-.027-2.037 1.456.798 2.384-2.005-1.5-2.004 1.5.798-2.384-2.037-1.456 2.498.027.745-2.4zM12.82 2.807l.746 2.4 2.498-.027-2.037 1.457.798 2.384-2.005-1.502-2.004 1.502.798-2.384L9.577 5.18l2.498.028.745-2.401z"
17+
fill="currentColor"
18+
/>
19+
</svg>
20+
);
21+
}

0 commit comments

Comments
 (0)