import { useEffect, useState } from 'react'; import { BookOpen, Compass, Plus, Star, X, Zap } from 'lucide-react'; import { AITutorLogo } from '../ReactIcons/AITutorLogo'; import { UpgradeAccountModal } from '../Billing/UpgradeAccountModal'; import { useIsPaidUser } from '../../queries/billing'; import { isLoggedIn } from '../../lib/jwt'; type AITutorSidebarProps = { isFloating: boolean; activeTab: AITutorTab; onClose: () => void; }; const sidebarItems = [ { key: 'new', label: 'New Course', href: '/ai', icon: Plus, }, { key: 'courses', label: 'My Courses', href: '/ai/courses', icon: BookOpen, }, { key: 'staff-picks', label: 'Staff Picks', href: '/ai/staff-picks', icon: Star, }, { key: 'community', label: 'Community', href: '/ai/community', icon: Compass, }, ]; export type AITutorTab = (typeof sidebarItems)[number]['key']; export function AITutorSidebar(props: AITutorSidebarProps) { const { activeTab, isFloating, onClose } = props; const [isInitialLoad, setIsInitialLoad] = useState(true); const [isUpgradeModalOpen, setIsUpgradeModalOpen] = useState(false); const { isPaidUser, isLoading: isPaidUserLoading } = useIsPaidUser(); useEffect(() => { setIsInitialLoad(false); }, []); return ( <> {isUpgradeModalOpen && ( setIsUpgradeModalOpen(false)} /> )} {isFloating && (
)} ); }