Skip to content

feat: add system theme option with an accessible theme menu - #124

Open
justraman wants to merge 4 commits into
mainfrom
rs/issue-112
Open

feat: add system theme option with an accessible theme menu#124
justraman wants to merge 4 commits into
mainfrom
rs/issue-112

Conversation

@justraman

Copy link
Copy Markdown
Contributor

Closes #112

After first use the theme toggle became a binary light/dark switch and
stopped following OS theme changes. This replaces the cycling button
with a small popover menu offering Light / Dark / System, where System
tracks prefers-color-scheme live.

@github-actions

Copy link
Copy Markdown
Contributor

⚡ Performance Report

⚠️ No baseline found on main. This PR's results are recorded but cannot be compared.
Merge to main to establish a baseline.

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Bundle Size Report

Chunks over 500 KB:

File Raw Brotli Gzip
host/assets/paseo.smol-DboPaEh1.json 1.84 MB 941.7 KB 1019.4 KB
host/assets/paseo-people-next.smol.json 3.36 MB 1.68 MB 1.82 MB
host/assets/previewnet.smol.json 1.88 MB 181.4 KB 353.0 KB
host/assets/smoldot.js 2.98 MB 2.22 MB (+52 B) 2.23 MB
host/assets/smoldot_worker.js 2.95 MB 2.21 MB 2.22 MB
host/assets/wasm/web/truapi_server_bg.wasm 1.97 MB 623.3 KB 818.7 KB
Total 15.97 MB (+13.3 KB) 8.13 MB (+2.3 KB) (-49%) 8.76 MB (+2.7 KB)
All files
File Raw Brotli Gzip
host/.well-known/apple-app-site-association 738 B 738 B 738 B
host/.well-known/assetlinks.json 1.3 KB 317 B 391 B
host/assets/bridge.js 68.9 KB 18.8 KB (+36 B) 21.6 KB (+2 B)
host/assets/browser.js 22.9 KB 7.6 KB (-2 B) 8.6 KB (+2 B)
host/assets/client.js 100.1 KB 29.4 KB (+10 B) 32.4 KB (+4 B)
host/assets/dist.js 39.0 KB 12.8 KB (-41 B) 14.6 KB (+1 B)
host/assets/dotli-debug-bus.js 710 B 710 B 710 B
host/assets/get-sync-provider.js 2.8 KB 1.1 KB (+1 B) 1.2 KB (+2 B)
host/assets/hex.js 154 B 154 B 154 B
host/assets/index.js 186.5 KB (+1.6 KB) 46.9 KB (+362 B) 56.0 KB (+485 B)
host/assets/index.css 45.9 KB (+725 B) 7.2 KB (+102 B) 8.1 KB (+127 B)
host/assets/manifest.js 22.5 KB 7.2 KB (-4 B) 7.9 KB (+2 B)
host/assets/panel.js 72.9 KB 19.8 KB (+9 B) 22.4 KB (+1 B)
host/assets/paseo.smol-DboPaEh1.json 1.84 MB 941.7 KB 1019.4 KB
host/assets/paseo-people-next.smol.json 3.36 MB 1.68 MB 1.82 MB
host/assets/paseo.smol.json 25.4 KB 4.9 KB 5.6 KB
host/assets/previewnet.smol.json 1.88 MB 181.4 KB 353.0 KB
host/assets/resolve.js 128 B 128 B 128 B
host/assets/rpc-resolve.js 2.4 KB 1.0 KB (-1 B) 1.1 KB (+2 B)
host/assets/shared-mode.js 1.8 KB 744 B (+1 B) 845 B
host/assets/smoldot.js 2.98 MB 2.22 MB (+52 B) 2.23 MB
host/assets/smoldot_worker.js 2.95 MB 2.21 MB 2.22 MB
host/assets/src.js 1.8 KB 849 B (-6 B) 946 B (+2 B)
host/assets/styles.css 15.1 KB 3.2 KB 3.8 KB
host/assets/wasm/web/README.md 10.9 KB 10.9 KB 10.9 KB
host/assets/wasm/web/package.json 371 B 371 B 371 B
host/assets/wasm/web/truapi_server.d.ts 6.9 KB 6.9 KB 6.9 KB
host/assets/wasm/web/truapi_server.js 35.6 KB 6.3 KB 7.2 KB
host/assets/wasm/web/truapi_server_bg.wasm 1.97 MB 623.3 KB 818.7 KB
host/assets/wasm/web/truapi_server_bg.wasm.d.ts 2.5 KB 2.5 KB 2.5 KB
host/assets/web.js 13.2 KB 3.5 KB 4.0 KB
host/assets/worker-runtime.js 6.3 KB (+6.2 KB) 1.6 KB (+1.5 KB) 1.8 KB (+1.7 KB)
host/assets/worker-runtime.js 106 B 106 B 106 B
host/assets/ws.js 23.1 KB 7.5 KB (+12 B) 8.2 KB (+4 B)
host/dotli.png 11.5 KB 11.5 KB 11.5 KB
host/favicon.svg 1.8 KB 1.8 KB 1.8 KB
host/host-sw.js 2.7 KB 1.1 KB (+16 B) 1.2 KB
host/icon-192.png 12.5 KB 12.5 KB 12.5 KB
host/icon-512.png 42.8 KB 42.8 KB 42.8 KB
host/index.html 23.9 KB (+4.0 KB) 4.6 KB (+222 B) 5.7 KB (+273 B)
host/manifest.webmanifest 441 B 441 B 441 B
host/workbox.js 14.8 KB 4.6 KB 5.1 KB
sandbox/app-sw.js 9.6 KB 3.1 KB (-1 B) 3.5 KB
sandbox/assets/bitswap-bridge.js 840 B 840 B 840 B
sandbox/assets/fetch.js 3.4 KB 1.2 KB 1.4 KB (+1 B)
sandbox/assets/index.css 45.9 KB (+725 B) 7.2 KB (+102 B) 8.1 KB (+127 B)
sandbox/assets/index.js 118.0 KB 33.7 KB (-36 B) 39.6 KB (+3 B)
sandbox/favicon.svg 1.8 KB 1.8 KB 1.8 KB
sandbox/index.html 1.7 KB 580 B (-1 B) 789 B (+2 B)
Total 15.97 MB (+13.3 KB) 8.13 MB (+2.3 KB) (-49%) 8.76 MB (+2.7 KB)

Commit: b4dbce8

@github-actions

github-actions Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

E2E Product suite failed on 277696f68b868ebd193b576f944aa5e173147162 — 38 passed, 23 failed, 1 skipped.

Failed tests:

  • Product is ready
  • Get Product Account
  • Product Signer
  • Account Connection Status
  • Product Account Alias
  • Request Login
  • Get User Identity
  • Subscribe Theme
  • Derive Entropy
  • Well-Known Chains
  • StatementStore Allowance
  • Bulletin Allowance
  • Smart-Contract Allowance
  • All Allowances
  • String Write & Read
  • Bytes Write & Read
  • JSON Write & Read
  • Clear
  • Factory
  • Feature Check
  • Remote: HTTP/WS
  • Remote: WebRTC
  • Remote: Chain Submit

Logs: https://github.com/paritytech/dotli-community/actions/runs/30492123089
Artifacts: e2e-product-results (uploaded above) — open the failed test's trace.zip with npx playwright show-trace.

BigTava
BigTava previously approved these changes Jul 28, 2026

@BigTava BigTava left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No inline commets in tests. Pure // Given // When // Then please, so it easier for humans to see

Comment thread packages/ui/tests/topbar.test.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a System option to the theme toggle

2 participants