Add a theme toggle to the home page and follow the system theme by default#5800
Add a theme toggle to the home page and follow the system theme by default#5800canova merged 5 commits intofirefox-devtools:mainfrom
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5800 +/- ##
==========================================
- Coverage 85.65% 85.56% -0.09%
==========================================
Files 319 320 +1
Lines 31343 31419 +76
Branches 8546 8649 +103
==========================================
+ Hits 26846 26884 +38
- Misses 4066 4104 +38
Partials 431 431 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
src/utils/dark-mode.ts
Outdated
| let _isDarkMode = false; | ||
|
|
||
| export function isDarkMode() { | ||
| export function getSystemPreference(): boolean { |
There was a problem hiding this comment.
The name and return type of this function are a bit hard to understand without context. Could this return 'light' | 'dark'? Or maybe 'light' | 'dark' | null? And maybe rename it to getSystemTheme.
There was a problem hiding this comment.
Ah yeah, fixed it, thanks!
| currentTheme: ThemePreference; | ||
| }; | ||
|
|
||
| class ThemeToggle extends PureComponent<{}, State> { |
There was a problem hiding this comment.
A new component but no hooks? I mean that's fine, I'm just surprised.
There was a problem hiding this comment.
Heh yeah. well, I feel like it's better to continue using the existing patterns that we have, but we need to do the switch at some point. It could actually be nicer to handle the cleanup for these, but I'll defer that to a follow-up.
Example of this was mentioned in: https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
23d30ba to
5445a18
Compare
Changes: [Nazım Can Altınova] Make the range duration text white again (#5792) [Alex Thayer] Display traced values in Stack Chart view (#5363) [Nazım Can Altınova] Improve the JS traced arguments visualization in call node tooltips (#5795) [Markus Stange] Make the argument-values.json profile fixture go through profile upgrading (#5796) [Markus Stange] Add thread.usedInnerWindowIDs to the processed profile format (#5780) [fatadel] Fix context menu and hover preview z-index (#5797) [fatadel] add TrackPower--tooltip-power-microwatt (#5799) [Markus Stange] Two small test fixes (#5801) [fatadel] fix selected thread pid color in light mode (#5805) [Markus Stange] Some fixes to the profile merging code (#5802) [fatadel] fix disabled button color in dark mode (#5808) [fatadel] add comment for uptime label translation (#5806) [Nazım Can Altınova] Add a theme toggle to the home page and follow the system theme by default (#5800) [Nazım Can Altınova] 🔃 Sync: l10n -> main (Feb 4, 2025) (#5813) And huge thanks to our localizers: de: Ger de: Michael Köhler de: Nazım Can Altınova el: Jim Spentzos en-GB: Ian Neal es-CL: ravmn fy-NL: Fjoerfoks ia: Melo46 it: Francesco Lodolo [:flod] nl: Mark Heijl pt-BR: Marcelo Ghelman ru: Valery Ledovskoy sv-SE: Andreas Pettersson tr: Selim Şumlu zh-TW: Pin-guang Chen
This PR:
Here's the home page after this:

Before / After