"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import type { ComponentPropsWithoutRef, ComponentType, ReactNode } from "react"; import { Button } from "./Button"; import { navigation } from "./Navigation"; function PageLink({ label, page, previous = false, }: { label: string; page: { href: string; title: string }; previous?: boolean; }) { return ( <> {page.title} ); } function PageNavigation() { const pathname = usePathname(); const allPages = navigation.flatMap((group) => group.links); const currentPageIndex = allPages.findIndex( (page) => page.href === pathname, ); if (currentPageIndex === -1) { return null; } const previousPage = allPages[currentPageIndex - 1]; const nextPage = allPages[currentPageIndex + 1]; if (!(previousPage || nextPage)) { return null; } return (
{previousPage && (
)} {nextPage && (
)}
); } function XIcon(props: ComponentPropsWithoutRef<"svg">) { return ( ); } function GitHubIcon(props: ComponentPropsWithoutRef<"svg">) { return ( ); } function DiscordIcon(props: ComponentPropsWithoutRef<"svg">) { return ( ); } function SocialLink({ href, icon: Icon, children, }: { href: string; icon: ComponentType<{ className?: string }>; children: ReactNode; }) { return ( {children} ); } function SmallPrint() { return (

© Copyright {new Date().getFullYear()}. All rights reserved.

Follow us on X Follow us on GitHub Join our Discord server
); } export function Footer() { return ( ); }