@@ -201,7 +201,7 @@ export function WorkspaceSidebar({ collapsed, onToggle, repoName }: Props) {
201201 < button
202202 onClick = { ( ) => setView ( 'prompts' ) }
203203 className = { `activity-bar-btn ${ activeView === 'prompts' ? 'activity-bar-btn--active' : '' } ` }
204- title = "Prompt Library "
204+ title = "Prompts "
205205 >
206206 < Icon icon = "lucide:book-open" width = { 24 } height = { 24 } />
207207 </ button >
@@ -274,54 +274,29 @@ export function WorkspaceSidebar({ collapsed, onToggle, repoName }: Props) {
274274 </ div >
275275
276276 { /* View Navigation */ }
277- < div className = "mt-2 space-y-0.5" >
278- < button
279- onClick = { ( ) => setView ( 'chat' ) }
280- className = { `sidebar-view-nav ${ activeView === 'chat' ? 'sidebar-view-nav--active' : '' } ` }
281- >
282- < Icon icon = "lucide:message-circle" width = { 18 } height = { 18 } />
283- Chat
284- </ button >
285- < button
286- onClick = { ( ) => setView ( 'editor' ) }
287- className = { `sidebar-view-nav ${ activeView === 'editor' ? 'sidebar-view-nav--active' : '' } ` }
288- >
289- < Icon icon = "lucide:code" width = { 18 } height = { 18 } />
290- Editor
291- </ button >
292- < button
293- onClick = { ( ) => setView ( 'git' ) }
294- className = { `sidebar-view-nav ${ activeView === 'git' ? 'sidebar-view-nav--active' : '' } ` }
295- >
296- < Icon icon = "lucide:git-branch" width = { 18 } height = { 18 } />
297- Git
298- { dirtyCount > 0 && (
299- < span className = "ml-auto px-2 min-w-[22px] text-center rounded-full bg-[var(--brand)] text-[var(--brand-contrast)] text-[11px] leading-[18px] font-bold" >
300- { dirtyCount }
301- </ span >
302- ) }
303- </ button >
304- < button
305- onClick = { ( ) => setView ( 'mcp' ) }
306- className = { `sidebar-view-nav ${ activeView === 'mcp' ? 'sidebar-view-nav--active' : '' } ` }
307- >
308- < Icon icon = "lucide:plug" width = { 18 } height = { 18 } />
309- MCP
310- </ button >
311- < button
312- onClick = { ( ) => setView ( 'skills' ) }
313- className = { `sidebar-view-nav ${ activeView === 'skills' ? 'sidebar-view-nav--active' : '' } ` }
314- >
315- < Icon icon = "lucide:wand-2" width = { 18 } height = { 18 } />
316- Skills
317- </ button >
318- < button
319- onClick = { ( ) => setView ( 'prompts' ) }
320- className = { `sidebar-view-nav ${ activeView === 'prompts' ? 'sidebar-view-nav--active' : '' } ` }
321- >
322- < Icon icon = "lucide:book-open" width = { 18 } height = { 18 } />
323- Prompts
324- </ button >
277+ < div className = "mt-2 flex flex-col gap-0.5" >
278+ { ( [
279+ { id : 'chat' as const , icon : 'lucide:message-circle' , label : 'Chat' } ,
280+ { id : 'editor' as const , icon : 'lucide:code' , label : 'Editor' } ,
281+ { id : 'git' as const , icon : 'lucide:git-branch' , label : 'Git' } ,
282+ { id : 'mcp' as const , icon : 'lucide:plug' , label : 'MCP' } ,
283+ { id : 'skills' as const , icon : 'lucide:wand-2' , label : 'Skills' } ,
284+ { id : 'prompts' as const , icon : 'lucide:book-open' , label : 'Prompts' } ,
285+ ] as const ) . map ( ( item ) => (
286+ < button
287+ key = { item . id }
288+ onClick = { ( ) => setView ( item . id ) }
289+ className = { `sidebar-view-nav ${ activeView === item . id ? 'sidebar-view-nav--active' : '' } ` }
290+ >
291+ < Icon icon = { item . icon } width = { 16 } height = { 16 } className = "shrink-0" />
292+ < span className = "truncate" > { item . label } </ span >
293+ { item . id === 'git' && dirtyCount > 0 && (
294+ < span className = "ml-auto px-1.5 min-w-[20px] text-center rounded-full bg-[var(--brand)] text-[var(--brand-contrast)] text-[10px] leading-[18px] font-bold shrink-0" >
295+ { dirtyCount }
296+ </ span >
297+ ) }
298+ </ button >
299+ ) ) }
325300 </ div >
326301 </ div >
327302
0 commit comments