142 lines
4.9 KiB
TypeScript

import Head from 'next/head'
import Link from 'next/link'
import { PageHeader } from '@/components/PageHeader'
function LegalSection({ title, children }: { title: string; children: React.ReactNode }) {
return (
<section>
<h2 className="text-2xl font-semibold text-cyber-accent mb-3">{title}</h2>
{children}
</section>
)
}
function EditorSection() {
return (
<LegalSection title="1. Éditeur du site">
<p className="text-cyber-accent mb-2">
Le site <strong className="text-neon-cyan">zapwall.fr</strong> est édité par :
</p>
<p className="text-cyber-accent/80 mb-2">
Équipe 4NK<br />
Contact : via le protocole Nostr
</p>
<p className="text-cyber-accent/80">
<strong className="text-neon-cyan">Identité de la plateforme :</strong><br />
npub : <code className="text-cyber-accent/70 font-mono text-sm">npub18s03s39fa80ce2n3cmm0zme3jqehc82h6ld9sxq03uejqm3d05gsae0fuu</code><br />
Adresse Bitcoin : <code className="text-cyber-accent/70 font-mono text-sm">bc1qerauk5yhqytl6z93ckvwkylup8s0256uenzg9y</code>
</p>
</LegalSection>
)
}
function HostingSection() {
return (
<LegalSection title="2. Hébergement">
<p className="text-cyber-accent">
Le site est hébergé sur des serveurs dédiés. Les données sont stockées de manière décentralisée via le protocole Nostr.
</p>
</LegalSection>
)
}
function IntellectualPropertySection() {
return (
<LegalSection title="3. Propriété intellectuelle">
<p className="text-cyber-accent mb-2">
L&apos;ensemble du contenu du site (textes, images, vidéos, etc.) est la propriété de leurs auteurs respectifs.
</p>
<p className="text-cyber-accent">
La plateforme zapwall.fr ne revendique aucun droit de propriété sur les contenus publiés par les utilisateurs.
</p>
</LegalSection>
)
}
function DataProtectionSection() {
return (
<LegalSection title="4. Protection des données personnelles">
<p className="text-cyber-accent mb-2">
Conformément à la réglementation en vigueur, notamment le Règlement Général sur la Protection des Données (RGPD),
les utilisateurs disposent d&apos;un droit d&apos;accès, de rectification, de suppression et d&apos;opposition aux données les concernant.
</p>
<p className="text-cyber-accent">
Pour plus d&apos;informations, consultez notre{' '}
<Link href="/privacy" className="text-neon-cyan hover:text-neon-green underline">
politique de confidentialité
</Link>
.
</p>
</LegalSection>
)
}
function ResponsibilitySection() {
return (
<LegalSection title="5. Responsabilité">
<p className="text-cyber-accent mb-2">
La plateforme zapwall.fr est un service de publication décentralisé. Les contenus publiés par les utilisateurs
sont de leur seule responsabilité.
</p>
<p className="text-cyber-accent">
La plateforme ne peut être tenue responsable des contenus publiés par les utilisateurs, ni des transactions
effectuées via le protocole Lightning Network.
</p>
</LegalSection>
)
}
function CookiesSection() {
return (
<LegalSection title="6. Cookies">
<p className="text-cyber-accent">
Le site utilise des cookies techniques nécessaires au fonctionnement de la plateforme. Aucun cookie de suivi
ou de publicité n&apos;est utilisé.
</p>
</LegalSection>
)
}
function ApplicableLawSection() {
return (
<LegalSection title="7. Loi applicable">
<p className="text-cyber-accent">
Les présentes mentions légales sont régies par le droit français. En cas de litige, les tribunaux français
seront seuls compétents.
</p>
</LegalSection>
)
}
export default function LegalPage() {
return (
<>
<Head>
<title>Mentions légales - zapwall.fr</title>
<meta name="description" content="Mentions légales de zapwall.fr" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</Head>
<main className="min-h-screen bg-cyber-darker">
<PageHeader />
<div className="max-w-4xl mx-auto px-4 py-8">
<div className="bg-cyber-dark border border-neon-cyan/30 rounded-lg shadow-glow-cyan p-8 space-y-6">
<h1 className="text-3xl font-bold text-neon-cyan mb-6">Mentions légales</h1>
<EditorSection />
<HostingSection />
<IntellectualPropertySection />
<DataProtectionSection />
<ResponsibilitySection />
<CookiesSection />
<ApplicableLawSection />
<div className="mt-8 pt-6 border-t border-neon-cyan/30">
<Link href="/" className="text-neon-cyan hover:text-neon-green underline">
Retour à l&apos;accueil
</Link>
</div>
</div>
</div>
</main>
</>
)
}