Skip to content

Commit

Permalink
Add matchMedia for dark mode
Browse files Browse the repository at this point in the history
  • Loading branch information
sudheerj committed Jul 1, 2024
1 parent f184322 commit 8f2f92b
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8735,6 +8735,31 @@ The execution context is created when a function is called. The function's code
**[⬆ Back to Top](#table-of-contents)**
464. ### How to detect system dark mode in javascript?
The combination of `Window.matchMedia()` utility method along with media query is used to check if the user has selected a dark color scheme in their operating system settings or not. The CSS media query `prefers-color-scheme` needs to be passed to identify system color theme.
The following javascript code describes the usage,
```javascript
const hasDarkColorScheme = () =>
window.matchMedia &&
window.matchMedia('(prefers-color-scheme: dark)').matches;
```
You can also watch changes to system color scheme using `addEventListener`,
```javascript
window
.matchMedia("(prefers-color-scheme: dark)")
.addEventListener("change", (event) => {
const theme = event.matches ? "dark" : "light";
});
```
**Note:** The matchMedia method returns **MediaQueryList** object stores information from a media query.
**[⬆ Back to Top](#table-of-contents)**
<!-- QUESTIONS_END -->
### Coding Exercise
Expand Down

0 comments on commit 8f2f92b

Please sign in to comment.