@page "/resources/systems/{SystemName}" @using RackPeek.Domain.Resources.Hardware @using RackPeek.Domain.Resources.SystemResources @using RackPeek.Domain.Resources.SystemResources.UseCases @using Shared.Rcl.Services @inject ISystemRepository SystemRepository @inject UpdateSystemUseCase UpdateSystemUseCase @inject GetSystemServiceTreeUseCase GetSystemServiceTreeUseCase @inject NavigationManager NavigationManager System Details
@if (_system is null && !_loading) {
System not found
} else if (_loading) {
loading system…
} else {

@_system.Name (@_system.Kind)

@if (_tree is not null && _tree.Services.Any()) { } else {
No child systems / services
}
}
@code { [Parameter] public string SystemName { get; set; } = string.Empty; private SystemResource? _system; private bool _loading = true; SystemDependencyTree? _tree; protected override async Task OnInitializedAsync() { _system = await SystemRepository.GetByNameAsync(SystemName); _tree = null; if (!string.IsNullOrEmpty(_system?.Name)) { _tree = await GetSystemServiceTreeUseCase.ExecuteAsync(_system?.Name!); } _loading = false; } async Task UpdateSystem(SystemEditModel edit) { await UpdateSystemUseCase.ExecuteAsync( edit.Name, edit.Type, edit.Os, edit.Cores, edit.Ram, edit.RunsOn, edit.Notes ); } private async Task OnDeleted() { NavigationManager.NavigateTo("/systems/list"); } }