| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- @using RackPeek.Domain.Resources.Hardware.Laptops
- @using RackPeek.Domain.Resources.Models
- @inject GetLaptopsUseCase GetLaptops
- @inject NavigationManager Nav
- <PageTitle>Laptops</PageTitle>
- <div class="min-h-screen bg-zinc-950 text-zinc-200 font-mono p-6 space-y-6">
- <AddLaptopComponent OnCreated="NavigateToNewResource"/>
- @if (_Laptops is null)
- {
- <div class="text-zinc-500">loading Laptops…</div>
- }
- else if (_Laptops.Count == 0)
- {
- <div class="text-zinc-500">no Laptops found</div>
- }
- else
- {
- <div class="space-y-4">
- @foreach (var Laptop in _Laptops.OrderBy(s => s.Name))
- {
- <LaptopCardComponent Laptop="Laptop" OnDeleted="Callback"/>
- }
- </div>
- }
- </div>
- @code {
- private IReadOnlyList<Laptop>? _Laptops;
- protected override async Task OnInitializedAsync()
- {
- _Laptops = await GetLaptops.ExecuteAsync();
- }
- private Task NavigateToNewResource(string serverName)
- {
- Nav.NavigateTo($"resources/hardware/{serverName}");
- return Task.CompletedTask;
- }
- private async Task Callback(string obj)
- {
- _Laptops = await GetLaptops.ExecuteAsync();
- }
- }
|