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 @@