From 87cbe3ffd0db00a594a6ddc39cf5008d13c58446 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 12 Sep 2025 02:55:34 +0100 Subject: [PATCH] Add view for MMC / SD details. --- .../Admin/Pages/MmcSds/Details.razor | 80 +++++++++++++++++++ .../Admin/Pages/MmcSds/Details.razor.cs | 29 +++++++ 2 files changed, 109 insertions(+) create mode 100644 Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor create mode 100644 Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor.cs diff --git a/Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor b/Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor new file mode 100644 index 00000000..01a27929 --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor @@ -0,0 +1,80 @@ +@page "/admin/mmc-sd/{id:int}" +@using Aaru.Decoders.SecureDigital +@attribute [Authorize] +@layout AdminLayout +@rendermode InteractiveServer + +@inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory + +@if(!_initialized) +{ +
+

Loading...

+
+ + return; +} + +
+

MultiMediaCard / SecureDigital registers

+
+ @if(_model == null) + { +

Not found.

+ } + else + { +
+ @if(_model.SCR != null) + { + @if(_model.CID != null) + { +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CID))
+
@((MarkupString)Decoders.PrettifyCID(_model.CID))
+ } + + @if(_model.CSD != null) + { +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CSD))
+
@((MarkupString)Decoders.PrettifyCSD(_model.CSD))
+ } + + @if(_model.OCR != null) + { +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.OCR))
+
@((MarkupString)Decoders.PrettifyOCR(_model.OCR))
+ } + +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.SCR))
+
@((MarkupString)Decoders.PrettifySCR(_model.SCR))
+ } + else + { + @if(_model.CID != null) + { +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CID))
+
@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyCID(_model.CID))
+ } + + @if(_model.CSD != null) + { +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CSD))
+
@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyCSD(_model.CSD))
+ } + + @if(_model.OCR != null) + { +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.OCR))
+
@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyOCR(_model.OCR))
+ } + + @if(_model.ExtendedCSD != null) + { +
@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.ExtendedCSD))
+
@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyExtendedCSD(_model.ExtendedCSD))
+ } + } +
+ Back to List + } +
\ No newline at end of file diff --git a/Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor.cs b/Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor.cs new file mode 100644 index 00000000..4a2c1499 --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/MmcSds/Details.razor.cs @@ -0,0 +1,29 @@ +using Aaru.CommonTypes.Metadata; +using Microsoft.AspNetCore.Components; +using Microsoft.EntityFrameworkCore; +using DbContext = Aaru.Server.Database.DbContext; + +namespace Aaru.Server.Components.Admin.Pages.MmcSds; + +public partial class Details +{ + bool _initialized; + MmcSd? _model; + [Parameter] + public int Id { get; set; } + + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + + StateHasChanged(); + + await using DbContext ctx = await DbContextFactory.CreateDbContextAsync(); + + _model = await ctx.MmcSd.FirstOrDefaultAsync(m => m.Id == Id); + + _initialized = true; + + StateHasChanged(); + } +} \ No newline at end of file