DesktopsListComponent.razor 980 B

12345678910111213141516171819202122232425262728293031323334353637
  1. @using RackPeek.Domain.Resources.Hardware.Desktops
  2. @using RackPeek.Domain.Resources.Hardware.Models
  3. @inject GetDesktopsUseCase GetDesktops
  4. <PageTitle>Desktops</PageTitle>
  5. <div class="min-h-screen bg-zinc-950 text-zinc-200 font-mono p-6">
  6. @if (_desktops is null)
  7. {
  8. <div class="text-zinc-500">loading desktops…</div>
  9. }
  10. else if (_desktops.Count == 0)
  11. {
  12. <div class="text-zinc-500">no desktops found</div>
  13. }
  14. else
  15. {
  16. <div class="space-y-4">
  17. @foreach (var desktop in _desktops.OrderBy(s => s.Name))
  18. {
  19. <NavLink href="@($"/resources/hardware/{desktop.Name}")" class="block">
  20. <DesktopCardComponent Desktop="desktop"/>
  21. </NavLink>
  22. }
  23. </div>
  24. }
  25. </div>
  26. @code {
  27. private IReadOnlyList<Desktop>? _desktops;
  28. protected override async Task OnInitializedAsync()
  29. {
  30. _desktops = await GetDesktops.ExecuteAsync();
  31. }
  32. }