import { Toolbar } from '../Toolbar' import UserSidebarMenu from './UserSidebarMenu' import { type IndexLoaderData } from 'lib/types' import ProjectSidebarMenu from './ProjectSidebarMenu' import { useSettingsAuthContext } from 'hooks/useSettingsAuthContext' import styles from './AppHeader.module.css' import { NetworkHealthIndicator } from './NetworkHealthIndicator' import { useCommandsContext } from 'hooks/useCommandsContext' import { ActionButton } from './ActionButton' import usePlatform from 'hooks/usePlatform' interface AppHeaderProps extends React.PropsWithChildren { showToolbar?: boolean project?: Omit className?: string enableMenu?: boolean } export const AppHeader = ({ showToolbar = true, project, children, className = '', enableMenu = false, }: AppHeaderProps) => { const platform = usePlatform() const { commandBarSend } = useCommandsContext() const { auth } = useSettingsAuthContext() const user = auth?.context?.user return (
{/* Toolbar if the context deems it */}
{showToolbar ? ( ) : ( commandBarSend({ type: 'Open' })} className="text-sm self-center flex items-center w-fit gap-3" > Command Palette{' '} {platform === 'darwin' ? '⌘K' : 'Ctrl+/'} )}
{/* If there are children, show them, otherwise show User menu */} {children || ( <> )}
) }