feat(visualization): migrate UI to feature-based architecture
Replace the legacy ui/ widgets with feature-scoped folders that follow a single architectural pattern: components → services → stores → @ngrx, DaisyUI/Tailwind only, no Angular Material. - Restyle top navigation bar with daisyUI (cc-nav-bar replaces cc-tool-bar); remove the floating cc-logo - Add cc-bottom-bar with hovered-node path on the left and Made-with-heart attribution on the right; the 3D map area resizes to fit between top and bottom bars - Add cc-view-cube-toolbox above the view cube: Center / Screenshot / Presentation / Reset as a daisyUI join button group - Rewrite ErrorDialog and ConfirmResetMapDialog as native <dialog> + viewChild with public open() API; introduce ErrorDialogService so non-feature callers (loadFile, loadInitialFile, addBlacklistItemsIfNotResultsInEmptyMap) can open the global error dialog - Add stores/ layer to navBar, bottomBar, viewCubeToolbox, 3dPrint, scenarios; components and services no longer inject Store/State directly - Tighten .dependency-cruiser.js so feature-no-angular-material and feature-only-stores-can-import-ngrx-store actually fire (includeOnly was filtering npm edges before the rule engine); remove redundant rule - Delete deprecated widgets that are now superseded: toolBar, filePanel, screenshotButton, copyToClipboardButton, resetMapButton (component), presentationModeButton, loadingMapProgressSpinner, hoveredNodePathPanel (component), viewCube/centerMapButton, ui/logo - Move surviving services and selectors into the features that own them (UploadFilesService, FileSelectionModeService, hoveredNodePathPanelData selector, FilePanelPageObject → MapSelectorPageObject, ConfirmResetMapDialog) Plans tracking the migration are in plans/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
C
Christian Huehn committed
d143dee5a55bdc4de840da43fb9e5e3044bb1c4a
Parent: 1756dcb
Committed by Christian Hühn <161825497+ChristianHuehn@users.noreply.github.com>
on 5/4/2026, 1:58:47 PM