Toggle dark mode

This example demonstrates how to change the user's current colorScheme preference back-and-forth between dark mode and light mode. Try it out by clicking the button at the top of the page.

import { Tldraw, useEditor } from 'tldraw'
import 'tldraw/tldraw.css'

function DarkModeButton() {
	const editor = useEditor()

	const handleClick = () => {
		const isDark = editor.user.getIsDarkMode()
		editor.user.updateUserPreferences({ colorScheme: isDark ? 'light' : 'dark' })
	}

	return (
		<button style={{ pointerEvents: 'all' }} onClick={handleClick}>
			Toggle dark mode
		</button>
	)
}

export default function DarkModeToggleExample() {
	return (
		<div className="tldraw__editor">
			<Tldraw components={{ TopPanel: DarkModeButton }} />
		</div>
	)
}
Is this page helpful?
Prev
Infer dark mode
Next
Layer panel