Skip to content

Icon-style build switch: hollow outline default, plain glass opt-in#928

Open
mremond wants to merge 9 commits into
mainfrom
mr/icon-hollow-variant
Open

Icon-style build switch: hollow outline default, plain glass opt-in#928
mremond wants to merge 9 commits into
mainfrom
mr/icon-hollow-variant

Conversation

@mremond

@mremond mremond commented Jul 8, 2026

Copy link
Copy Markdown
Member

Adds a build-time switch (VITE_FLUUX_ICON_STYLE) that selects the app's chat-bubble icon treatment across everything — the login mark, the native desktop/dock/taskbar/installer icons, the PWA icons, and the favicon — in one build.

The gradient is unchanged; only the glyph differs.

How it works

  • Login mark (bundle-time): LoginScreen.tsx reads import.meta.env.VITE_FLUUX_ICON_STYLE at render time (same pattern as VITE_SHOW_LOGO) and renders HollowIconMark or AppIconMark.
  • Native/PWA/favicon (build-time): scripts/select-icon-variant.mjs (wired via predev/prebuild/pretauri:*) copies a committed icon-variants/{plain,hollow}/dist/ tree over the live icon locations. Default/unset/unknown → hollow; only plain opts out.
  • Both variants are fully generated and committed; generate.sh [plain|hollow|all] regenerates them. A guard test asserts the committed live icons stay byte-identical to icon-variants/hollow/dist.

Usage: VITE_FLUUX_ICON_STYLE=plain npm run tauri:build for the glass variant; default builds are hollow.

Design/plan: docs/superpowers/specs/2026-07-08-icon-style-build-switch-design.md.

Closes #910.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reuse round empty chat bubble logo consistently across the app

1 participant