From ace58186c07336b5f34045eede734fa99274fa05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Sun, 9 Aug 2026 09:07:53 +0400 Subject: [PATCH] =?UTF-8?q?feat:=20remplace=20le=20sprite=20SVG=20OKI=20pa?= =?UTF-8?q?r=20les=20ic=C3=B4nes=20Lucide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ajoute @lucide/svelte et le composant Icon avec son mapping - Adapte chaque icône au sens du texte (flag, unlock, handshake, shield, landmark, briefcase, music, clapperboard, mic, file-text, etc.) - Remplace tous les par - Met à jour BrandIcon pour utiliser Lucide Mail - Supprime static/icons.svg devenu inutile - Ajuste les styles scoped avec :global() pour cibler les SVG Lucide - Met à jour README.md et CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- README.md | 2 +- package-lock.json | 10 +++ package.json | 1 + src/lib/components/Nav.svelte | 21 ++---- src/lib/components/icons/BrandIcon.svelte | 14 ++-- src/lib/components/icons/Icon.svelte | 19 +++++ src/lib/components/icons/lucide-map.ts | 63 +++++++++++++++++ src/lib/components/motion/Marquee.svelte | 5 +- src/lib/components/sections/Contact.svelte | 5 +- src/lib/components/sections/Djangokam.svelte | 7 +- src/lib/components/sections/Engagement.svelte | 7 +- src/lib/components/sections/Faq.svelte | 8 +-- src/lib/components/sections/Hero.svelte | 3 +- src/lib/components/sections/Mission.svelte | 7 +- src/lib/components/sections/Projects.svelte | 7 +- src/lib/components/sections/Publics.svelte | 7 +- src/lib/components/sections/pictos.ts | 45 ++++++------ src/routes/+error.svelte | 5 +- src/routes/dons/+page.svelte | 13 ++-- src/routes/en/donate/+page.svelte | 13 ++-- src/routes/en/press/+page.svelte | 5 +- src/routes/offline/+page.svelte | 5 +- src/routes/presse/+page.svelte | 5 +- static/icons.svg | 70 ------------------- 25 files changed, 180 insertions(+), 169 deletions(-) create mode 100644 src/lib/components/icons/Icon.svelte create mode 100644 src/lib/components/icons/lucide-map.ts delete mode 100644 static/icons.svg diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 10becd9..737ad4c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -94,7 +94,7 @@ Les liens de contact sont regroupés dans `src/lib/i18n/fr/contact.json` (et `en - Sections de l'accueil : `src/lib/components/sections/` - Layout : `Nav.svelte`, `Footer.svelte`, `Seo.svelte` - Motion : `src/lib/components/motion/` (KineticText, ScrollProgressBar) -- Icônes : sprite `static/icons.svg` (set OKI, charte §4) et `src/lib/components/icons/BrandIcon.svelte` (logos de marques) +- Icônes : `@lucide/svelte` via `src/lib/components/icons/Icon.svelte` (mapping sémantique dans `lucide-map.ts`) et `src/lib/components/icons/BrandIcon.svelte` (logos de marques non disponibles dans Lucide) Après toute modification d'un composant, passez l'autofixer (voir `svelte-5_code_writer.md`) : diff --git a/README.md b/README.md index d689c98..5e8c009 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ src/ offline/ # page hors-ligne (cible navigateFallback du SW) +error.svelte # 404/erreurs designée (microcopy KA) static/ - fonts/ icons.svg images/ assets/press/ theme.js lang-redirect.js + fonts/ images/ assets/press/ theme.js lang-redirect.js manifest.webmanifest 404.html robots.txt sitemap.xml _headers .htaccess ``` diff --git a/package-lock.json b/package-lock.json index 772c7f3..cb54559 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "dependencies": { "@fontsource/archivo": "^5.3.0", "@fontsource/inter": "^5.3.0", + "@lucide/svelte": "^1.30.0", "gsap": "^3.15.0", "lenis": "^1.3.25" }, @@ -2285,6 +2286,15 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@lucide/svelte": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-1.30.0.tgz", + "integrity": "sha512-KtVrqWT3BD41kf1CPaP4QTAyofw0xm5hw/JGwd76+wMk1l0ZcXskA2Wi9ANVWCsk7mGrpFo2SqL3Hl29xTkV3w==", + "license": "ISC", + "peerDependencies": { + "svelte": "^5" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", diff --git a/package.json b/package.json index 2672f44..ad12d70 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "dependencies": { "@fontsource/archivo": "^5.3.0", "@fontsource/inter": "^5.3.0", + "@lucide/svelte": "^1.30.0", "gsap": "^3.15.0", "lenis": "^1.3.25" } diff --git a/src/lib/components/Nav.svelte b/src/lib/components/Nav.svelte index 0419132..f9f4452 100644 --- a/src/lib/components/Nav.svelte +++ b/src/lib/components/Nav.svelte @@ -2,6 +2,7 @@ import { page } from '$app/state'; import { resolve } from '$app/paths'; import { onMount } from 'svelte'; + import Icon from '$lib/components/icons/Icon.svelte'; import { alternatePath, type Bundle, type Locale } from '$lib/i18n'; let { t, locale }: { t: Bundle; locale: Locale } = $props(); @@ -124,13 +125,8 @@ title={t.ui.theme_toggle} onclick={toggleTheme} > - - + +