import { useParams, useViewport } from 'common' import { AnimatePresence } from 'framer-motion' import { Menu, Search, X } from 'lucide-react' import { useRef } from 'react' import { Button, cn, KeyboardShortcut } from 'ui' import { getToolbarStyle } from './FloatingMobileToolbar.utils' import { useFloatingToolbarDrag } from './useFloatingToolbarDrag' import { useFloatingToolbarNavSize } from './useFloatingToolbarNavSize' import { useFloatingToolbarSheet } from './useFloatingToolbarSheet' import { useFloatingToolbarSidebarClick } from './useFloatingToolbarSidebarClick' import { AdvisorButton } from '@/components/layouts/AppLayout/AdvisorButton' import { AssistantButton } from '@/components/layouts/AppLayout/AssistantButton' import { InlineEditorButton } from '@/components/layouts/AppLayout/InlineEditorButton' import { SIDEBAR_KEYS } from '@/components/layouts/ProjectLayout/LayoutSidebar/LayoutSidebarProvider' import { ButtonTooltip } from '@/components/ui/ButtonTooltip' import { HelpButton } from '@/components/ui/HelpPanel/HelpButton' export const FloatingMobileToolbar = ({ hideMobileMenu }: { hideMobileMenu?: boolean }) => { const navRef = useRef(null) const sheet = useFloatingToolbarSheet(hideMobileMenu) const drag = useFloatingToolbarDrag(navRef) const handleNavClickCapture = useFloatingToolbarSidebarClick() const navSize = useFloatingToolbarNavSize(navRef, sheet.isSheetOpen) const viewport = useViewport() const { handleSearchClick, isSearchOpen } = sheet const style = getToolbarStyle({ position: drag.position, navSize, isSheetOpen: sheet.isSheetOpen, viewport, isDragging: drag.dragStartRef.current !== null, }) const { ref: projectRef } = useParams() return ( ) }