// web/src/components/sidebar/LeftSidebar.tsx import React from "react"; import { Separator } from "../ui/separator"; import { CourseInfoSection } from "./CourseInfoSection"; import { SavedChatSection } from "./SavedChatSection"; import type { SavedChat, Workspace, LearningMode, Language, SpaceType, GroupMember, User, SavedItem, } from "../../App"; type Props = { learningMode: LearningMode; language: Language; onLearningModeChange: (m: LearningMode) => void; onLanguageChange: (l: Language) => void; spaceType: SpaceType; groupMembers: GroupMember[]; user: User | null; onLogin: (u: any) => void; onLogout: () => void; isLoggedIn: boolean; onEditProfile: () => void; savedItems: SavedItem[]; recentlySavedId: string | null; onUnsave: (id: string) => void; onSave: ( content: string, type: "export" | "quiz" | "summary", saveAsChat?: boolean, format?: "pdf" | "text", workspaceId?: string ) => void; savedChats: SavedChat[]; onLoadChat: (chat: SavedChat) => void; onDeleteSavedChat: (id: string) => void; onRenameSavedChat: (id: string, newTitle: string) => void; currentWorkspaceId: string; workspaces: Workspace[]; selectedCourse: string; availableCourses: any[]; }; export function LeftSidebar(props: Props) { const { isLoggedIn, savedChats, onLoadChat, onDeleteSavedChat, onRenameSavedChat, currentWorkspaceId, workspaces, selectedCourse, availableCourses, } = props; return (
{/* Course info(不滚动) */}
{/* Saved chats(唯一滚动区) */}
); }