forked from bots-garden/ori
| ✨ Workspace panel, selectors, previews, desktop app, sandbox template, resizable file tree, light/dark theme | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | id: 15 | |
| 3 | title: The files explorer panel needs a resizable panel | |
| 4 | state: closed | |
| 5 | author: | |
| 6 | name: k33g | |
| 7 | email: ph.charriere@gmail.com | |
| 8 | createdAt: 2026-09-17T22:35:25.296Z | |
| 9 | updatedAt: 2026-09-17T23:15:00.000Z | |
| 10 | labels: [] | |
| 11 | body: | | |
| 12 | The file tree column of the workspace panel had a fixed width (14rem). It is now resizable. | |
| 13 | ||
| 14 | Implemented (2026-09-17): | |
| 15 | - Store: `fileTreeWidth` (px) in `ui/src/workspace.ts` with `setFileTreeWidth` / | |
| 16 | `resetFileTreeWidth` / `clampFileTreeWidth`, bounded 120–800 px (default 224), remembered | |
| 17 | in localStorage under `ori.fileTreeWidth` (guarded reads/writes, default on any failure). | |
| 18 | - UI: `ui/src/components/ResizeHandle.tsx` — ARIA separator between the tree and the tabs; | |
| 19 | pointer drag with capture, ←/→ (16 px), Home/End (bounds), double-click resets. | |
| 20 | `Workspace.tsx` applies the width through the `--filetree-width` CSS custom property; | |
| 21 | `FileTree` is unchanged. | |
| 22 | - Tests: +7 store, +7 ResizeHandle, +2 Workspace (118 vitest total). Quality gate PASS. | |
| 23 | - Docs: how-to `use-the-workspace` and architecture explanation (EN + FR). | |
| 24 | tasks: [] | |
| 25 | comments: [] |