import { useEffect, useRef } from 'react' import ProjectList from './components/Projects/ProjectList' import MainCalendar from './components/Calendar/MainCalendar' import FocusDrawer from './components/FocusView/FocusDrawer' import ToastContainer from './components/UI/Toast' import useProjectStore from './store/useProjectStore' import useUIStore from './store/useUIStore' export default function App() { const { loadProjects } = useProjectStore() const { sidebarOpen, toggleSidebar } = useUIStore() const calApiRef = useRef(null) const newProjectFn = useRef(null) useEffect(() => { loadProjects() }, []) useEffect(() => { const handler = (e) => { if (['INPUT','TEXTAREA','SELECT'].includes(e.target.tagName)) return if (e.key === 'n' || e.key === 'N') { e.preventDefault(); newProjectFn.current?.() } if (e.key === 'b' || e.key === 'B') toggleSidebar() if (e.key === 'ArrowLeft' && calApiRef.current) calApiRef.current.prev() if (e.key === 'ArrowRight' && calApiRef.current) calApiRef.current.next() if ((e.key === 't' || e.key === 'T') && calApiRef.current) calApiRef.current.today() } document.addEventListener('keydown', handler) return () => document.removeEventListener('keydown', handler) }, [toggleSidebar]) return (