feat: VITE_DEV_TOOLS env-gate for preview tooling on deployed builds

Adds a useDevTools() composable that returns true when either Vite's
own DEV flag is set (local pnpm dev) or VITE_DEV_TOOLS='true' is
passed at build time. AppLayout's PaletteSwitcher now reads through
this composable, so the picker can render on earthwalker.aiolabs.dev
without flipping the build to development mode.

Single gate intentionally — future preview-only surfaces (debug
overlays, unfinished pages, work-in-progress UI) hook into the same
composable. Anything Nicholette should see but the public shouldn't
becomes a v-if="devTools" check. Set the var on the deploy host,
rebuild, surfaces appear; unset, surfaces vanish.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-05-27 11:59:26 +02:00
commit e7c62a2f8a
4 changed files with 27 additions and 2 deletions

View file

@ -13,3 +13,9 @@ VITE_OWNER_NPUB=
# wss://relay.damus.io,wss://nos.lol,wss://relay.nostr.band
# The submission succeeds if at least one relay accepts the event.
VITE_NOSTR_RELAYS=
# Optional. Set to "true" to expose in-progress preview tooling on a
# production build — the palette picker today, future debug overlays
# or unfinished pages tomorrow. Gated through useDevTools(); unset
# (or anything other than "true") strips them.
VITE_DEV_TOOLS=