From 89eba245e21ae653bc5a5ed49b28094288691ec2 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 12 Sep 2025 01:42:31 +0100 Subject: [PATCH] Add list for USB vendors. --- Aaru.Server/Aaru.Server.csproj | 95 +++++++++---------- .../Components/Admin/AdminNavMenu.razor | 3 + .../Admin/Pages/Usb/Vendors/List.razor | 52 ++++++++++ .../Admin/Pages/Usb/Vendors/List.razor.cs | 28 ++++++ 4 files changed, 130 insertions(+), 48 deletions(-) create mode 100644 Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor create mode 100644 Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor.cs diff --git a/Aaru.Server/Aaru.Server.csproj b/Aaru.Server/Aaru.Server.csproj index 1fe1dccf..744c8bb7 100644 --- a/Aaru.Server/Aaru.Server.csproj +++ b/Aaru.Server/Aaru.Server.csproj @@ -5,56 +5,55 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + @@ -64,7 +63,7 @@ - + diff --git a/Aaru.Server/Components/Admin/AdminNavMenu.razor b/Aaru.Server/Components/Admin/AdminNavMenu.razor index 1097636b..1818c5d9 100644 --- a/Aaru.Server/Components/Admin/AdminNavMenu.razor +++ b/Aaru.Server/Components/Admin/AdminNavMenu.razor @@ -50,6 +50,9 @@ USB Products + + USB Vendors + Versions diff --git a/Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor b/Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor new file mode 100644 index 00000000..b171dd8c --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor @@ -0,0 +1,52 @@ +@page "/admin/usb/vendors" +@attribute [Authorize] +@layout AdminLayout +@rendermode InteractiveServer + +@inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory + +USB vendors + +@if(!_initialized) +{ +
+

Loading...

+
+ + return; +} + +
+

USB vendors

+ + + + + + + + + + @foreach(UsbVendor item in _items) + { + + + + + + } + +
+ @DisplayNameHelper.GetDisplayName(typeof(UsbVendor), nameof(UsbVendor.Vendor)) + + @DisplayNameHelper.GetDisplayName(typeof(UsbVendor), nameof(UsbVendor.VendorId)) + + Actions +
+ @item.Vendor + + @item.VendorId + + Details +
+
\ No newline at end of file diff --git a/Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor.cs b/Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor.cs new file mode 100644 index 00000000..141d8cce --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/Usb/Vendors/List.razor.cs @@ -0,0 +1,28 @@ +using Aaru.Server.Database.Models; +using Microsoft.EntityFrameworkCore; +using DbContext = Aaru.Server.Database.DbContext; + +namespace Aaru.Server.Components.Admin.Pages.Usb.Vendors; + +public partial class List +{ + bool _initialized; + + List _items; + + /// + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + + StateHasChanged(); + + await using DbContext ctx = await DbContextFactory.CreateDbContextAsync(); + + _items = await ctx.UsbVendors.OrderBy(static v => v.Vendor).ThenBy(static v => v.VendorId).ToListAsync(); + + _initialized = true; + + StateHasChanged(); + } +} \ No newline at end of file