Commit Graph

17 Commits

Author SHA1 Message Date
91562ccc88 feat: add dagre auto-layout button
All checks were successful
continuous-integration/drone/push Build is passing
Install dagre for hierarchical graph layout. New toolbar button
applies dagre layout to device nodes based on their connections,
then recalculates site containers to wrap their children.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 09:50:43 +03:00
71a7d56eb4 feat: add pseudo-authorization with code word
All checks were successful
continuous-integration/drone/push Build is passing
User must enter code word "пупырка" to access the app.
Auth state persisted in localStorage.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 09:24:02 +03:00
76a9710516 feat: double mock data and configure edge obstacle avoidance
All checks were successful
continuous-integration/drone/push Build is passing
Programmatically duplicate mock data (10 new sites with unique names
and IDs). Configure Manhattan router to route edges around device nodes
by excluding site containers and source/target terminals from obstacles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 09:18:01 +03:00
542317ecda fix: compact device sizing and deploy configuration
All checks were successful
continuous-integration/drone/push Build is passing
Reduce device node height by removing minimum port height and tightening
card gaps. Fix deployment by correcting Angular outputPath for Docker
build context and adding frontend.context to service.yaml.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 09:02:31 +03:00
f355caa9ad feat: миграция frontend React 18 → Angular 19
All checks were successful
continuous-integration/drone/push Build is passing
Полная миграция фронтенда на Angular 19 + PrimeNG + NgRx SignalStore.

- React 18 + AntD 5 + Zustand + Vite → Angular 19 + PrimeNG 19 + NgRx SignalStore + Angular CLI
- Ноды X6: React-компоненты → чистые DOM-функции через Shape.HTML.register с effect: ['data']
- Все 5 типов нод (site, device, cross-device, splice, card) переписаны как рендереры
- Zustand store → NgRx signalStore (schema.store.ts)
- AntD компоненты → PrimeNG (p-tree, p-table, p-menu, p-toggleSwitch, p-slider, p-button)
- 13 файлов чистого TypeScript переиспользованы as-is (типы, константы, утилиты, мок, layout, ports, edges)
- Структура файлов переименована в kebab-case

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:52:31 +03:00
323410ead7 feat: лассо-выделение по кнопке, разнесение портов карт/устройств, удвоение мока
All checks were successful
continuous-integration/drone/push Build is passing
- Лассо (rubberband) отключено по умолчанию, включается кнопкой в тулбаре
- Порты устройств с картами позиционируются ниже карт (absolute positioning)
- Высота устройств с картами и портами: сумма вместо max
- Мок данные удвоены: +4 сайта, +26 устройств, +6 карт, ~130 портов, ~30 линий

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:45:18 +03:00
3d9a25feac refactor: удаление легенды
All checks were successful
continuous-integration/drone/push Build is passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:25:41 +03:00
964e5bbe7c feat: перемещение подписей портов наверх
All checks were successful
continuous-integration/drone/push Build is passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:24:25 +03:00
b877750ecf feat: функционал скрытия подписей + fix: build output в корневой dist/
All checks were successful
continuous-integration/drone/push Build is passing
- Свитч «Подписи» в тулбаре теперь скрывает/показывает подписи
  на линиях и портах через visibility toggle
- vite outDir перенесён в ../dist для совместимости с react.Dockerfile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:58:28 +03:00
fd6373bcb0 feat: редизайн UI — приглушённые цвета, шапки устройств, компактные контейнеры
Some checks failed
continuous-integration/drone/push Build is failing
- Цвета статусов: приглушённые тона для печати, красный акцент для неисправных
- DeviceNode: название в цветной шапке, карты ниже без наложений
- Перенос слов вместо обрезки во всех нодах
- Лейаут: убран лишний gap после последнего слоя, SITE_MIN_WIDTH 250,
  корректный расчёт startY от шапки сайта
- Белый фон графа, чёрные линии по умолчанию

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:52:26 +03:00
e1160997b2 fix: убраны workspaces, добавлен frontend/package-lock.json
Some checks failed
continuous-integration/drone/push Build is failing
Стандартный react.Dockerfile копирует только корневой package*.json,
поэтому workspace-зависимости не устанавливались. Теперь build-скрипт
делает cd frontend && npm ci && npm run build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:32:41 +03:00
e4726d32ea fix: добавлен build скрипт в корневой package.json
Some checks failed
continuous-integration/drone/push Build is failing
Делегирует npm run build в frontend workspace для CI/CD.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:29:27 +03:00
bdb2ac6062 fix: добавлен package-lock.json для npm ci в CI/CD
Some checks failed
continuous-integration/drone/push Build is failing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:28:10 +03:00
6639f8ccfd fix: увеличены отступы в автолейауте для читаемости надписей
Some checks failed
continuous-integration/drone/push Build is failing
LAYER_GAP 40→80, DEVICE_GAP 30→60, LAYER_PADDING_X 20→40,
SITE_PADDING 30→50, зазор между сайтами 80→150.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:26:02 +03:00
297e27171a feat: настройка CI/CD деплоя через ci-templates
Добавлены service.yaml, .drone.yml и корневой package.json с workspaces.
Обновлён vite.config.ts (code splitting: antd, x6), .gitignore (.ci, .claude, .serena).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:20:31 +03:00
da7617f065 feat: расширение моковых данных — 6 сайтов, 30 устройств, 40 линий
Добавлены новые устройства (SDH, DWDM, RRL, VoIP, SORM, MGN, RAN BS,
видеонаблюдение), третий корневой сайт «Южный», перекрёстные линии
между сайтами, покрытие всех статусов и сред передачи.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:15:22 +03:00
ef816cdcf4 feat: frontend MVP — детальная схема связей устройств (AntV X6)
- React 18 + TypeScript strict + AntV X6 2.x + AntD 5 + Zustand
- Custom nodes: SiteNode, CrossDeviceNode, SpliceNode, DeviceNode, CardNode
- 8-слойный автолейаут, порты (left/right), линии с цветами по статусу
- Toolbar, дерево навигации, карточка объекта, таблица соединений
- Контекстные меню, легенда, drag линий/нод, создание линий из портов
- Моковые данные: 3 сайта, 10 устройств, 15 линий

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:02:25 +03:00