@page "/"
@using RackPeek.Domain.Resources
@using RackPeek.Domain.Resources.Hardware
@using RackPeek.Domain.Resources.Services.UseCases
@using RackPeek.Domain.Resources.SystemResources.UseCases
@using Shared.Rcl.Components
@inject GetSystemSummaryUseCase SystemSummaryUseCase
@inject GetServiceSummaryUseCase ServiceSummaryUseCase
@inject GetHardwareUseCaseSummary HardwareSummaryUseCase
Home
@if (_loading)
{
loading summary…
}
else
{
Totals
Hardware
@_hardware!.TotalHardware
Systems
@_system!.TotalSystems
Services
@_service!.TotalServices
Hardware
-
├─ Hardware (@_hardware!.TotalHardware)
@if (_hardware.HardwareByKind.Any())
{
@foreach (var (kind, count) in _hardware.HardwareByKind.OrderByDescending(x => x.Value))
{
var pluralKind = Resource.KindToPlural(kind);
-
└─ @pluralKind (@count)
}
}
Services
-
└─ Total (@_service!.TotalServices)
-
└─ IP Addresses (@_service!.TotalIpAddresses)
}
@code {
private bool _loading = true;
private SystemSummary? _system;
private AllServicesSummary? _service;
private HardwareSummary? _hardware;
protected override async Task OnInitializedAsync()
{
var systemTask = SystemSummaryUseCase.ExecuteAsync();
var serviceTask = ServiceSummaryUseCase.ExecuteAsync();
var hardwareTask = HardwareSummaryUseCase.ExecuteAsync();
await Task.WhenAll(systemTask, serviceTask, hardwareTask);
_system = systemTask.Result;
_service = serviceTask.Result;
_hardware = hardwareTask.Result;
_loading = false;
}
}