# UI_VISION_MC.md ## Doel De webapp moet geleidelijk evolueren naar een web-based bestandsbeheerder met een workflow die geïnspireerd is op Midnight Commander. Het doel is **niet** om Midnight Commander exact te klonen, maar om de belangrijkste werkprincipes over te nemen: - twee panelen naast elkaar - snel wisselen tussen panelen - actief paneel en inactief paneel - copy/move van actief paneel naar ander paneel - keyboard-efficiënte bediening - focus op snelheid en weinig muisafhankelijkheid --- ## Ontwerpprincipes - web-native uitvoering, geen letterlijke terminal-clone - behoud van bestaande backend API-contracten - incrementele UI-ontwikkeling in kleine stappen - veiligheid en voorspelbaarheid blijven leidend - bestaande werkende functionaliteit mag niet regressief kapot gaan --- ## Doelbeeld De UI moet uiteindelijk bestaan uit: ### 1. Dubbel paneel - een linker paneel - een rechter paneel - elk paneel heeft een eigen current path - elk paneel toont directories en files - elk paneel heeft een eigen selectie ### 2. Actief paneel - één paneel is actief - acties worden gestart vanuit het actieve paneel - het andere paneel is standaard de doelcontext voor copy/move ### 3. Navigatie - pad boven elk paneel zichtbaar - directorynavigatie per paneel - later uitbreidbaar met keyboard shortcuts ### 4. Bestandsacties - rename - mkdir - delete - copy - move ### 5. Taken - tasklijst zichtbaar - status polling blijft mogelijk - copy/move blijven task-based --- ## Buiten scope voor de eerstvolgende UI-stap Deze dingen worden nu nog niet gebouwd: - multi-select - Insert-achtige selectie - viewer - editor - menubalk zoals F9 - chmod/chown/symlink tools - zoeken - directory compare - volledige keyboard mapping --- ## Eerstvolgende UI-doel De eerstvolgende UI-stap is: ### Dual-pane UI v2 Deze stap bevat alleen: - links en rechts paneel - per paneel eigen current path - actief paneel - visuele actieve paneel-indicatie - copy/move gebruiken standaard het andere paneel als destination context - bestaande backend-endpoints blijven ongewijzigd Nog niet in deze stap: - multi-select - uitgebreide keyboard controls - viewer/editor - history UI - nieuwe backend features --- ## Verwachte impact Waarschijnlijk vooral wijziging in: - `webui/html/index.html` - `webui/html/app.js` - `webui/html/style.css` Backend hergebruik: - `GET /api/browse` - `POST /api/files/mkdir` - `POST /api/files/rename` - `POST /api/files/delete` - `POST /api/files/copy` - `POST /api/files/move` - `GET /api/tasks` - `GET /api/tasks/{task_id}` - `GET /api/bookmarks` - `POST /api/bookmarks` - `DELETE /api/bookmarks/{bookmark_id}` --- ## Acceptatiecriteria voor de volgende UI-stap De dual-pane stap is pas klaar als: - beide panelen onafhankelijk kunnen browsen - elk paneel een eigen path toont - één paneel actief is - actief paneel visueel herkenbaar is - copy/move logisch vanuit actief naar ander paneel werken - bestaande functionaliteit niet stuk gaat - bestaande tests blijven slagen - UI smoke tests waar nodig zijn bijgewerkt