a6b09aae9c
Replace the disconnected board edit page with inline editing directly on the board view. Toggle with Ctrl+E or the Edit button. Features: - Edit mode store with changeset accumulation and batch save - Floating toolbar (save, discard, add section, board settings, exit) - Widget hover overlays with edit/delete/drag controls - Type-specific widget config panels for all 14 widget types - Section inline editing (title, icon picker, delete) - "+" buttons for adding widgets and sections inline - Section-level drag-and-drop reordering via svelte-dnd-action - Batch save API endpoint (single Prisma transaction) - Board properties side panel with live theme/wallpaper preview - Modal widget type picker with search filtering - Icon picker component with visual grid and search - Confirmation dialog modal for all destructive actions - HTML format support for Note widget (in addition to markdown/text) - Full i18n support (en + ru) for all new UI strings - Legacy edit page banner linking to new inline mode
56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
# Feature: Inline Dashboard Editing (Edit Mode)
|
|
|
|
**Branch:** `feature/inline-dashboard-editing`
|
|
**Base branch:** `master`
|
|
**Created:** 2026-04-02
|
|
**Status:** 🟡 In Progress
|
|
**Strategy:** Big Bang
|
|
**Mode:** Automated
|
|
**Execution:** Direct
|
|
|
|
## Summary
|
|
Replace the disconnected board edit page with a WYSIWYG inline editing experience.
|
|
Users toggle edit mode directly on the board view — widgets show edit/delete overlays,
|
|
"+" buttons appear for adding widgets and sections, drag-and-drop works across sections,
|
|
and all changes accumulate as a batch save. The board looks exactly as it will when
|
|
saved, at all times.
|
|
|
|
## Build & Test Commands
|
|
- **Build:** `npm run build`
|
|
- **Test:** `npm run test`
|
|
- **Lint:** `npm run lint`
|
|
|
|
## Phases
|
|
|
|
- [ ] Phase 1: Edit Mode State Infrastructure [domain: frontend] → [subplan](./phase-1-edit-mode-state.md)
|
|
- [ ] Phase 2: Floating Edit Toolbar [domain: frontend] → [subplan](./phase-2-floating-toolbar.md)
|
|
- [ ] Phase 3: Widget Edit Overlay [domain: frontend] → [subplan](./phase-3-widget-overlay.md)
|
|
- [ ] Phase 4: Inline Widget Configuration Panels [domain: frontend] → [subplan](./phase-4-widget-config-panels.md)
|
|
- [ ] Phase 5: Section Inline Editing [domain: frontend] → [subplan](./phase-5-section-editing.md)
|
|
- [ ] Phase 6: Add Widget Inline ("+" Buttons) [domain: frontend] → [subplan](./phase-6-add-widget-inline.md)
|
|
- [ ] Phase 7: Drag-and-Drop Enhancements [domain: frontend] → [subplan](./phase-7-dnd-enhancements.md)
|
|
- [ ] Phase 8: Optimistic Updates & Batch Save [domain: fullstack] → [subplan](./phase-8-batch-save.md)
|
|
- [ ] Phase 9: Board Properties Quick Panel [domain: frontend] → [subplan](./phase-9-board-properties-panel.md)
|
|
- [ ] Phase 10: Legacy Edit Page Migration & Polish [domain: fullstack] → [subplan](./phase-10-migration-polish.md)
|
|
|
|
## Phase Progress Log
|
|
|
|
| Phase | Domain | Status | Review | Build | Committed |
|
|
|-------|--------|--------|--------|-------|-----------|
|
|
| Phase 1: Edit Mode State | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 2: Floating Toolbar | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 3: Widget Overlay | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 4: Widget Config Panels | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 5: Section Editing | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 6: Add Widget Inline | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 7: DnD Enhancements | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 8: Batch Save | fullstack | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 9: Board Properties Panel | frontend | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
| Phase 10: Migration & Polish | fullstack | ⬜ Not Started | ⬜ | ⬜ | ⬜ |
|
|
|
|
## Final Review
|
|
- [ ] Comprehensive code review
|
|
- [ ] Full build passes
|
|
- [ ] Full test suite passes
|
|
- [ ] Merged to `master`
|