import { Suspense } from 'react' import { isAnonymousMode } from '@/lib/auth/provider' import type { AppUser } from '@/lib/auth/types' import { cn } from '@/lib/utils' import { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMenu, SidebarRail, SidebarTrigger } from '@/components/ui/sidebar' import { ChatHistorySection } from './sidebar/chat-history-section' import { ChatHistorySkeleton } from './sidebar/chat-history-skeleton' import { HomeLink } from './sidebar/home-link' import { LibraryMenuItem } from './sidebar/library-menu-item' import { NewChatMenuItem } from './sidebar/new-chat-menu-item' import { VersionFooter } from './sidebar/version-footer' import { VersionFooterSkeleton } from './sidebar/version-footer-skeleton' import { IconLogo } from './ui/icons' export default function AppSidebar({ user }: { user?: AppUser | null }) { // Anonymous mode has no per-user library, and the server actions reject it, // so the entry point follows the same switch the pages use. const libraryAvailable = !isAnonymousMode() const versionFooterEnabled = process.env.MORPHIC_CLOUD_DEPLOYMENT !== 'true' return ( Morphic {libraryAvailable && }
}>
{versionFooterEnabled && ( }> )}
) }