Skip to content

Commit efb36c4

Browse files
author
Factory Bot
committed
feat: add File Explorer header with search, add, refresh, collapse icons
1 parent 9e78103 commit efb36c4

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

cortex-gui/src/components/FileExplorer.tsx

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3164,6 +3164,110 @@ export function FileExplorer(props: FileExplorerProps) {
31643164
e.dataTransfer!.dropEffect = "copy";
31653165
}}
31663166
>
3167+
{/* Header with title and action buttons - Figma design */}
3168+
<div
3169+
class="file-explorer-header"
3170+
style={{
3171+
display: "flex",
3172+
"align-items": "center",
3173+
"justify-content": "space-between",
3174+
padding: "8px 16px",
3175+
height: "32px",
3176+
"flex-shrink": "0",
3177+
}}
3178+
>
3179+
<div style={{ display: "flex", "align-items": "center", gap: "4px" }}>
3180+
<span
3181+
style={{
3182+
"font-family": "var(--figma-font-sans, Inter, sans-serif)",
3183+
"font-size": "12px",
3184+
"font-weight": "600",
3185+
color: "var(--figma-text-secondary, #A0A0A0)",
3186+
"text-transform": "uppercase",
3187+
"letter-spacing": "0.5px",
3188+
}}
3189+
>
3190+
{explorerTitle()}
3191+
</span>
3192+
<Icon name="chevron-down" size={16} color="var(--figma-text-muted, #808080)" />
3193+
</div>
3194+
3195+
<div style={{ display: "flex", "align-items": "center", gap: "8px" }}>
3196+
<button
3197+
onClick={() => setShowSearch(!showSearch())}
3198+
title="Search (Ctrl+Shift+F)"
3199+
style={{
3200+
width: "16px",
3201+
height: "16px",
3202+
display: "flex",
3203+
"align-items": "center",
3204+
"justify-content": "center",
3205+
background: "transparent",
3206+
border: "none",
3207+
cursor: "pointer",
3208+
padding: "0",
3209+
color: "var(--figma-text-muted, #808080)",
3210+
}}
3211+
>
3212+
<Icon name="magnifying-glass" size={16} />
3213+
</button>
3214+
<button
3215+
onClick={handleAddFolder}
3216+
title="New File"
3217+
style={{
3218+
width: "16px",
3219+
height: "16px",
3220+
display: "flex",
3221+
"align-items": "center",
3222+
"justify-content": "center",
3223+
background: "transparent",
3224+
border: "none",
3225+
cursor: "pointer",
3226+
padding: "0",
3227+
color: "var(--figma-text-muted, #808080)",
3228+
}}
3229+
>
3230+
<Icon name="plus" size={16} />
3231+
</button>
3232+
<button
3233+
onClick={() => window.dispatchEvent(new CustomEvent("explorer:refresh"))}
3234+
title="Refresh"
3235+
style={{
3236+
width: "16px",
3237+
height: "16px",
3238+
display: "flex",
3239+
"align-items": "center",
3240+
"justify-content": "center",
3241+
background: "transparent",
3242+
border: "none",
3243+
cursor: "pointer",
3244+
padding: "0",
3245+
color: "var(--figma-text-muted, #808080)",
3246+
}}
3247+
>
3248+
<Icon name="arrows-rotate" size={16} />
3249+
</button>
3250+
<button
3251+
onClick={() => window.dispatchEvent(new CustomEvent("explorer:collapse-all"))}
3252+
title="Collapse All"
3253+
style={{
3254+
width: "16px",
3255+
height: "16px",
3256+
display: "flex",
3257+
"align-items": "center",
3258+
"justify-content": "center",
3259+
background: "transparent",
3260+
border: "none",
3261+
cursor: "pointer",
3262+
padding: "0",
3263+
color: "var(--figma-text-muted, #808080)",
3264+
}}
3265+
>
3266+
<Icon name="chevrons-up" size={16} />
3267+
</button>
3268+
</div>
3269+
</div>
3270+
31673271
{/* Search bar */}
31683272
<Show when={showSearch()}>
31693273
<div

0 commit comments

Comments
 (0)