ajout des page RGPD

This commit is contained in:
SarTron-NorthBlue
2025-11-14 17:33:19 +04:00
parent bed824059a
commit eeae058233
5 changed files with 675 additions and 16 deletions

View File

@@ -3,9 +3,19 @@
import { motion } from 'framer-motion'
import { Shield, Mail, Phone, MapPin } from 'lucide-react'
import Link from 'next/link'
import { usePathname } from 'next/navigation'
export default function Footer() {
const currentYear = new Date().getFullYear()
const pathname = usePathname()
const isHomePage = pathname === '/'
const getNavHref = (href: string) => {
if (isHomePage) {
return href
}
return `/${href}`
}
return (
<footer className="bg-security-dark border-t border-security-border">
@@ -39,13 +49,19 @@ export default function Footer() {
>
<h3 className="text-white font-semibold mb-4">Navigation</h3>
<ul className="space-y-2">
{['Accueil', 'Services', 'Tarifs', 'FAQ', 'Contact'].map((item) => (
<li key={item}>
{[
{ label: 'Accueil', href: '#accueil' },
{ label: 'Services', href: '#services' },
{ label: 'Tarifs', href: '#tarifs' },
{ label: 'FAQ', href: '#faq' },
{ label: 'Contact', href: '#contact' },
].map((item) => (
<li key={item.href}>
<a
href={`#${item.toLowerCase()}`}
href={getNavHref(item.href)}
className="text-gray-400 hover:text-security-accent transition-colors text-sm"
>
{item}
{item.label}
</a>
</li>
))}
@@ -64,7 +80,7 @@ export default function Footer() {
{['Hébergement Cloud', 'Installation NAS', 'Installation Mini PC', 'Support technique'].map((service) => (
<li key={service}>
<a
href="#services"
href={getNavHref('#services')}
className="text-gray-400 hover:text-security-accent transition-colors text-sm"
>
{service}
@@ -109,19 +125,27 @@ export default function Footer() {
© {currentYear} Runlock.re - Tous droits réservés
</p>
<div className="flex items-center space-x-6 text-sm">
<a href="#" className="text-gray-400 hover:text-security-accent transition-colors">
<Link href="/mentions-legales" className="text-gray-400 hover:text-security-accent transition-colors">
Mentions légales
</a>
<a href="#" className="text-gray-400 hover:text-security-accent transition-colors">
</Link>
<Link href="/politique-confidentialite" className="text-gray-400 hover:text-security-accent transition-colors">
Politique de confidentialité
</a>
<a href="#" className="text-gray-400 hover:text-security-accent transition-colors">
</Link>
<Link href="/rgpd" className="text-gray-400 hover:text-security-accent transition-colors">
RGPD
</a>
</Link>
</div>
</div>
<p className="text-gray-500 text-xs mt-4 text-center">
Service édité par: httpdesign.fr
Réalisé par{' '}
<a
href="https://httpdesign.fr"
target="_blank"
rel="noopener noreferrer"
className="text-security-accent hover:underline transition-colors"
>
Httpdesign.fr
</a>
</p>
</div>
</div>

View File

@@ -4,10 +4,13 @@ import { useState, useEffect } from 'react'
import { motion, AnimatePresence } from 'framer-motion'
import { Menu, X, Lock, Shield } from 'lucide-react'
import Link from 'next/link'
import { usePathname } from 'next/navigation'
export default function Header() {
const [isScrolled, setIsScrolled] = useState(false)
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false)
const pathname = usePathname()
const isHomePage = pathname === '/'
useEffect(() => {
const handleScroll = () => {
@@ -25,6 +28,13 @@ export default function Header() {
{ href: '#contact', label: 'Contact' },
]
const getNavHref = (href: string) => {
if (isHomePage) {
return href
}
return `/${href}`
}
return (
<motion.header
initial={{ y: -100 }}
@@ -54,7 +64,7 @@ export default function Header() {
{navItems.map((item, index) => (
<motion.a
key={item.href}
href={item.href}
href={getNavHref(item.href)}
initial={{ opacity: 0, y: -20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: index * 0.1 }}
@@ -65,7 +75,7 @@ export default function Header() {
</motion.a>
))}
<motion.a
href="#contact"
href={getNavHref('#contact')}
initial={{ opacity: 0, scale: 0.8 }}
animate={{ opacity: 1, scale: 1 }}
transition={{ delay: 0.5 }}
@@ -100,7 +110,7 @@ export default function Header() {
{navItems.map((item) => (
<a
key={item.href}
href={item.href}
href={getNavHref(item.href)}
onClick={() => setIsMobileMenuOpen(false)}
className="block text-gray-300 hover:text-security-accent font-medium transition-colors py-2"
>
@@ -108,7 +118,7 @@ export default function Header() {
</a>
))}
<a
href="#contact"
href={getNavHref('#contact')}
onClick={() => setIsMobileMenuOpen(false)}
className="block w-full text-center px-6 py-3 bg-gradient-to-r from-security-accent to-green-500 text-black rounded-xl font-semibold mt-4"
>