+ {title} +
+{intro}
+ {children} +diff --git a/src/app/backend/promotions/page.tsx b/src/app/backend/promotions/page.tsx index 902d140..a30a2f7 100644 --- a/src/app/backend/promotions/page.tsx +++ b/src/app/backend/promotions/page.tsx @@ -57,7 +57,7 @@ export default async function PromotionsPage() { )} -
Selon votre utilisation du site, Plein R peut recevoir :
++ Ces données servent à répondre aux demandes, gérer les adhésions, administrer l’annuaire, + modérer les promotions et sécuriser l’accès aux comptes. Elles ne sont pas vendues à des tiers. +
+ ++ Plein R est responsable des traitements réalisés par ce site. Les traitements reposent, selon le cas, + sur les démarches précontractuelles liées à l’adhésion, l’exécution de la relation avec les adhérents, + l’intérêt légitime de l’association à répondre aux demandes et administrer son réseau, ou une obligation légale. +
++ Seules les personnes habilitées au sein de Plein R et les prestataires techniques nécessaires au fonctionnement + du site peuvent accéder aux données, dans la limite de leurs missions. +
+ ++ Les données sont conservées pendant la durée nécessaire au traitement demandé, à la gestion de la relation + avec l’association et au respect de ses obligations. Des mesures adaptées limitent accès, perte ou divulgation non autorisée. +
+ ++ Le site utilise uniquement les éléments techniques nécessaires à son fonctionnement, notamment pour maintenir + une session sécurisée dans l’espace adhérent ou l’administration. +
+ ++ Vous pouvez demander accès, rectification, effacement, limitation, opposition ou portabilité concernant vos données, + selon les conditions prévues par la réglementation. + Envoyez votre demande via le formulaire « Nous contacter » en précisant votre identité et l’objet de votre demande. +
+Vous pouvez également saisir la CNIL si vous estimez que vos droits ne sont pas respectés.
++ Ce site est édité par Plein R, association des commerçants et entreprises du Bassin de Pompey. +
+Pour contacter Plein R, utilisez le formulaire « Nous contacter » disponible en pied de page.
+ ++ Nom, raison sociale, adresse et numéro de téléphone de l’hébergeur : à compléter par l’association + dès que l’hébergement de production est choisi. +
+ ++ Structure, textes, éléments graphiques et identité visuelle du site sont protégés. Toute reproduction, + adaptation ou diffusion sans autorisation préalable de Plein R est interdite, hors exceptions prévues par la loi. +
+Logos, images et contenus publiés par les adhérents restent la propriété de leurs titulaires respectifs.
+ ++ Plein R veille à la qualité des informations publiées, sans pouvoir garantir leur exhaustivité permanente. + Les offres, coordonnées et contenus des adhérents relèvent de la responsabilité de leurs auteurs. +
++ Vos informations servent uniquement à répondre à votre message. Consultez notre{" "} + + politique de confidentialité + . +
+ diff --git a/src/components/LegalPage.tsx b/src/components/LegalPage.tsx new file mode 100644 index 0000000..5e0e767 --- /dev/null +++ b/src/components/LegalPage.tsx @@ -0,0 +1,31 @@ +import type { ReactNode } from "react"; +import Link from "next/link"; +import { SiteFooter } from "./SiteFooter"; +import { SiteHeader } from "./SiteHeader"; + +export function LegalPage({ title, intro, children }: { title: string; intro: string; children: ReactNode }) { + return ( +{intro}
+ {children} ++ Vos informations servent uniquement à traiter votre demande. Consultez notre{" "} + + politique de confidentialité + . +
+ diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index 9f0b500..26e2e4a 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -1,6 +1,7 @@ "use client"; import { useEffect } from "react"; +import { createPortal } from "react-dom"; export function Modal({ open, @@ -31,7 +32,7 @@ export function Modal({ if (!open) return null; - return ( + return createPortal(