import type { LucideIcon } from 'lucide-react'; import { Scale, Shield, FileKey, AlertTriangle, Ban, Code2, } from 'lucide-react'; export const LEGAL_LAST_UPDATED = 'May 29, 2026'; export const LEGAL_NOTICE = 'These documents describe the P2NS open-source project and the p2ns.space website. They are not legal advice. Operators and users are responsible for compliance in their jurisdiction.'; export type LegalDocumentId = | 'terms' | 'privacy' | 'eula' | 'disclaimer' | 'acceptable-use' | 'open-source-license'; export interface LegalDocumentMeta { id: LegalDocumentId; title: string; shortTitle: string; description: string; href: string; icon: LucideIcon; } export const legalDocuments: LegalDocumentMeta[] = [ { id: 'terms', title: 'Terms of Service', shortTitle: 'Terms', description: 'Rules for using the p2ns.space website and project materials.', href: '/legal/terms', icon: Scale, }, { id: 'privacy', title: 'Privacy Policy', shortTitle: 'Privacy', description: 'How the website handles information and what the self-hosted software does locally.', href: '/legal/privacy', icon: Shield, }, { id: 'eula', title: 'End User License Agreement', shortTitle: 'EULA', description: 'Terms for downloading, installing, and running P2NS software.', href: '/legal/eula', icon: FileKey, }, { id: 'disclaimer', title: 'Disclaimer', shortTitle: 'Disclaimer', description: 'Limitations of liability for network operation, DNS, and security.', href: '/legal/disclaimer', icon: AlertTriangle, }, { id: 'acceptable-use', title: 'Acceptable Use Policy', shortTitle: 'Acceptable Use', description: 'Prohibited uses of the software and participation in P2P networks.', href: '/legal/acceptable-use', icon: Ban, }, { id: 'open-source-license', title: 'Open Source License', shortTitle: 'Open Source License', description: 'ISC license summary and link to the upstream P2NS repository.', href: '/legal/open-source-license', icon: Code2, }, ]; export const P2NS_REPO_URL = 'https://git.ssh.surf/snxraven/p2ns'; export function getLegalDocument(id: LegalDocumentId): LegalDocumentMeta | undefined { return legalDocuments.find((d) => d.id === id); }