[PR #243] feat: move NavigationTrackerService to CE Core and refactor MainLayout to [Inject] #325

Closed
opened 2026-03-07 19:57:35 +03:00 by kerem · 0 comments
Owner

Original Pull Request: https://github.com/Corsinvest/cv4pve-admin/pull/243

State: closed
Merged: Yes


Summary

  • Move NavigationTrackerService from EE to CE Core/Services so both editions share the same implementation
  • Refactor MainLayout from primary constructor to [Inject] properties — derived classes (e.g. MainLayoutEE) no longer need to forward all constructor parameters
  • Move release update logic (NewRelease, IsUpdating, TriggerUpdateAsync) from MainLayout to HelpMenu where it logically belongs
  • Remove SubscriptionGate wrapper from ActiveSessions CurrentPage column since NavigationTrackerService is now in CE

Files changed

  • Core/Services/NavigationTrackerService.cs — new (moved from EE)
  • Core/ServiceCollectionExtensions.cs — register NavigationTrackerService as scoped
  • Core/Components/Layout/MainLayout.razor.cs — refactored to [Inject], removed release logic
  • Core/Components/Layout/MainLayout.razor — updated property references
  • Core/Components/ActiveSessions.razor — removed SubscriptionGate from CurrentPage column

Notes

  • EE NavigationTrackerService and its registration are removed in a companion MR on the EE repo
  • MainLayoutEE is simplified to just override AdditionalLayoutComponents (no constructor needed)
**Original Pull Request:** https://github.com/Corsinvest/cv4pve-admin/pull/243 **State:** closed **Merged:** Yes --- ## Summary - Move `NavigationTrackerService` from EE to CE `Core/Services` so both editions share the same implementation - Refactor `MainLayout` from primary constructor to `[Inject]` properties — derived classes (e.g. `MainLayoutEE`) no longer need to forward all constructor parameters - Move release update logic (`NewRelease`, `IsUpdating`, `TriggerUpdateAsync`) from `MainLayout` to `HelpMenu` where it logically belongs - Remove `SubscriptionGate` wrapper from `ActiveSessions` `CurrentPage` column since `NavigationTrackerService` is now in CE ## Files changed - `Core/Services/NavigationTrackerService.cs` — new (moved from EE) - `Core/ServiceCollectionExtensions.cs` — register `NavigationTrackerService` as scoped - `Core/Components/Layout/MainLayout.razor.cs` — refactored to `[Inject]`, removed release logic - `Core/Components/Layout/MainLayout.razor` — updated property references - `Core/Components/ActiveSessions.razor` — removed `SubscriptionGate` from `CurrentPage` column ## Notes - EE `NavigationTrackerService` and its registration are removed in a companion MR on the EE repo - `MainLayoutEE` is simplified to just override `AdditionalLayoutComponents` (no constructor needed)
kerem 2026-03-07 19:57:35 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cv4pve-admin#325
No description provided.