ServiceDetailsPage.razor 1.1 KB

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