import React from 'react'; import { BellIcon, SunIcon, MoonIcon, Bars3Icon, Cog6ToothIcon, MagnifyingGlassIcon, XMarkIcon, CheckIcon, } from '@heroicons/react/24/outline'; import { useUiStore, HUES, type BrandHue } from '../../stores/uiStore'; import Portal from '../ui/Portal'; export default function Topbar({ onMobileMenuOpen }: { onMobileMenuOpen?: () => void }) { const toggleSidebar = useUiStore((s) => s.toggleSidebar); const darkMode = useUiStore((s) => s.darkMode); const toggleDarkMode = useUiStore((s) => s.toggleDarkMode); const density = useUiStore((s) => s.density); const setDensity = useUiStore((s) => s.setDensity); const brandHue = useUiStore((s) => s.brandHue); const setBrandHue = useUiStore((s) => s.setBrandHue); const sidebarOpen = useUiStore((s) => s.sidebarOpen); const settingsPanelOpen = useUiStore((s) => s.settingsPanelOpen); const toggleSettingsPanel = useUiStore((s) => s.toggleSettingsPanel); return ( <> {/* Sidebar toggle */} {/* Search bar */} ⌘K {/* Dark mode */} {darkMode ? : } {/* Bell */} {/* Settings */} {/* Avatar */} A {/* Settings Panel */} {settingsPanelOpen && ( e.stopPropagation()} > شخصیسازی {/* Theme */} حالت نمایش { if (darkMode) toggleDarkMode(); }} > روشن { if (!darkMode) toggleDarkMode(); }} > تیره {/* Brand color */} رنگ اصلی {HUES.map((hue) => ( setBrandHue(hue as BrandHue)} title={hue.name} style={{ width: 40, height: 40, borderRadius: 10, background: `oklch(0.55 ${hue.c} ${hue.h})`, border: brandHue.h === hue.h ? '3px solid var(--text)' : '3px solid transparent', display: 'grid', placeItems: 'center', color: '#fff', cursor: 'pointer', }} > {brandHue.h === hue.h && } ))} {/* Density */} تراکم اطلاعات setDensity('comfortable')} >جادار setDensity('compact')} >فشرده {/* Sidebar */} سایدبار { if (!sidebarOpen) toggleSidebar(); }} >کامل { if (sidebarOpen) toggleSidebar(); }} >جمعشده تنظیمات شما بهصورت خودکار ذخیره میشود. )} > ); }