mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-11-13 06:31:47 +00:00
* feat(plugins): add full-stack contributions and bookmarks example * ci(plugins): provision bookmark gateway for browser tests * fix(plugins): authenticate module downloads through configured backend * fix(plugins): isolate contributions and localize extension UI * fix(plugins): preserve bookmark agent routing and contain async callbacks * fix(plugins): pin durable batch workers to app extension snapshots
50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
"use client";
|
|
|
|
import {
|
|
Sidebar,
|
|
SidebarHeader,
|
|
SidebarContent,
|
|
SidebarFooter,
|
|
SidebarRail,
|
|
useSidebar,
|
|
} from "@/components/ui/sidebar";
|
|
|
|
import { WorkspaceChannelsList } from "./channels/workspace-channels-list";
|
|
import { PluginNavigation } from "./plugin-navigation";
|
|
import { ProjectsSection } from "./projects-section";
|
|
import { RecentChatList } from "./recent-chat-list";
|
|
import { ThreadDeleteDialogProvider } from "./thread-delete-dialog";
|
|
import { WorkspaceHeader } from "./workspace-header";
|
|
import { WorkspaceNavChatList } from "./workspace-nav-chat-list";
|
|
import { WorkspaceNavMenu } from "./workspace-nav-menu";
|
|
|
|
export function WorkspaceSidebar({
|
|
...props
|
|
}: React.ComponentProps<typeof Sidebar>) {
|
|
const { open: isSidebarOpen } = useSidebar();
|
|
return (
|
|
<ThreadDeleteDialogProvider>
|
|
<Sidebar variant="sidebar" collapsible="icon" {...props}>
|
|
<SidebarHeader className="py-0">
|
|
<WorkspaceHeader />
|
|
</SidebarHeader>
|
|
<SidebarContent>
|
|
<WorkspaceNavChatList />
|
|
<PluginNavigation />
|
|
<WorkspaceChannelsList />
|
|
{isSidebarOpen && (
|
|
<>
|
|
<ProjectsSection />
|
|
<RecentChatList />
|
|
</>
|
|
)}
|
|
</SidebarContent>
|
|
<SidebarFooter>
|
|
<WorkspaceNavMenu />
|
|
</SidebarFooter>
|
|
<SidebarRail />
|
|
</Sidebar>
|
|
</ThreadDeleteDialogProvider>
|
|
);
|
|
}
|