0a76707062
* Emit custom event when theme changes * Type themechange custom event * Update darkmode docs
24 lines
800 B
Markdown
24 lines
800 B
Markdown
---
|
|
title: "Darkmode"
|
|
tags:
|
|
- component
|
|
---
|
|
|
|
Quartz supports darkmode out of the box that respects the user's theme preference. Any future manual toggles of the darkmode switch will be saved in the browser's local storage so it can be persisted across future page loads.
|
|
|
|
## Customization
|
|
|
|
- Removing darkmode: delete all usages of `Component.Darkmode()` from `quartz.layout.ts`.
|
|
- Component: `quartz/components/Darkmode.tsx`
|
|
- Style: `quartz/components/styles/darkmode.scss`
|
|
- Script: `quartz/components/scripts/darkmode.inline.ts`
|
|
|
|
You can also listen to the `themechange` event to perform any custom logic when the theme changes.
|
|
|
|
```js
|
|
document.addEventListener("themechange", (e) => {
|
|
console.log("Theme changed to " + e.detail.theme) // either "light" or "dark"
|
|
// your logic here
|
|
})
|
|
```
|