Skip to content

refactor(ui): Finished refactoring of UI. - #68

Merged
schizza merged 2 commits into
devfrom
refactor/ui_all_pages
May 21, 2026
Merged

refactor(ui): Finished refactoring of UI.#68
schizza merged 2 commits into
devfrom
refactor/ui_all_pages

Conversation

@schizza

@schizza schizza commented May 21, 2026

Copy link
Copy Markdown
Owner

No description provided.

Settings components now uses `page` or `page_with_sections` to unify
behavior.
@github-actions github-actions Bot added the refactor Code cleanup without behavior change label May 21, 2026
@schizza
schizza enabled auto-merge (squash) May 21, 2026 12:36
@schizza
schizza merged commit d24d7f8 into dev May 21, 2026
3 checks passed
@schizza
schizza deleted the refactor/ui_all_pages branch May 21, 2026 15:27
@schizza schizza mentioned this pull request May 21, 2026
schizza added a commit that referenced this pull request May 21, 2026
schizza added a commit that referenced this pull request May 21, 2026
## v0.0.8

Cut from `dev` after custom themes, the System Information page, and a
Settings UI refactor landed. Three squash-merged PRs.

### Features

- **Custom JSON themes** (#67) — user-supplied themes load from
  `<config>/themes/*.json` and appear in Settings → Appearance
  alongside the built-in Mac Light / Mac Dark. Palette serde via hex
  color strings; ThemeDef carries name/author/appearance metadata.
  Loader skips malformed files (bad JSON, missing fields, invalid hex)
  with a warning — one broken theme never blocks the rest. Config.theme
  is now a name (legacy ThemeKind enum values migrate). Ships five
  example themes in `assets/themes/`. Theme selection deduped by name
  for deterministic resolution; unresolvable themes fall back to Mac
  Dark (not the first catalog entry).

- **System Information page** (#66) — new Settings page combining GPU
  info from iced (wgpu adapter introspection) with hostname / OS /
  kernel / CPU+live load / memory / uptime from the sysinfo crate.
  Fetched lazily on Settings open (the compositor — and thus GPU info —
  only exists after a window is created; fetching from boot races
  init). Clipboard copy for issue reports + manual refresh.

- **Settings UI refactor** (#68) — General page reorganized into
  consistent cards (about / status / preferences / tools) with quick
  links to homepage, docs, issues. Scrollable lists gained a scrollbar
  gutter so the rail no longer overlaps content. Declarative
  settings_components builders (page_with_sections, item_with_*) trim
  per-page boilerplate.

### Notes

- Existing config.json upgrades cleanly; theme name migrates from the
  old enum, new fields use serde defaults.
- Dependabot #65 (openssl 0.10.79) targets main and bumps an unused
  transitive dep (rustls is used throughout) — handle after this
  release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor Code cleanup without behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant