import { NavLink, Outlet, useNavigate } from 'react-router-dom'
import { LayoutGrid, BarChart3, Link, Plus, Search } from 'lucide-react'
import { useState, useEffect, useCallback } from 'react'
import SearchModal from './SearchModal.tsx'
const navItems = [
{ to: '/board', label: 'Board', icon: LayoutGrid },
{ to: '/analytics', label: 'Analytics', icon: BarChart3 },
{ to: '/mappings', label: 'Mappings', icon: Link },
]
export default function Layout() {
const navigate = useNavigate()
const [searchOpen, setSearchOpen] = useState(false)
const [showCreateHint, setShowCreateHint] = useState(false)
// Global Cmd+K handler
const handleGlobalKeyDown = useCallback((e: KeyboardEvent) => {
if ((e.metaKey || e.ctrlKey) && e.key === 'k') {
e.preventDefault()
setSearchOpen(true)
}
}, [])
useEffect(() => {
document.addEventListener('keydown', handleGlobalKeyDown)
return () => document.removeEventListener('keydown', handleGlobalKeyDown)
}, [handleGlobalKeyDown])
return (
{/* Top navigation bar */}
{/* Logo */}
{/* Nav tabs */}
{/* Spacer */}
{/* Search trigger */}
{/* New task button */}
{/* Content */}
{/* Search modal */}
{searchOpen && (
{
setSearchOpen(false)
navigate(`/board?task=${taskId}`)
}}
onClose={() => setSearchOpen(false)}
/>
)}
)
}