Skip to content

Add Miku and Catppuccin interface themes - #70

Merged
snekxs merged 5 commits into
OpenMouse-Project:devfrom
jazzstack:feat/interface-themes
Aug 11, 2026
Merged

snekxs merged 5 commits into
OpenMouse-Project:devfrom
jazzstack:feat/interface-themes

Conversation

@jazzstack

Copy link
Copy Markdown
Contributor

Summary

Adds four selectable accent themes to the Interface settings → Appearance → Accent theme dropdown:

  • Hatsune Miku — a dark teal synth palette. Also introduces the shared surface/border/text token set and recolours the existing components off hardcoded values, so every theme (including the existing Emerald, Violet, Ice, Ember and Mono ones) now responds to tokens instead of being recoloured case by case.
  • Catppuccin Mocha — warm dark, espresso-flavoured catppuccin, mocha variant.
  • Catppuccin Macchiato — the deep-blue macchiato variant.
  • Catppuccin Frappé — the lighter, softer frappé variant.

The Catppuccin family ships its raw palette plus a shared semantic token mapping, so the three variants share a single block of component-level overrides.

What changed

  • src/interface-preferences.ts — persisted theme list extended with the new entries and the InterfaceTheme type.
  • src/control-template.ts — new options in the accent-theme <select>.
  • src/control.css — the Miku palette, the Catppuccin family blocks, and the token-based recolouring.
  • src/control.ts — theme display name → dataset slug mapping via interfaceThemeSlug.
  • build/check-bundle-size.ts — CSS/JS budgets raised with justification.

Test plan

  1. Open a device (or empty state) and go to Interface settings → Appearance → Accent theme.
  2. Cycle through Miku, Catppuccin Mocha, Catppuccin Macchiato and Catppuccin Frappé and confirm active controls, status lights, switches and focus highlights all re-tint.
  3. Reload the page to confirm the chosen theme persists.

The theme preference persists via the existing openmouse-interface-settings-v1 storage key.

@snekxs
snekxs merged commit bac3f2c into OpenMouse-Project:dev Aug 11, 2026
3 checks passed
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.

2 participants