From 9b9b55a7bfb1baf2fd3c0be9284d1e5216b67093 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 11 Sep 2025 17:07:23 +0100 Subject: [PATCH] Add view for operating systems. --- .../Components/Admin/AdminNavMenu.razor | 3 ++ .../Admin/Pages/OperatingSystems/View.razor | 51 +++++++++++++++++++ .../Pages/OperatingSystems/View.razor.cs | 27 ++++++++++ 3 files changed, 81 insertions(+) create mode 100644 Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor create mode 100644 Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor.cs diff --git a/Aaru.Server/Components/Admin/AdminNavMenu.razor b/Aaru.Server/Components/Admin/AdminNavMenu.razor index 9c00a769..c20b6f48 100644 --- a/Aaru.Server/Components/Admin/AdminNavMenu.razor +++ b/Aaru.Server/Components/Admin/AdminNavMenu.razor @@ -20,6 +20,9 @@ Filters + + Operating systems + diff --git a/Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor b/Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor new file mode 100644 index 00000000..26004dca --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor @@ -0,0 +1,51 @@ +@page "/admin/operating-systems" +@using OperatingSystem = Aaru.Server.Database.Models.OperatingSystem +@attribute [Authorize] +@layout AdminLayout + +@inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory + +Operating systems + +@if(!_initialized) +{ +
+

Loading...

+
+ + return; +} + +
+ + + + + + + + + + @foreach(OperatingSystem item in _items) + { + + + + + + } + +
+ @DisplayNameHelper.GetDisplayName(typeof(OperatingSystem), nameof(OperatingSystem.Name)) + + @DisplayNameHelper.GetDisplayName(typeof(OperatingSystem), nameof(OperatingSystem.Version)) + + @DisplayNameHelper.GetDisplayName(typeof(OperatingSystem), nameof(OperatingSystem.Count)) +
+ @item.Name + + @item.Version + + @item.Count +
+
\ No newline at end of file diff --git a/Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor.cs b/Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor.cs new file mode 100644 index 00000000..76f46037 --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/OperatingSystems/View.razor.cs @@ -0,0 +1,27 @@ +using Microsoft.EntityFrameworkCore; +using DbContext = Aaru.Server.Database.DbContext; +using OperatingSystem = Aaru.Server.Database.Models.OperatingSystem; + +namespace Aaru.Server.Components.Admin.Pages.OperatingSystems; + +public partial class View +{ + bool _initialized; + List _items; + + /// + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + + StateHasChanged(); + + await using DbContext ctx = await DbContextFactory.CreateDbContextAsync(); + + _items = await ctx.OperatingSystems.OrderBy(static o => o.Name).ThenBy(static o => o.Version).ToListAsync(); + + _initialized = true; + + StateHasChanged(); + } +} \ No newline at end of file