import { ChartBarIcon, InformationCircleIcon, LifebuoyIcon, ShieldCheckIcon, } from '@heroicons/react/24/outline' import {ComponentType, ReactNode, SVGProps} from 'react' import {GeneralButton} from 'web/components/buttons/general-button' import {PageBase} from 'web/components/page-base' import {SEO} from 'web/components/SEO' import {useT} from 'web/lib/locale' // ─── Types ──────────────────────────────────────────────────────────────────── type IconType = ComponentType> interface LinkItem { url: string label: string primary?: boolean } interface SectionCardProps { icon: IconType title: string description: string links: LinkItem[] } // ─── Section Card ───────────────────────────────────────────────────────────── function SectionCard({icon: Icon, title, description, links}: SectionCardProps) { return (
{/* Icon */}
{/* Title & description */}

{title}

{description}

{/* Links */}
{links.map(({url, label, primary}) => ( ))}
) } // ─── Section Label ──────────────────────────────────────────────────────────── function SectionLabel({children}: {children: ReactNode}) { return (
{children}
) } // ─── Divider ────────────────────────────────────────────────────────────────── function Divider() { return (
) } // ─── Page ───────────────────────────────────────────────────────────────────── export default function Organization() { const t = useT() const sections: SectionCardProps[] = [ { icon: InformationCircleIcon, title: t('organization.about.title', 'About us'), description: t( 'organization.about.desc', 'Who we are, our mission, and how the organization works.', ), links: [ {url: '/about', label: t('about.seo.description', 'About Compass'), primary: true}, {url: '/constitution', label: t('organization.constitution', 'Our constitution')}, ], }, { icon: ChartBarIcon, title: t('organization.proof.title', 'Proof & transparency'), description: t( 'organization.proof.desc', 'Key numbers, progress, and what others say about us.', ), links: [ {url: '/stats', label: t('organization.stats', 'Key metrics & growth'), primary: true}, {url: '/press', label: t('press.title', 'Press')}, {url: '/financials', label: t('organization.financials', 'Financial transparency')}, ], }, { icon: LifebuoyIcon, title: t('organization.contactSection.title', 'Contact & support'), description: t( 'organization.contactSection.desc', 'Need help or want to reach us? Start here.', ), links: [ {url: '/contact', label: t('organization.contact', 'Contact us'), primary: true}, {url: '/help', label: t('organization.help', 'Help & support center')}, ], }, { icon: ShieldCheckIcon, title: t('organization.trust.title', 'Trust & legal'), description: t( 'organization.trust.desc', 'How we protect your data and the rules that govern the platform.', ), links: [ {url: '/security', label: t('organization.security', 'Security'), primary: true}, {url: '/terms', label: t('organization.terms', 'Terms and conditions')}, {url: '/privacy', label: t('organization.privacy', 'Privacy policy')}, ], }, ] return (
{/* ── Page header ── */}

{t('organization.eyebrow', 'Compass')}

{t('organization.title', 'Organization')}

{t( 'organization.subtitle', 'Everything about how Compass is run, governed, and built — transparently.', )}

{t('organization.sections.label', 'Explore')}
{sections.map((s) => ( ))}
) }