Commit Graph

8747 Commits

Author SHA1 Message Date
Lorenz Hilpert
eca1e5b8b1 feat(shell-tabs): improve collapse behavior with scroll and delay
- Add 1-second delay before collapsing when mouse moves away (desktop)
- Add scroll-to-top detection: expand when page is near top (<50px)
- Add scroll direction detection for tablet: expand on scroll up, collapse on scroll down
- Scroll direction requires 50px threshold before triggering
- Mouse proximity detection disabled on tablet devices
2025-12-11 15:04:41 +01:00
Lorenz Hilpert
e9fc791dea 📝 docs: update library-reference date 2025-12-11 13:55:02 +01:00
Lorenz Hilpert
d9604572b3 🩹 fix(common-title-management): add undefined check for activeTabId
Ensure activeTabId is not undefined before patching tab name.
2025-12-11 13:54:55 +01:00
Lorenz Hilpert
3d217ae83a 💫 feat(shell-tabs): add subtle animation for active tab
- Add scale pulse animation when tab becomes active
- Respect prefers-reduced-motion for accessibility
- Prevent animation during fade-slide-out transitions
2025-12-11 13:54:49 +01:00
Lorenz Hilpert
33026c064f feat(core-tabs): add pattern-based URL exclusion and tab deactivation guard
- Change URL blacklist from exact match to prefix matching
- Rename HISTORY_BLACKLIST_URLS to HISTORY_BLACKLIST_PATTERNS
- Add deactivateTab() method to TabService
- Add deactivateTabGuard for routes outside tab context
- Apply guard to dashboard route in app.routes.ts
- Update README with new features and API documentation

Routes like /dashboard and /kunde/dashboard now properly
deactivate the active tab when navigated to.
2025-12-11 13:54:39 +01:00
Lorenz Hilpert
43e4a6bf64 ♻️ refactor(claude): migrate skills to new skill-creator format
Recreate all 11 skills using the updated skill-creator tooling:
- api-sync, arch-docs, architecture-validator, css-animations
- git-workflow, library-creator, logging, state-patterns
- tailwind, template-standards, test-migration

Key changes:
- Updated YAML frontmatter structure
- Reorganized logging references into references/ subdirectory
- Applied progressive disclosure patterns where applicable
2025-12-11 12:27:15 +01:00
Lorenz Hilpert
7612394ba1 ♻️ refactor(claude): reorganize and rename skills for clarity
Consolidate and rename skills to shorter, more intuitive names:
- css-keyframes-animations → css-animations
- api-sync-manager → api-sync
- architecture-documentation → arch-docs
- jest-vitest-patterns → test-migration
- reactive-state-patterns → state-patterns
- library-scaffolder → library-creator

Merge related skills:
- angular-template + html-template → template-standards
- angular-effects-alternatives + ngrx-resource-api → state-patterns

Remove obsolete skills:
- architecture-enforcer (merged into architecture-validator)
- circular-dependency-resolver (merged into architecture-validator)
- standalone-component-migrator (merged into migration-specialist agent)
- swagger-sync-manager (replaced by api-sync)
- api-change-analyzer (merged into api-sync)
- type-safety-engineer (content distributed to relevant skills)
- test-migration-specialist (replaced by migration-specialist agent)

Add migration-specialist agent for standalone and test migrations.
Update all cross-references in CLAUDE.md and agents.
2025-12-11 11:30:05 +01:00
Lorenz Hilpert
0a1f25a1ee 📝 docs(shell): update READMEs for shell and connectivity libraries
- Expand core-connectivity README with usage examples and API docs
- Add TabsCollapsedService documentation to shell-common README
- Update shell-layout README with responsive behavior documentation
- Update library-reference.md with current library descriptions
2025-12-10 20:40:12 +01:00
Lorenz Hilpert
609a7ed6dd ️ feat(shell): add E2E testing and ARIA accessibility attributes
- Add data-what/data-which attributes for E2E test targeting
- Add ARIA roles (tablist, tab, group) for screen readers
- Add aria-label attributes for interactive elements
- Add aria-current for active tab indication
2025-12-10 20:37:23 +01:00
Lorenz Hilpert
5bebd3de4d feat(shell): add logging and JSDoc documentation across shell components
- Add @isa/core/logging to services and components with actions
- Add comprehensive JSDoc documentation with @example blocks
- Fix typo: TabsCollabsedService → TabsCollapsedService
- Add error handling with try/catch for async operations
- Add tap operator for logging in NetworkStatusService
2025-12-10 20:36:58 +01:00
Lorenz Hilpert
b7e69dacf7 Merge branch 'develop' into feature/5087-application-shell
# Conflicts:
#	libs/ui/layout/src/index.ts
2025-12-10 20:10:03 +01:00
Lorenz Hilpert
a8cca9143e Merge branch 'develop' into feature/5087-application-shell 2025-12-10 20:08:43 +01:00
Lorenz Hilpert
16b9761573 💡 docs(shell): add JSDoc documentation for shell components and services
Add comprehensive JSDoc comments to shell layout, navigation, and tabs
components to improve code documentation and IDE support.

- Document TabsCollabsedService with usage examples
- Document ShellLayoutComponent with feature descriptions
- Document ShellNavigationItemComponent with signal and method descriptions
- Document ShellNavigationSubItemComponent with route resolution details
- Document navigations configuration with route type explanations
2025-12-10 20:07:54 +01:00
Lorenz Hilpert
7a86fcf507 feat(shell): add tabs collapsed state service and navigation indicators
Add TabsCollabsedService to manage tabs bar collapsed/expanded state with
proximity-based switching. Implement activity indicators for navigation items
that bubble up from child routes when menu is collapsed.

- Add TabsCollabsedService for centralized tabs state management
- Add indicator support to navigation types and components
- Implement indicator bubbling from children to parent when collapsed
- Update shell-layout with click-outside-to-close for mobile navigation
- Add dynamic route resolution with factory functions and signals
- Update shell-tabs with compact mode and proximity detection
2025-12-10 20:07:35 +01:00
Nino Righi
de3edaa0f9 Merged PR 2077: fix(checkout-data-access, checkout-reward-shopping-cart, checkout-reward-sele...
fix(checkout-data-access, checkout-reward-shopping-cart, checkout-reward-selection-dialog): Show Low Stock message inside Dialog, Adjusted Item Identifyer so that mergedItems inside reward-selection-dialog service works properly, Adjusted Error Message Logic and Quantity Select Logic based on purchasing Options for Abholung

Ref: #5523
2025-12-10 17:12:47 +00:00
Nino Righi
964a6026a0 Merged PR 2076: fix(common-data-access, crm-data-access): Improved Error handling, handling i...
fix(common-data-access, crm-data-access): Improved Error handling, handling invalidProperties errors corretly inside crm customer card area

Refs: #5528, #5529
2025-12-10 17:11:22 +00:00
Nino Righi
83ad5f526e Merged PR 2075: fix(ui-layout, ui-input-controls, shared-filter): Set overlayPositions inside...
fix(ui-layout, ui-input-controls, shared-filter): Set overlayPositions inside filter-menu-button and outsourced the logic

Ref: #5526, #5477
2025-12-10 09:50:15 +00:00
Nino Righi
ccc5285602 Merged PR 2074: fix(remission): Implementation of Abort Remission Logic
fix(remission): Implementation of Abort Remission Logic

Ref: #5489
2025-12-10 09:48:49 +00:00
Nino Righi
7200eaefbf Merged PR 2073: fix(checkout-reward-shopping-cart): Preselect Purchasing Option Branch if Edi...
fix(checkout-reward-shopping-cart): Preselect Purchasing Option Branch if Edit item

Ref: #5516
2025-12-08 16:51:49 +00:00
Lorenz Hilpert
1cc13eebe1 feat(shell): enhance tab routing and responsive navigation
- Add tab route injection utilities (injectTabRoute, injectLabeledTabRoute,
  injectLegacyTabRoute, injectLabeledLegacyTabRoute) for dynamic tab-aware navigation
- Improve TabService with tabsByActivationOrder computed, removeTab returning
  previous tab, and removeAllTabs method
- Implement slide-in/slide-out animations for navigation on tablet viewports
- Update navigation config to use new tab route injection utilities
- Add dynamic date calculation for package inspection filter
- Enhance shell-tabs with close functionality, keyboard navigation, and
  proximity-based compact mode
- Update shell-layout to handle navigation visibility and margin responsively
- Add comprehensive JSDoc documentation to navigation types
- Update README documentation for navigation and tabs libraries
2025-12-08 17:51:10 +01:00
Nino Righi
39e56a275e Merged PR 2072: fix(reward-order-confirmation): Only display one orderDate if other ones are...
fix(reward-order-confirmation): Only display one orderDate if other ones are equal

Ref: #5517
2025-12-08 15:20:19 +00:00
Lorenz Hilpert
44426109bd feat(shell-layout): integrate tabs and responsive element positioning
- Add ShellTabsComponent to the header section
- Use UiElementSizeObserverDirective for dynamic margin calculations
- Apply fixed positioning for header and navigation with proper z-index
- Calculate main content margins based on header/navigation dimensions
2025-12-05 21:05:45 +01:00
Lorenz Hilpert
bb9e9ff90e feat(shell-tabs): scaffold shell-tabs library with tab components
Adds new shell-tabs library with ShellTabsComponent and ShellTabItemComponent
for managing application tabs in the shell header area.
2025-12-05 21:05:31 +01:00
Lorenz Hilpert
e5c7c18c40 feat(ui-layout): add UiElementSizeObserverDirective for reactive element sizing
Adds a directive that uses ResizeObserver to track element dimensions
and exposes them as signals for reactive positioning calculations.
2025-12-05 21:05:20 +01:00
Nino Righi
6c41214d69 Merged PR 2071: fix(crm-customer-bon-redemption): Added Date Pipe to Bon
fix(crm-customer-bon-redemption): Added Date Pipe to Bon

Ref: #5521
2025-12-05 20:04:28 +00:00
Nino Righi
6e55b7b0da Merged PR 2070: fix(shared-filter, reward-catalog): Added Branch Filter Toggle to Reward HSC...
fix(shared-filter, reward-catalog): Added Branch Filter Toggle to Reward HSC View, Adjusted Controls Panel Filter Styling and Layout to fix mobile issues and added spacing to order-by-toolbar

Refs: #5514, #5475
2025-12-05 20:04:07 +00:00
Nino Righi
5711a75188 Merged PR 2068: fix(shared-filter): Adjusted Styling parameters for Height and Scrolling
fix(shared-filter): Adjusted Styling parameters for Height and Scrolling

Ref: #5476, #5477
2025-12-05 10:10:32 +00:00
Nino Righi
3696fb5b2d Merged PR 2069: feature(oms-data-access, oms-return-task-list): Return can now handle Rewards
feature(oms-data-access, oms-return-task-list): Return can now handle Rewards

#5373
2025-12-05 10:10:18 +00:00
Lorenz Hilpert
e3c60f14f7 feat(shell-navigation): implement navigation components with collapsible menu
Add modular navigation system with three reusable components:
- NavigationGroupComponent for grouped navigation sections
- NavigationItemComponent for main navigation entries with expand/collapse
- NavigationSubItemComponent for nested child routes

Include navigation types, route configuration with dynamic tabId support,
and integrate navigation into shell-layout sidebar.
2025-12-04 22:15:35 +01:00
Lorenz Hilpert
5fe85282e7 📝 docs(shell): update READMEs and library reference
Update documentation for shell-header, shell-layout, shell-notifications,
and shell-common libraries with API references, E2E attributes, and
accessibility documentation.
2025-12-03 21:18:34 +01:00
Lorenz Hilpert
9a8eac3f9a 🎨 style(icons): reformat icons file and add new icons
Reformat SVG exports for consistent code style.
Add new icons: isaFiliale, isaFilialeLocation, isaArtikel variants.
2025-12-03 21:18:16 +01:00
Lorenz Hilpert
93752efb9d feat(shell-layout): integrate shell-header component
Add ShellHeaderComponent to layout and configure path aliases for new
shell-common and shell-notifications libraries.
2025-12-03 21:17:36 +01:00
Lorenz Hilpert
0c546802fa feat(core-auth): add AuthService for logout functionality
Add AuthService wrapping OAuthService logout with proper logging.
Refactor RoleService to use private class fields (#) convention.
2025-12-03 21:17:15 +01:00
Lorenz Hilpert
3ed3d0b466 ♻️ refactor(shell-header): restructure with modular sub-components
Reorganize header into focused sub-components:
- ShellNavigationToggleComponent: drawer toggle with dynamic icon
- ShellFontSizeSelectorComponent: accessibility font size control
- ShellLogoutButtonComponent: logout with AuthService integration
- ShellNotificationsToggleComponent: notification panel overlay

Add E2E testing attributes and ARIA accessibility support
2025-12-03 21:16:57 +01:00
Lorenz Hilpert
daf79d55a5 feat(shell-notifications): add notification display component
Add feature library for rendering grouped notifications with:
- Grouped notification display with collapsible sections
- Unread/read status indication
- Relative timestamps via date-fns
- Action buttons supporting navigation and callback types
2025-12-03 21:16:33 +01:00
Lorenz Hilpert
062a8044f2 feat(shell-common): add shared shell services library
Add new util library providing state management services for shell components:
- NavigationService: navigation drawer open/closed state
- FontSizeService: application-wide font size with document sync
- NotificationsService: notification state with read status tracking
2025-12-03 21:16:14 +01:00
Nino
7e7721b222 Merge branch 'release/4.5' into develop 2025-12-03 16:00:41 +01:00
Nino
14be1365bd fix(crm-loyalty-cards): Show always Points of first Card 2025-12-03 15:59:08 +01:00
Nino Righi
d5324675ef Merged PR 2067: fix(ui-layout): Ipad Dropdown Scrolling Fix
fix(ui-layout): Ipad Dropdown Scrolling Fix
2025-12-03 14:16:21 +00:00
Lorenz Hilpert
86b0493591 feat(shell-layout): enhance network status banner with animations and tests
- Add slide-in/slide-out CSS animations for banner enter/leave
- Add content fade animation for smooth offline→online transitions
- Refactor to declarative RxJS pattern (pairwise + switchMap + timer)
- Use computed() for derived showBanner state
- Add wifi/wifi-off SVG icons inline
- Add comprehensive unit tests (14 test cases)
- Integrate shell-layout into isa-app root component
- Add proper JSDoc documentation
- Add ARIA accessibility attributes (role, aria-live)
- Export ONLINE_BANNER_DISPLAY_DURATION_MS constant for tests
2025-12-03 15:13:45 +01:00
Lorenz Hilpert
85f1184648 📝 docs: add Claude Code guide documentation 2025-12-03 14:20:21 +01:00
Lorenz Hilpert
803a53253c feat(isa-app): migrate to standalone component architecture
- Replace NgModule bootstrap with bootstrapApplication and ApplicationConfig
- Convert app.module.ts to app.config.ts with provider functions
- Convert routing module to standalone routes array
- Remove domain NgModules (services now providedIn: 'root')
- Remove NgRx application store in favor of signals
- Update icon components and registries for modern patterns
- Update page components for standalone compatibility
2025-12-03 14:20:21 +01:00
Lorenz Hilpert
abcb8e2cb4 ♻️ refactor(shell-layout): restructure component and add network status banner
- Move shell-layout from nested folder to lib root
- Add network-status-banner component for connectivity display
- Remove old component structure and specs
2025-12-03 14:15:50 +01:00
Nino
f10338a48b Merge branch 'release/4.5' into develop 2025-12-02 17:33:50 +01:00
Lorenz Hilpert
598a77b288 feat(core-connectivity): add network status service library
- Scaffold new core-connectivity library with Nx generator
- Migrate NetworkStatusService from isa-app to shared library
- Refactor service to use fromEvent/merge with shareReplay
- Add NetworkStatus type and injectNetworkStatus signal helper
- Update all consumers to use @isa/core/connectivity imports
- Add comprehensive unit tests (9 tests)
- Configure Vitest with JUnit/Cobertura reporters
- Update library-reference.md (74 → 75 libraries)
2025-12-02 17:26:25 +01:00
Nino
aa57d27924 fix(oms-return-details): Label Unknown Fix
Ref: #5513
2025-12-02 17:20:56 +01:00
Nino
6cb9aea7d1 Merge branch 'release/4.5' into develop 2025-12-02 17:18:11 +01:00
Lorenz Hilpert
fdfb54a3a0 Merged PR 2065: ♻️ refactor(core-navigation): remove library and use TabService directly
♻️ refactor(core-navigation): remove library and use TabService directly

Remove @isa/core/navigation library entirely as it was just a thin
wrapper around TabService.patchTabMetadata(). Consumers now use
TabService directly for scoped metadata operations.

Changes:
- Delete libs/core/navigation/ (~12 files, ~2900 LOC removed)
- Update 6 consumer components to use TabService directly
- Remove @isa/core/navigation path alias from tsconfig.base.json
- All operations now synchronous (removed async/await)

Migration pattern:
- preserveContext() → patchTabMetadata(tabId, { [scope]: data })
- restoreContext() → activatedTab()?.metadata?.[scope]
- restoreAndClearContext() → get + patchTabMetadata(tabId, { [scope]: null })

Refs #5502
2025-12-02 15:41:18 +00:00
Nino
5f94549539 fix(oms-return-details): Dropdown Label and Select Bullet Styling Adjustments
Ref: #5513
2025-12-02 16:32:57 +01:00
Lorenz Hilpert
e5dd1e312d feat(shell): scaffold shell-layout, shell-header, and shell-navigation libraries
Add new shell domain with three feature libraries:
- shell-layout: Main application layout container
- shell-header: Application header component
- shell-navigation: Navigation component

All libraries configured with:
- Standalone Angular components
- Vitest with JUnit and Cobertura reporters
- Architectural tags (scope:shell, type:feature)
2025-12-02 16:14:35 +01:00