Add view for MMC / SD details.

This commit is contained in:
2025-09-12 02:55:34 +01:00
parent fb8f26d99e
commit 87cbe3ffd0
2 changed files with 109 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
@page "/admin/mmc-sd/{id:int}"
@using Aaru.Decoders.SecureDigital
@attribute [Authorize]
@layout AdminLayout
@rendermode InteractiveServer
@inject Microsoft.EntityFrameworkCore.IDbContextFactory<DbContext> DbContextFactory
@if(!_initialized)
{
<div class="stats-section">
<h1 style="color: red; align-content: center; padding: 2rem">Loading...</h1>
</div>
return;
}
<section class="stats-section">
<h4>MultiMediaCard / SecureDigital registers</h4>
<hr />
@if(_model == null)
{
<p class="text-danger">Not found.</p>
}
else
{
<dl class="row">
@if(_model.SCR != null)
{
@if(_model.CID != null)
{
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CID))</dt>
<dd class="col-sm-10">@((MarkupString)Decoders.PrettifyCID(_model.CID))</dd>
}
@if(_model.CSD != null)
{
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CSD))</dt>
<dd class="col-sm-10">@((MarkupString)Decoders.PrettifyCSD(_model.CSD))</dd>
}
@if(_model.OCR != null)
{
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.OCR))</dt>
<dd class="col-sm-10">@((MarkupString)Decoders.PrettifyOCR(_model.OCR))</dd>
}
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.SCR))</dt>
<dd class="col-sm-10">@((MarkupString)Decoders.PrettifySCR(_model.SCR))</dd>
}
else
{
@if(_model.CID != null)
{
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CID))</dt>
<dd class="col-sm-10">@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyCID(_model.CID))</dd>
}
@if(_model.CSD != null)
{
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.CSD))</dt>
<dd class="col-sm-10">@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyCSD(_model.CSD))</dd>
}
@if(_model.OCR != null)
{
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.OCR))</dt>
<dd class="col-sm-10">@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyOCR(_model.OCR))</dd>
}
@if(_model.ExtendedCSD != null)
{
<dt class="col-sm-2">@DisplayNameHelper.GetDisplayName(typeof(MmcSd), nameof(MmcSd.ExtendedCSD))</dt>
<dd class="col-sm-10">@((MarkupString)Aaru.Decoders.MMC.Decoders.PrettifyExtendedCSD(_model.ExtendedCSD))</dd>
}
}
</dl>
<a class="btn btn-secondary" href="/admin/mmc-sd">Back to List</a>
}
</section>

View File

@@ -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();
}
}