From ac4aff4985b9050acbe84d413fd8e125e4b29386 Mon Sep 17 00:00:00 2001 From: Yvv Date: Mon, 23 Feb 2026 03:35:45 +0100 Subject: [PATCH] =?UTF-8?q?Refonte=20UI=20compl=C3=A8te=20:=20palettes=20s?= =?UTF-8?q?aisonni=C3=A8res,=20typo=20moderne,=20paroles=20nettoy=C3=A9es,?= =?UTF-8?q?=20Shadoks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Nettoyage paroles : suppression instructions Suno AI, corrections prononciation (11 fichiers) - 4 palettes saisonnières (Automne/Hiver dark, Printemps/Été light) avec sélecteur - Typographie modernisée : Outfit (display) + Inter (sans) remplacent Syne + Space Grotesk - Styles adaptatifs : CSS vars pour couleurs, overrides light mode complets - Mini-player : bouton Next ajouté, flèche expand plus visible - BookPlayer : fix scroll mode paginé, croix de fermeture visible - Illustrations Shadoks inline SVG dans 11 composants/pages - Suppression soulignés navigation, reset boutons, bordures propres Co-Authored-By: Claude Opus 4.6 --- app/app.config.ts | 2 +- app/app.vue | 3 + app/assets/css/animations.css | 4 +- app/assets/css/fonts.css | 4 +- app/assets/css/main.css | 103 +++++++- app/assets/css/typography.css | 50 ++-- app/components/book/BookPlayer.vue | 18 +- app/components/book/ChapterHeader.vue | 2 +- app/components/home/BookPresentation.vue | 61 ++++- app/components/home/BookSection.vue | 50 +++- app/components/home/CooperativeVision.vue | 54 +++- app/components/home/GrateWizardTeaser.vue | 36 ++- app/components/home/HeroSection.vue | 40 +++ app/components/home/HomeMessages.vue | 18 +- app/components/home/SongsPreview.vue | 54 +++- app/components/layout/TheFooter.vue | 61 ++++- app/components/layout/TheHeader.vue | 5 +- app/components/player/PlayerPersistent.vue | 39 ++- app/components/ui/PaletteSelector.vue | 261 ++++++++++++++++++++ app/layouts/reading.vue | 2 +- app/pages/a-propos.vue | 53 +++- app/pages/ecouter/index.vue | 58 ++++- app/pages/gratewizard.vue | 70 +++++- app/pages/lire/index.vue | 88 ++++++- app/pages/messages.vue | 4 +- app/stores/palette.ts | 118 +++++++++ content/book/annexes.md | 22 +- content/book/autres-greffes.md | 34 +-- content/book/creer-une-economie.md | 34 +-- content/book/de-quel-don-parlons-nous.md | 28 +-- content/book/echanger.md | 8 - content/book/et-maintenant.md | 16 -- content/book/introduction.md | 30 +-- content/book/la-mesure-du-don.md | 11 - content/book/la-trm.md | 5 - content/book/raison-d-etre-d-une-monnaie.md | 5 - content/book/relation-institutionnelle.md | 16 -- public/images/shadoks/shadok-bird.svg | 26 ++ public/images/shadoks/shadok-blob.svg | 14 ++ public/images/shadoks/shadok-pattern.svg | 45 ++++ public/images/shadoks/shadok-planet.svg | 17 ++ public/images/shadoks/shadok-pumper.svg | 24 ++ uno.config.ts | 71 +++--- 43 files changed, 1362 insertions(+), 302 deletions(-) create mode 100644 app/components/ui/PaletteSelector.vue create mode 100644 app/stores/palette.ts create mode 100644 public/images/shadoks/shadok-bird.svg create mode 100644 public/images/shadoks/shadok-blob.svg create mode 100644 public/images/shadoks/shadok-pattern.svg create mode 100644 public/images/shadoks/shadok-planet.svg create mode 100644 public/images/shadoks/shadok-pumper.svg diff --git a/app/app.config.ts b/app/app.config.ts index dc62412..4a94550 100644 --- a/app/app.config.ts +++ b/app/app.config.ts @@ -20,7 +20,7 @@ export default defineAppConfig({ ], }, gratewizard: { - url: 'https://gratewizard.ml', + url: import.meta.dev ? 'http://localhost:3009' : 'https://gratewizard.ml', popup: { width: 420, height: 720, diff --git a/app/app.vue b/app/app.vue index d241afc..207714b 100644 --- a/app/app.vue +++ b/app/app.vue @@ -14,6 +14,9 @@ + + diff --git a/app/components/layout/TheHeader.vue b/app/components/layout/TheHeader.vue index eaea72d..f25b035 100644 --- a/app/components/layout/TheHeader.vue +++ b/app/components/layout/TheHeader.vue @@ -2,9 +2,9 @@
- +
- {{ site?.identity.name }} + {{ site?.identity.name }} @@ -18,6 +18,7 @@ > {{ item.label }} + diff --git a/app/components/player/PlayerPersistent.vue b/app/components/player/PlayerPersistent.vue index 463995f..5278cd0 100644 --- a/app/components/player/PlayerPersistent.vue +++ b/app/components/player/PlayerPersistent.vue @@ -99,13 +99,18 @@
+ + +
@@ -116,7 +121,7 @@ import { onClickOutside } from '@vueuse/core' const store = usePlayerStore() -const { setVolume, togglePlayPause } = useAudioPlayer() +const { setVolume, togglePlayPause, playNext } = useAudioPlayer() useMediaSession() @@ -235,22 +240,40 @@ onClickOutside(widgetRef, () => { .pill-play:hover { transform: scale(1.08); } .pill-play:active { transform: scale(0.94); } +/* Next */ +.pill-next { + display: flex; + align-items: center; + justify-content: center; + width: 1.5rem; + height: 1.5rem; + border-radius: 50%; + background: transparent; + border: none; + color: hsl(0 0% 100% / 0.6); + cursor: pointer; + transition: all 0.15s; + flex-shrink: 0; +} +.pill-next:hover { color: white; } +.pill-next:disabled { opacity: 0.3; cursor: default; } + /* Expand chevron */ .pill-expand { display: flex; align-items: center; justify-content: center; - width: 1.25rem; - height: 1.25rem; + width: 1.75rem; + height: 1.75rem; border-radius: 50%; - background: transparent; + background: hsl(0 0% 100% / 0.08); border: none; - color: hsl(0 0% 100% / 0.3); + color: hsl(0 0% 100% / 0.5); cursor: pointer; - transition: color 0.2s; + transition: all 0.2s; flex-shrink: 0; } -.pill-expand:hover { color: hsl(0 0% 100% / 0.7); } +.pill-expand:hover { color: hsl(0 0% 100% / 0.9); background: hsl(0 0% 100% / 0.15); } /* ═══════════════════════════════════════ PANEL diff --git a/app/components/ui/PaletteSelector.vue b/app/components/ui/PaletteSelector.vue new file mode 100644 index 0000000..f44b743 --- /dev/null +++ b/app/components/ui/PaletteSelector.vue @@ -0,0 +1,261 @@ + + + + + diff --git a/app/layouts/reading.vue b/app/layouts/reading.vue index 781442f..2cb0f4a 100644 --- a/app/layouts/reading.vue +++ b/app/layouts/reading.vue @@ -35,7 +35,7 @@ top: var(--header-height); height: calc(100dvh - var(--header-height)); overflow-y: auto; - border-right: 1px solid hsl(0 0% 100% / 0.08); + border-right: 1px solid hsl(var(--color-text) / 0.08); padding: 1.5rem; } diff --git a/app/pages/a-propos.vue b/app/pages/a-propos.vue index 879a974..903de0e 100644 --- a/app/pages/a-propos.vue +++ b/app/pages/a-propos.vue @@ -1,5 +1,34 @@