feat(web): coquille IDE + arbre de projets unifié (route /ide)
Some checks failed
CI / Build & test (Node 24) (push) Has been cancelled
CI / Pack & boot smoke (Node 22) (push) Has been cancelled
CI / No em/en dashes (push) Has been cancelled
CI / Build & test (Node 22) (push) Has been cancelled

components/ide/ : IdeShell (grille barre d'activité + panneau gauche + zone centrale + dock + barre de statut, splitters persistés, réconciliation des ressources ouvertes contre les données live), ActivityBar (Explorer/Git/Sessions/Groupes + Réglages/Aide), PrimarySidebar, ProjectTree + ProjectTreeNode (arbre unique repos -> worktrees -> sessions, fichiers embarqués via FileTree en mode sans chrome, dépliage paresseux), StatusBar.

Route /ide (layout 'ide'), entrée de nav « IDE », namespace i18n ide (EN/FR). Clics de l'arbre pilotent le store (contexte worktree, ouverture de fichier/terminal). Centre et dock en placeholders (remplis en B4/B5). FileTree gagne un mode embedded. 427 tests.
This commit is contained in:
2026-07-17 17:08:35 +02:00
parent 6acd4a16fd
commit c96d929c7a
13 changed files with 446 additions and 11 deletions

View File

@@ -218,6 +218,27 @@ export default {
noSession: 'No session here',
noSessionHint: 'Start a session on this worktree from the dashboard to get a terminal.',
},
ide: {
projects: 'Projects',
addProject: 'Add project',
noProjects: 'No project yet. Add one to get started.',
noWorktrees: 'No worktree',
activity: {
explorer: 'Explorer',
git: 'Git',
sessions: 'Sessions',
groups: 'Groups',
},
startClaude: 'Start Claude',
startBash: 'Start bash',
noFileOpen: 'No file open',
noFileHint: 'Pick a file in the tree to edit it, or a changed file to view its diff.',
terminals: 'Terminals',
noTerminal: 'No terminal open',
noTerminalHint: 'Open a Claude session from the tree to attach a terminal here.',
comingSoon: 'Coming soon',
ready: 'Ready',
},
editor: {
save: 'Save',
unsaved: 'Unsaved changes',
@@ -332,6 +353,7 @@ export default {
reconnecting: 'Connection lost. Reconnecting…',
},
nav: {
ide: 'IDE',
worktrees: 'Worktrees',
sessions: 'Sessions',
groups: 'Groups',