4303076ce4
- 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
35 lines
728 B
YAML
35 lines
728 B
YAML
version: "3.8"
|
|
|
|
services:
|
|
frontend:
|
|
build: ./frontend
|
|
ports:
|
|
- "8082:80"
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
backend:
|
|
build: ./backend
|
|
ports:
|
|
- "3001:3001"
|
|
volumes:
|
|
- backend-data:/app/data
|
|
environment:
|
|
- JWT_SECRET=${JWT_SECRET:-change-me-in-production}
|
|
- API_KEY_OPENROUTER=${API_KEY_OPENROUTER:-}
|
|
- DB_PATH=/app/data/cad.db
|
|
- PORT=3001
|
|
- NODE_ENV=production
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3001/api/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
backend-data:
|