SystemsDetailsPage.razor 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. @page "/resources/systems/{SystemName}"
  2. @using RackPeek.Domain.Resources.Hardware
  3. @using RackPeek.Domain.Resources.Hardware.Models
  4. @using RackPeek.Domain.Resources.SystemResources
  5. @using RackPeek.Web.Components.Components
  6. @inject ISystemRepository SystemRepository
  7. <PageTitle>System Details</PageTitle>
  8. <div class="min-h-screen bg-zinc-950 text-zinc-200 font-mono p-6">
  9. @if (_system is null && !_loading)
  10. {
  11. <div class="text-zinc-500">System not found</div>
  12. }
  13. else if (_loading)
  14. {
  15. <div class="text-zinc-500">loading system…</div>
  16. }
  17. else
  18. {
  19. <h1 class="text-lg text-zinc-100 mb-6">
  20. @_system.Name (@_system.Kind)
  21. </h1>
  22. <SystemCardComponent System="_system" />
  23. }
  24. </div>
  25. @code {
  26. [Parameter]
  27. public string SystemName { get; set; } = string.Empty;
  28. private SystemResource? _system;
  29. private bool _loading = true;
  30. protected override async Task OnInitializedAsync()
  31. {
  32. _system = await SystemRepository.GetByNameAsync(SystemName);
  33. _loading = false;
  34. }
  35. }