feat(themes): add Kanagawa, Atom One, 1984 palettes; regroup OSS Classics by family (#390)

* feat(themes): add Kanagawa, Atom One, 1984 palettes; group OSS Classics by family

Adds three upstream-faithful theme families to Open Source Classics and
restructures the picker so the section is no longer alphabetically wild.

New themes (9 total):
- Kanagawa (rebelot/kanagawa.nvim): Wave, Dragon, Lotus
- Atom One (Th3Whit3Wolf/one-nvim): Dark, Light
- 1984 (juanmnl/vs-1984): Default, Cyberpunk, Light, Orwell
  (Fancy + Unbolded skipped — identical palette to Default, style-only)

Each theme defines the full token set (--bg-*, --accent, --text-*, all
--ctp-*, --waveform-*, --positive/warning/danger, --select-arrow), so
login screen, queue sidebar tabs, and all subpages inherit the palette
without component-level overrides.

Picker restructure:
- ThemeDef gains optional `family?: string`
- Open Source Classics regrouped: 1984, Atom One, Catppuccin, Dracula,
  Gruvbox, Kanagawa, Nightfox, Nord
- Family headings rendered inline (grid-column: 1 / -1) when family
  changes; new .theme-family-header style in components.css
- Theme scheduler dropdown labels prefixed with family for context

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(release): sync Cargo.lock to 1.45.0-dev
This commit is contained in:
Frank Stellmacher
2026-05-01 08:51:34 +02:00
committed by GitHub
parent b83c0f5e50
commit 225f7c1406
6 changed files with 613 additions and 60 deletions
+13
View File
@@ -3535,6 +3535,19 @@
opacity: 0.8;
}
/* ── Theme Family Header (subgroup label inside an accordion) ───────────── */
.theme-family-header {
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--text-muted);
padding: 4px 0 6px;
border-bottom: 1px solid var(--border-subtle);
margin-bottom: 2px;
}
/* ── Theme Card (individual theme preview button) ───────────────────────── */
.theme-card-btn {