4
0

ServiceDetailsPage.razor 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. @page "/resources/services/{ServiceName}"
  2. @using RackPeek.Domain.Persistence
  3. @inject IResourceCollection Repo
  4. @inject NavigationManager NavigationManager
  5. <PageTitle>Service Details</PageTitle>
  6. <ResourceBreadCrumbComponent
  7. ResourceType="ResourceType.Service"
  8. ResourceName="@ServiceName"/>
  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. @if (_service != null)
  21. {
  22. <ServiceCardComponent Service="_service" OnDeleted="OnDeleted"/>
  23. }
  24. }
  25. </div>
  26. @code {
  27. [Parameter] public string ServiceName { get; set; } = string.Empty;
  28. private Service? _service;
  29. private bool _loading = true;
  30. protected override async Task OnParametersSetAsync()
  31. {
  32. _loading = true;
  33. _service = await Repo.GetByNameAsync<Service>(ServiceName);
  34. _loading = false;
  35. }
  36. private void OnDeleted(string obj)
  37. {
  38. NavigationManager.NavigateTo("/services/list");
  39. }
  40. }