Commit Graph

14 Commits

Author SHA1 Message Date
A0 Orchestrator 0bf9c61793 feat: leftsidebar collapsible tool groups + scroll + resizable width 2026-07-02 10:52:40 +02:00
A0 Orchestrator 9f749e8ebd feat: layer-tree selection sync + group folders in tree + ribbonbar readability 2026-07-02 00:47:28 +02:00
A0 Orchestrator 7b19a99b24 feat: global block library tree + grouping tool — 19 files, 588 tests green 2026-07-01 21:02:31 +02:00
A0 Orchestrator 172f933456 fix: MEDIUM issues #23-#30 — stale deps, export modal, cache race, StrictMode dedup, SeatingService ref, SVG import persist, group-as-block multi-select, session expiry 2026-06-30 13:15:54 +02:00
Leopoldadmin ba978cd13c feat: delete function, sidebar collapse, layer drag&drop, library tree
- Delete: trash button in PropertiesPanel + existing Delete key support
- Left sidebar: desktop collapse toggle button
- Right sidebar: desktop collapse toggle + SVG icon size fix (replaced emoji)
- Layer panel: drag&drop enabled (reorder, move to layers, sub-layers)
- Library tree: BlockLibrary added to left sidebar
- App.tsx: handleReorderLayer, handleAddSubLayer, handleUpdateElement
- styles.css: collapse + drag&drop visual indicators
2026-06-29 10:44:53 +02:00
Leopoldadmin 88ddebcd86 fix: drawing tools use pointer events for mouse+touch support
- InteractionEngine: pointerdown on canvas, pointermove/pointerup on document

- Pointer capture for smooth dragging outside canvas

- CSS: touch-action: none on canvas to prevent browser touch interception

- Fixes: tools not working on desktop (mouseup lost outside canvas) and mobile (no touch support)
2026-06-28 23:15:48 +02:00
Leopoldadmin 3f93a236e1 fix: add close buttons to mobile sidebars
- RightSidebar: added onCollapse prop and close button in header

- LeftSidebar: wired existing onCollapse prop in App.tsx

- CSS: show .leftbar-toggle and .rightbar-close on mobile

- Both buttons call setMobile{Left,Right}Open(false) to close overlays
2026-06-28 22:35:33 +02:00
Leopoldadmin 8c878e4bba fix: hide empty MobileDrawers overlays that covered real sidebar content on mobile
- MobileDrawers component rendered empty drawer-left/drawer-right overlays
- These had drawer-body with 0 children, covering the real leftbar/rightbar
- Real sidebars with actual content now visible as slide-in overlays
2026-06-28 18:26:47 +02:00
Leopoldadmin 0785efbbc5 fix: mobile sidebar tool labels visible + scrollable overflow
- overflow-y: auto on mobile sidebars so all tools are reachable
- Re-enable tool-section-label, tool-btn-label, leftbar-title on mobile
- Tool grid 2-column with labels for better mobile UX
2026-06-28 18:19:35 +02:00
Leopoldadmin 7b4a45df49 fix: mobile sidebar slide-in overlay with hamburger and panel toggle buttons
- LeftSidebar/RightSidebar: added className prop for 'open' class
- Topbar: wired hamburger onClick + added mobile-drawer-toggle button for right panel
- App.tsx: added SettingsModal import/state/render, passed className props to sidebars
- styles.css: mobile sidebars now fixed slide-in overlays (translateX) instead of display:none
- ui.types.ts: added className to RightSidebarProps, onOpenLeftDrawer/onOpenRightDrawer to TopbarProps
- Tested at 390px viewport: both sidebars slide in correctly, transform verified via DOM
2026-06-28 17:55:26 +02:00
Leopoldadmin 20432f4b47 feat: add notifications and project shares features
- Backend: notifications + shares routes, DB tables, SqliteAdapter methods
- Frontend: NotificationPanel (bell icon + dropdown), ShareDialog, Dashboard integration
- Styles: notification + share dialog CSS
2026-06-28 13:59:49 +02:00
Leopoldadmin 4303076ce4 feat: click-drag drawing, layer tree, settings modal, UI improvements
- interaction: click-drag drawing for 2-point tools (line, rect, circle, dimension, leader)
- interaction: preview rendering during drag with setPreviewElement
- interaction: handleDrawDown only sets phase=drawing on first point
- CanvasArea: sync activeLayerId to LayerManager
- CanvasArea: callback refresh useEffect prevents stale closures
- App.tsx: functional setElements updates for handleElementCreated/Deleted/Modified
- LayerPanel: tree structure with sub-layers (onReorder, onAddSubLayer)
- TreeView: drag-and-drop reordering support
- RightSidebar: onReorder, onAddSubLayer, onUpdateElement props
- PropertiesPanel: onUpdateElement prop
- SettingsModal: personal/password/language/theme/users/plugins/AI tabs
- styles.css: extensive UI styling additions
- types: updated RightSidebarProps, CanvasAreaProps, LayerPanelProps
2026-06-27 14:12:37 +02:00
Leopoldadmin ef23463a74 fix: CSS layout - .main → .app-body selector mismatch caused sidebar full-width
The component uses className="app-body" but CSS targeted .main for the grid layout.
This caused leftbar, canvas, and rightbar to all render at full viewport width
instead of the 3-column grid (leftbar 64px | canvas 1fr | rightbar 240px).
2026-06-26 18:37:20 +02:00
Leopoldadmin 4ec76fe406 feat: initial commit web-cad-neu with docker-compose, frontend and backend 2026-06-26 10:50:24 +02:00