From 0624060b2d88a9d4ecbc019e533b9e43f8f3d79e Mon Sep 17 00:00:00 2001 From: kinou-p Date: Fri, 3 Oct 2025 22:58:57 +0200 Subject: [PATCH] better responsive and added translation for cookie banner --- public/cv.pdf | 0 src/components/CookieBanner.tsx | 8 ++++---- src/components/Footer.tsx | 29 +++++++++++++++++++++++++---- src/pages/ProjectPage.tsx | 10 +++++----- src/utils/translations.ts | 24 ++++++++++++++++++++++++ 5 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 public/cv.pdf diff --git a/public/cv.pdf b/public/cv.pdf new file mode 100644 index 0000000..e69de29 diff --git a/src/components/CookieBanner.tsx b/src/components/CookieBanner.tsx index af8028b..f1e946d 100644 --- a/src/components/CookieBanner.tsx +++ b/src/components/CookieBanner.tsx @@ -57,9 +57,9 @@ export const CookieBanner = () => {
-

Cookies

+

{t("cookies.title")}

- Nous utilisons des cookies pour améliorer votre expérience et analyser le trafic. + {t("cookies.description")}

@@ -71,7 +71,7 @@ export const CookieBanner = () => { onClick={acceptAllCookies} className="flex-1" > - Accepter + {t("cookies.accept")} diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index 9605484..a5f7b0d 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -5,12 +5,13 @@ import { useCookieBanner } from "@/contexts/CookieBannerContext"; import { Button } from "@/components/ui/button"; import { Separator } from "@/components/ui/separator"; import { LegalNoticeModal } from "@/components/LegalNoticeModal"; -import { Github, Mail, ExternalLink, Cookie, FileText } from "lucide-react"; +import { Github, Mail, ExternalLink, Cookie, FileText, Download } from "lucide-react"; export const Footer = () => { const { t } = useLanguage(); const { showBanner } = useCookieBanner(); const [showLegalNotice, setShowLegalNotice] = useState(false); + const [showCVPopup, setShowCVPopup] = useState(false); const reopenCookiePreferences = () => { // Simplement rouvrir la bannière sans recharger @@ -20,6 +21,11 @@ export const Footer = () => { const currentYear = new Date().getFullYear(); const footerLinks = [ + { + icon: , + label: t("footer.downloadCV"), + onClick: () => setShowCVPopup(true) + }, { icon: , label: t("footer.legalNotice"), @@ -35,12 +41,12 @@ export const Footer = () => { const socialLinks = [ { icon: , - label: "GitHub", + label: t("footer.github"), href: "https://github.com/kinou-p" }, { icon: , - label: "Email", + label: t("footer.email"), href: "mailto:contact@apommier.com" } ]; @@ -125,7 +131,7 @@ export const Footer = () => { className="space-y-4 md:max-w-xs" >

{t("footer.information")}

-