import { useMemo } from 'react'; import { useFloatingSidebarHidden } from '../hooks/useFloatingSidebarHidden'; import { useSidebarHidden } from '../hooks/useSidebarHidden'; import { CreateDropdown } from './CreateDropdown'; import { IconButton } from './core/IconButton'; import { HStack } from './core/Stacks'; interface Props { floating?: boolean; } export function SidebarActions({ floating = false }: Props) { const [sidebarHidden, setSidebarHidden] = useSidebarHidden(); const [floatingHidden, setFloatingHidden] = useFloatingSidebarHidden(); const hidden = floating ? floatingHidden : sidebarHidden; const setHidden = useMemo( () => (floating ? setFloatingHidden : setSidebarHidden), [floating, setFloatingHidden, setSidebarHidden], ); return ( { await setHidden(!hidden); }} className="pointer-events-auto" size="sm" title="Toggle sidebar" icon={hidden ? 'left_panel_hidden' : 'left_panel_visible'} iconColor="secondary" /> ); }