From 6bbf4286c3deaad8a354dd973a8d8fc8890bfdde Mon Sep 17 00:00:00 2001 From: Steffen Becker Date: Thu, 20 Aug 2026 14:56:48 +0200 Subject: [PATCH] style: the floating-island chrome is dev-only in the menu The appearance menu's "Modern (beta)" entry sits behind import.meta.env.DEV, so a production build offers no way into the island chrome until it catches up with the ribbon. The chrome itself and a stored 'modern' pref keep working. --- docs/architecture/ribbon.md | 4 +++- src/lib/components/ribbon/Ribbon.svelte | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/architecture/ribbon.md b/docs/architecture/ribbon.md index 987f5ba..a43e772 100644 --- a/docs/architecture/ribbon.md +++ b/docs/architecture/ribbon.md @@ -9,7 +9,9 @@ compared. Everything the ribbon drives is the same editor, through the same comm `chromeMode: 'modern' | 'ribbon'` lives in `storage/theme.ts` beside the other UI-chrome prefs (`edentext-chrome`, default `'ribbon'`). `App.svelte` forks on it: the ribbon docks as a plain flex child, the island keeps its absolute overlay. Reachable from both sides — the theme dropdown -in the modern chrome, the strip's appearance menu in the ribbon. +in the modern chrome, the strip's appearance menu in the ribbon. The ribbon's menu entry for the +island is behind `import.meta.env.DEV` until the island catches up — a production build offers no +way in, but a stored `'modern'` pref still loads it. `--toolbar-overlay-h` is written **only** in modern mode. `editor.css` reads it as `var(--toolbar-overlay-h, 0px)`, so the ribbon's docked layout needs no second rule. diff --git a/src/lib/components/ribbon/Ribbon.svelte b/src/lib/components/ribbon/Ribbon.svelte index 68a3a42..b88bad5 100644 --- a/src/lib/components/ribbon/Ribbon.svelte +++ b/src/lib/components/ribbon/Ribbon.svelte @@ -319,9 +319,11 @@ - + {#if import.meta.env.DEV} + + {/if}
{t().appearance.title}
{#each (['light', 'dark', 'allBlack', 'auto'] as const) as m}