TypeScript 97.6%
SQL 1.4%
JavaScript 0.5%
1import Link from "next/link";2import { SpinzaWordmark } from "@/components/brand/logo";34const LINKS = [5 { href: "/how-it-works", label: "How it works" },6 { href: "/responsible-play", label: "Responsible play" },7 { href: "/legal/terms", label: "Terms" },8 { href: "/legal/privacy", label: "Privacy" },9 { href: "/login", label: "Sign in" },10 { href: "/register", label: "Create account" },11];1213export function SiteFooter({ className }: { className?: string }) {14 return (15 <footer className={className}>16 <div className="border-t border-line pt-10">17 <div className="flex flex-col gap-8 md:flex-row md:items-start md:justify-between">18 <div className="max-w-sm">19 <SpinzaWordmark size="sm" />20 <p className="mt-3 text-[13px] leading-relaxed text-fg-3">Spinza is a fictional social casino. Spinza Credits (SC) are virtual, have no cash value, cannot be purchased and cannot be withdrawn or exchanged.</p>21 </div>22 <nav aria-label="Footer" className="grid grid-cols-2 gap-x-10 gap-y-2 sm:grid-cols-3">23 {LINKS.map((l) => (24 <Link key={l.href} href={l.href} className="tap inline-flex h-9 min-h-0 items-center text-sm text-fg-2 hover:text-fg">25 {l.label}26 </Link>27 ))}28 </nav>29 </div>30 <div className="mt-8 flex flex-col gap-2 border-t border-line py-6 text-[12px] text-fg-4 sm:flex-row sm:items-center sm:justify-between">31 <p>Virtual credits only. No deposits. No withdrawals. No cash value.</p>32 <p>33 <span className="mr-2 inline-flex h-6 items-center rounded-full border border-line-2 px-2 font-bold text-fg-3">18+</span>34 For adults only. Spinza is not gambling: nothing of value is ever at stake.35 </p>36 </div>37 </div>38 </footer>39 );40}41