MCPcopy Create free account
hub / github.com/codeaashu/claude-code / Sidebar

Function Sidebar

web/components/layout/Sidebar.tsx:24–189  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

22];
23
24export function Sidebar() {
25 const {
26 sidebarOpen,
27 sidebarWidth,
28 sidebarTab,
29 toggleSidebar,
30 setSidebarWidth,
31 setSidebarTab,
32 openSettings,
33 } = useChatStore();
34
35 const [isResizing, setIsResizing] = useState(false);
36 const resizeRef = useRef<{ startX: number; startWidth: number } | null>(null);
37
38 const startResize = useCallback(
39 (e: React.MouseEvent) => {
40 e.preventDefault();
41 resizeRef.current = { startX: e.clientX, startWidth: sidebarWidth };
42 setIsResizing(true);
43 },
44 [sidebarWidth]
45 );
46
47 useEffect(() => {
48 if (!isResizing) return;
49 const onMove = (e: MouseEvent) => {
50 if (!resizeRef.current) return;
51 const delta = e.clientX - resizeRef.current.startX;
52 const next = Math.max(MIN_WIDTH, Math.min(MAX_WIDTH, resizeRef.current.startWidth + delta));
53 setSidebarWidth(next);
54 };
55 const onUp = () => setIsResizing(false);
56 window.addEventListener("mousemove", onMove);
57 window.addEventListener("mouseup", onUp);
58 return () => {
59 window.removeEventListener("mousemove", onMove);
60 window.removeEventListener("mouseup", onUp);
61 };
62 }, [isResizing, setSidebarWidth]);
63
64 // Global keyboard shortcut: Cmd/Ctrl+B
65 useEffect(() => {
66 const handler = (e: KeyboardEvent) => {
67 if ((e.metaKey || e.ctrlKey) && e.key === "b") {
68 e.preventDefault();
69 toggleSidebar();
70 }
71 };
72 window.addEventListener("keydown", handler);
73 return () => window.removeEventListener("keydown", handler);
74 }, [toggleSidebar]);
75
76 const handleTabClick = (id: SidebarTab) => {
77 if (id === "settings") {
78 openSettings();
79 return;
80 }
81 if (!sidebarOpen) toggleSidebar();

Callers

nothing calls this directly

Calls 3

cnFunction · 0.90
handleTabClickFunction · 0.85
preventDefaultMethod · 0.80

Tested by

no test coverage detected