feat(renderer): Zen mode (Esc exits, hides chrome)

This commit is contained in:
2026-06-06 08:13:38 +05:30
parent 8822c9a2f9
commit 1ccde4baa3
3 changed files with 83 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
import { useEffect } from 'react';
import { useAppStore } from '@/stores/app-store';
/**
* Mounts a global keydown listener that exits zen mode when the user
* presses Escape. Should be called once at the App root.
*/
export function useZenMode() {
const zenMode = useAppStore((s) => s.zenMode);
const setZenMode = useAppStore((s) => s.setZenMode);
useEffect(() => {
if (!zenMode) return;
const handler = (e: KeyboardEvent) => {
if (e.key === 'Escape') {
setZenMode(false);
}
};
window.addEventListener('keydown', handler);
return () => window.removeEventListener('keydown', handler);
}, [zenMode, setZenMode]);
}