()
| 8 | import { Button } from "@/components/ui/button"; |
| 9 | |
| 10 | export function ModeSwitcher() { |
| 11 | const { setTheme, resolvedTheme } = useTheme(); |
| 12 | |
| 13 | const toggleTheme = useCallback(() => { |
| 14 | setTheme(resolvedTheme === "dark" ? "light" : "dark"); |
| 15 | }, [resolvedTheme, setTheme]); |
| 16 | |
| 17 | useEffect(() => { |
| 18 | function onKeyDown(event: KeyboardEvent) { |
| 19 | if ( |
| 20 | event.target instanceof HTMLElement && |
| 21 | (event.target.tagName === "INPUT" || |
| 22 | event.target.tagName === "TEXTAREA" || |
| 23 | event.target.tagName === "SELECT" || |
| 24 | event.target.isContentEditable) |
| 25 | ) { |
| 26 | return; |
| 27 | } |
| 28 | |
| 29 | if ( |
| 30 | !(event.metaKey || event.ctrlKey) || |
| 31 | !event.shiftKey || |
| 32 | event.key.toLowerCase() !== "d" |
| 33 | ) { |
| 34 | return; |
nothing calls this directly
no outgoing calls
no test coverage detected