From deed8622f8e97ac35f638ce6c162b671c6977a33 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 1 Jan 2026 15:29:45 +0000 Subject: [PATCH] Revamp MMC Features UI with improved layout, enhanced loading experience, search functionality, and better user feedback --- .../Admin/Pages/Mmc/Features/List.razor | 1127 ++++++----------- .../Admin/Pages/Mmc/Features/List.razor.cs | 15 +- 2 files changed, 376 insertions(+), 766 deletions(-) diff --git a/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor index 468fba68..c555bc29 100644 --- a/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor +++ b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor @@ -34,776 +34,375 @@ @inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory -MMC FEATUREs +MMC Features @if(!_initialized) { -
-

Loading...

+
+
+
+ Loading... +
+

Loading MMC features...

+
return; } -
-

MMC FEATUREs

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @foreach(MmcFeatures item in _items) - { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } - -
- @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.AACSVersion)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.AGIDs)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BindingNonceBlocks)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BlocksPerReadableUnit)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BufferUnderrunFreeInDVD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BufferUnderrunFreeInSAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.BufferUnderrunFreeInTAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanAudioScan)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanEject)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanEraseSector)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanExpandBDRESpareArea)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormat)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatBDREWithoutSpare)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatCert)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatFRF)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatQCert)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanFormatRRM)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanGenerateBindingNonce)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanLoad)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanMuteSeparateChannels)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanOverwriteSAOTrack)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanOverwriteTAOTrack)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanPlayCDAudio)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanPseudoOverwriteBDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadAllDualR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadAllDualRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDRE1)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDRE2)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBDROM)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadBluBCA)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadCD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadCDMRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadCPRM_MKB)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDDCD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusMRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusRDL)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDVDPlusRWDL)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadDriveAACSCertificate)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadHDDVD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadHDDVDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadHDDVDRAM)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadLeadInCDText)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadOldBDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadOldBDRE)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadOldBDROM)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReadSpareAreaInformation)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReportDriveSerial)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanReportMediaSerial)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteDDCDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteDVD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteInSAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanTestWriteInTAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanUpgradeFirmware)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBDRE1)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBDRE2)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteBusEncryptedBlocks)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDMRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDRWCAV)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDSAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCDTAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteCSSManagedDVD)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDDCDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDDCDRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusMRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusRDL)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDPlusRWDL)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDRDL)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteDVDRW)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteHDDVDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteHDDVDRAM)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteOldBDR)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteOldBDRE)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWritePackedSubchannelInTAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRWSubchannelInSAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRWSubchannelInTAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRaw)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRawMultiSession)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CanWriteRawSubchannelInTAO)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ChangerIsSideChangeCapable)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ChangerSlots)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ChangerSupportsDiscPresent)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CPRMVersion)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.CSSVersion)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.DBML)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.DVDMultiRead)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.EmbeddedChanger)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.ErrorRecoveryPage)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.FirmwareDate)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.LoadingMechanismType)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.Locked)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.LogicalBlockSize)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.MultiRead)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.PhysicalInterfaceStandardNumber)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.PreventJumper)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsAACS)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsBusEncryption)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsC2)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsCPRM)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsCSS)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsDAP)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsDeviceBusyEvent)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsHybridDiscs)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsModePage1Ch)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsOSSC)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsPWP)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsSWPP)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsSecurDisc)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsSeparateVolume)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsVCPS)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsWriteInhibitDCB)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.SupportsWriteProtectPAC)) - - @DisplayNameHelper.GetDisplayName(typeof(MmcFeatures), nameof(MmcFeatures.VolumeLevels)) - - Actions -
- @item.AACSVersion - - @item.AGIDs - - @item.BindingNonceBlocks - - @item.BlocksPerReadableUnit - - @item.BufferUnderrunFreeInDVD - - @item.BufferUnderrunFreeInSAO - - @item.BufferUnderrunFreeInTAO - - @item.CanAudioScan - - @item.CanEject - - @item.CanEraseSector - - @item.CanExpandBDRESpareArea - - @item.CanFormat - - @item.CanFormatBDREWithoutSpare - - @item.CanFormatCert - - @item.CanFormatFRF - - @item.CanFormatQCert - - @item.CanFormatRRM - - @item.CanGenerateBindingNonce - - @item.CanLoad - - @item.CanMuteSeparateChannels - - @item.CanOverwriteSAOTrack - - @item.CanOverwriteTAOTrack - - @item.CanPlayCDAudio - - @item.CanPseudoOverwriteBDR - - @item.CanReadAllDualR - - @item.CanReadAllDualRW - - @item.CanReadBD - - @item.CanReadBDR - - @item.CanReadBDRE1 - - @item.CanReadBDRE2 - - @item.CanReadBDROM - - @item.CanReadBluBCA - - @item.CanReadCD - - @item.CanReadCDMRW - - @item.CanReadCPRM_MKB - - @item.CanReadDDCD - - @item.CanReadDVD - - @item.CanReadDVDPlusMRW - - @item.CanReadDVDPlusR - - @item.CanReadDVDPlusRDL - - @item.CanReadDVDPlusRW - - @item.CanReadDVDPlusRWDL - - @item.CanReadDriveAACSCertificate - - @item.CanReadHDDVD - - @item.CanReadHDDVDR - - @item.CanReadHDDVDRAM - - @item.CanReadLeadInCDText - - @item.CanReadOldBDR - - @item.CanReadOldBDRE - - @item.CanReadOldBDROM - - @item.CanReadSpareAreaInformation - - @item.CanReportDriveSerial - - @item.CanReportMediaSerial - - @item.CanTestWriteDDCDR - - @item.CanTestWriteDVD - - @item.CanTestWriteInSAO - - @item.CanTestWriteInTAO - - @item.CanUpgradeFirmware - - @item.CanWriteBD - - @item.CanWriteBDR - - @item.CanWriteBDRE1 - - @item.CanWriteBDRE2 - - @item.CanWriteBusEncryptedBlocks - - @item.CanWriteCDMRW - - @item.CanWriteCDRW - - @item.CanWriteCDRWCAV - - @item.CanWriteCDSAO - - @item.CanWriteCDTAO - - @item.CanWriteCSSManagedDVD - - @item.CanWriteDDCDR - - @item.CanWriteDDCDRW - - @item.CanWriteDVDPlusMRW - - @item.CanWriteDVDPlusR - - @item.CanWriteDVDPlusRDL - - @item.CanWriteDVDPlusRW - - @item.CanWriteDVDPlusRWDL - - @item.CanWriteDVDR - - @item.CanWriteDVDRDL - - @item.CanWriteDVDRW - - @item.CanWriteHDDVDR - - @item.CanWriteHDDVDRAM - - @item.CanWriteOldBDR - - @item.CanWriteOldBDRE - - @item.CanWritePackedSubchannelInTAO - - @item.CanWriteRWSubchannelInSAO - - @item.CanWriteRWSubchannelInTAO - - @item.CanWriteRaw - - @item.CanWriteRawMultiSession - - @item.CanWriteRawSubchannelInTAO - - @item.ChangerIsSideChangeCapable - - @item.ChangerSlots - - @item.ChangerSupportsDiscPresent - - @item.CPRMVersion - - @item.CSSVersion - - @item.DBML - - @item.DVDMultiRead - - @item.EmbeddedChanger - - @item.ErrorRecoveryPage - - @item.FirmwareDate - - @item.LoadingMechanismType - - @item.Locked - - @item.LogicalBlockSize - - @item.MultiRead - - @item.PhysicalInterfaceStandardNumber - - @item.PreventJumper - - @item.SupportsAACS - - @item.SupportsBusEncryption - - @item.SupportsC2 - - @item.SupportsCPRM - - @item.SupportsCSS - - @item.SupportsDAP - - @item.SupportsDeviceBusyEvent - - @item.SupportsHybridDiscs - - @item.SupportsModePage1Ch - - @item.SupportsOSSC - - @item.SupportsPWP - - @item.SupportsSWPP - - @item.SupportsSecurDisc - - @item.SupportsSeparateVolume - - @item.SupportsVCPS - - @item.SupportsWriteInhibitDCB - - @item.SupportsWriteProtectPAC - - @item.VolumeLevels - - Details -
+
+ +
+
+

+ MMC Features +

+

Manage MMC (MultiMedia Commands) drive feature profiles

+
-
\ No newline at end of file + + +
+
+
+
+
+ + + + +
+
+
+ + Total: @FilteredItems.Count() / @_items.Count + +
+
+
+
+ + + + + +
+
+
+ MMC Feature Database +
+
+
+ @if(FilteredItems.Any()) + { +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + @foreach(MmcFeatures item in FilteredItems) + { + + + + + + + + + + + + + + + + + + + + + + + + } + +
+ ID + + CD + + DVD + + BD + + HD-DVD + + DDCD + + W-CD + + W-DVD + + W-BD + + W-HDDVDR + + W-DDCDR + + W-MRW + + DVD-MR + + Multi-R + + AACS + + CSS + + CPRM + + SecurDisc + + OSSC + + VCPS + + Actions +
+ @item.Id + + @if(item.CanReadCD) + { + + } + else + { + + } + + @if(item.CanReadDVD) + { + + } + else + { + + } + + @if(item.CanReadBD) + { + + } + else + { + + } + + @if(item.CanReadHDDVD) + { + + } + else + { + + } + + @if(item.CanReadDDCD) + { + + } + else + { + + } + + @if(item.CanWriteCDSAO || item.CanWriteCDTAO) + { + + } + else + { + + } + + @if(item.CanWriteDVDR) + { + + } + else + { + + } + + @if(item.CanWriteBD) + { + + } + else + { + + } + + @if(item.CanWriteHDDVDR) + { + + } + else + { + + } + + @if(item.CanWriteDDCDR) + { + + } + else + { + + } + + @if(item.CanWriteCDMRW) + { + + } + else + { + + } + + @if(item.DVDMultiRead) + { + + } + else + { + + } + + @if(item.MultiRead) + { + + } + else + { + + } + + @if(item.SupportsAACS) + { + + } + else + { + - + } + + @if(item.CSSVersion is > 0) + { + v@(item.CSSVersion) + } + else + { + - + } + + @if(item.CPRMVersion is > 0) + { + v@(item.CPRMVersion) + } + else + { + - + } + + @if(item.SupportsSecurDisc) + { + + } + else + { + - + } + + @if(item.SupportsOSSC) + { + + } + else + { + - + } + + @if(item.SupportsVCPS) + { + + } + else + { + - + } + + + Details + +
+
+ } + else + { +
+ +

No MMC features found

+

@(string.IsNullOrWhiteSpace(_searchTerm) ? "No data available" : "Try adjusting your search criteria")

+
+ } +
+
+
+ diff --git a/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor.cs b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor.cs index a9892f1c..6c2504a9 100644 --- a/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor.cs +++ b/Aaru.Server/Components/Admin/Pages/Mmc/Features/List.razor.cs @@ -34,8 +34,19 @@ namespace Aaru.Server.Components.Admin.Pages.Mmc.Features; public partial class List { - bool _initialized; - List _items; + private bool _initialized; + private List _items = new(); + private string _searchTerm = string.Empty; + + private IEnumerable FilteredItems + { + get + { + if(string.IsNullOrWhiteSpace(_searchTerm)) return _items; + + return _items.Where(item => item.Id.ToString().Contains(_searchTerm, StringComparison.OrdinalIgnoreCase)); + } + } /// protected override async Task OnInitializedAsync()