Преглед изворни кода

correct compile error, clear err logs

HOME пре 2 година
родитељ
комит
8d5bd6ffb7

+ 0 - 1
FNZCM/FNZCM.BlazorWasm/FNZCM.BlazorWasm.csproj

@@ -2,7 +2,6 @@
 
   <PropertyGroup>
     <TargetFramework>net7.0</TargetFramework>
-    <Nullable>enable</Nullable>
     <ImplicitUsings>enable</ImplicitUsings>
   </PropertyGroup>
 

+ 1 - 1
FNZCM/FNZCM.BlazorWasm/Helpers/ApiClient.cs

@@ -33,7 +33,7 @@ namespace FNZCM.BlazorWasm.Helpers
             return obj;
         }
 
-        public async Task<Dictionary<string, Library>?> GetLibraries()
+        public async Task<Dictionary<string, Library>> GetLibraries()
         {
             var url = $"{ApiBase}/metadata/file-set.json";
 

+ 6 - 0
FNZCM/FNZCM.BlazorWasm/Helpers/ExtenstionMetohd.cs

@@ -12,5 +12,11 @@
                 ? tv
                 : default;
         }
+
+        public static T[] KeepNoEmpty<T>(this T[] source)
+        {
+            if (false == (source?.Length > 0)) return new T[1];
+            return source;
+        }
     }
 }

+ 1 - 9
FNZCM/FNZCM.BlazorWasm/UI/App.razor

@@ -8,17 +8,9 @@
         <span>Waiting server ready...</span>
         <span>@(Progress?.LoadedTags ?? 0)</span> <span>/</span> <span>@(Progress?.TotalTrackCount ?? 0)</span>
     }
-    else if (FnzDataSet.Libraries == null)
-    {
-        <span>Loading file set...</span>
-    }
-    else if (FnzDataSet.MediaTags == null)
-    {
-        <span>Loading tags...</span>
-    }
     else if (FnzDataSet.AllLibrary == null)
     {
-        <span>Processing data...</span>
+        <span>@LoadingMessage</span>
     }
     else
     {

+ 9 - 2
FNZCM/FNZCM.BlazorWasm/UI/App.razor.cs

@@ -5,6 +5,8 @@ namespace FNZCM.BlazorWasm.UI
 {
     public partial class App
     {
+        private string LoadingMessage { get; set; }
+
         private LoadingProgress? Progress { get; set; }
 
         protected override async Task OnInitializedAsync()
@@ -19,13 +21,18 @@ namespace FNZCM.BlazorWasm.UI
                 Thread.Sleep(1000);
             } while (true);
 
+            LoadingMessage = "Fetching fileset...";
+            StateHasChanged();
             var Libraries = await ApiClient.GetLibraries();
+            
+            LoadingMessage = "Fetching tags...";
             StateHasChanged();
-
             var MediaTags = await ApiClient.GetMediaTags();
-            StateHasChanged();
 
+            LoadingMessage = "Processing model...";
+            StateHasChanged();
             FnzDataSet.InitFeModules2(ApiClient.ApiBase, Libraries, MediaTags);
+            LoadingMessage = null;
             StateHasChanged();
         }
     }

+ 8 - 8
FNZCM/FNZCM.BlazorWasm/UI/Views/Browse/BrowseView.razor

@@ -17,15 +17,15 @@
 
             @if (CurrentLibrary != null)
             {
-                foreach (var cat in CurrentLibrary.Catalogs)
+                foreach (var cat in (CurrentLibrary?.Catalogs).KeepNoEmpty())
                 {
                     <li class="nav-item mb-1 mx-2">
                         <a class="nav-link btn btn-secondary"
-                   href="@cat.PlaylistPath"
+                   href="@cat?.PlaylistPath"
                    target="@FnzConst.PlaylistPageTarget"
                    onclick="return BlockDownloadAndOpenHtmlPage(this)">
-                            <small class="font-monospace text-muted">@cat.TotalDuration.SecondToDur() @cat.TotalBytes.BytesToFileSize()</small>
-                            @cat.Name
+                            <small class="font-monospace text-muted">@cat?.TotalDuration.SecondToDur() @cat?.TotalBytes.BytesToFileSize()</small>
+                            @cat?.Name
                         </a>
                     </li>
                 }
@@ -36,7 +36,7 @@
 <div class="row">
     <div class="col-12">
         <div class="row">
-            @foreach (var disc in CurrentLibrary?.Discs ?? new FeDisc[1])
+            @foreach (var disc in (CurrentLibrary?.Discs).KeepNoEmpty())
             {
                 <div class="col-md-3 d-flex align-items-stretch">
                     @*TODO: Card Component*@
@@ -48,7 +48,7 @@
                                 <div class="w-100 text-center">
                                     <small class="font-monospace text-muted">Track @disc.TrackSets.First().Tracks.Length</small>
                                 </div>
-                                @foreach (var tSet in disc?.TrackSets ?? new FeTrackSet[1])
+                                @foreach (var tSet in (disc?.TrackSets).KeepNoEmpty())
                                 {
                                     <div class="d-flex justify-content-between w-100">
                                         <span class="align-self-center">@(tSet?.Name.StartsWith("AAC_Q1.00") == true ? "Q1" + tSet?.Name.Substring(9) : tSet?.Name)</span>
@@ -78,7 +78,7 @@
                         <div class="col-md-4 mb-1"><img class="card-img-top" src="@CurrentDisc?.CoverPath" onerror="this.src='blazor-192.png'"></div>
                         <div class="col-md-8">
                             <ul class="nav nav-tabs justify-content-center nav-fill" id="ModalDiscTab" role="tablist">
-                                @foreach (var subSet in (CurrentDisc?.TrackSets ?? new FeTrackSet[1]).WithIndex())
+                                @foreach (var subSet in (CurrentDisc?.TrackSets).KeepNoEmpty().WithIndex())
                                 {
                                     <li class="nav-item " role="presentation">
                                         <button class="nav-link" id="main-tab" data-bs-toggle="tab" data-bs-target="#tracks-@subSet.index" type="button" role="tab" aria-controls="home" aria-selected="true">
@@ -88,7 +88,7 @@
                                 }
                             </ul>
                             <div class="tab-content" id="ModalDiscTabContent">
-                                @foreach (var subSet in (CurrentDisc?.TrackSets??new FeTrackSet[1]).WithIndex())
+                                @foreach (var subSet in (CurrentDisc?.TrackSets).KeepNoEmpty().WithIndex())
                                 {
                                     <div class="tab-pane fade" id="tracks-@subSet.index" role="tabpanel" aria-labelledby="home-tab">
                                         <TrackSetTable TrackSet="subSet.item"></TrackSetTable>

+ 1 - 1
FNZCM/FNZCM.BlazorWasm/UI/Views/Browse/BrowseView.razor.cs

@@ -9,7 +9,7 @@ namespace FNZCM.BlazorWasm.UI.Views.Browse
         [Inject]
         private IJSRuntime Js { get; set; }
 
-        private List<FeLibrary> SelectedLibs { get; set; }
+        private List<FeLibrary> SelectedLibs { get; set; } = new();
         private FeLibrary CurrentLibrary { get; set; }
         private FeDisc CurrentDisc { get; set; }
 

+ 5 - 5
FNZCM/FNZCM.BlazorWasm/UI/Views/Browse/TrackSetTable.razor

@@ -4,18 +4,18 @@
     <thead>
         <tr>
             <th scope="col">
-                <a href="@TrackSet.M3U8Path" target="@FnzConst.PlaylistPageTarget" onclick="return BlockDownloadAndOpenHtmlPage(this)">Play all</a>
+                <a href="@TrackSet?.M3U8Path" target="@FnzConst.PlaylistPageTarget" onclick="return BlockDownloadAndOpenHtmlPage(this)">Play all</a>
             </th>
-            <th scope="col">@TrackSet.TotalDuration.SecondToDur()</th>
-            <th scope="col">@TrackSet.TotalBytes.BytesToFileSize()</th>
+            <th scope="col">@TrackSet?.TotalDuration.SecondToDur()</th>
+            <th scope="col">@TrackSet?.TotalBytes.BytesToFileSize()</th>
         </tr>
     </thead>
     <tbody>
-        @foreach (var t in (TrackSet?.Tracks ?? new FeTrack[1]))
+        @foreach (var t in (TrackSet?.Tracks).KeepNoEmpty())
         {
             <tr>
                 <th scope="row">
-                    <a href="@t.Path" target="@FnzConst.PlaylistPageTarget">@((t?.Tag?.Title).NullOrEmptyEscape(t?.Name))</a>
+                    <a href="@t?.Path" target="@FnzConst.PlaylistPageTarget">@((t?.Tag?.Title).NullOrEmptyEscape(t?.Name))</a>
                 </th>
                 <td>@(t?.Tag?.Duration.SecondToDur() ?? "?")</td>
                 <td>@(t?.Tag?.Length.BytesToFileSize() ?? "?")</td>

+ 0 - 1
FNZCM/FNZCM.BlazorWasm/UI/_Imports.razor

@@ -22,7 +22,6 @@
 @using FNZCM.BlazorWasm.Models
 @using FNZCM.BlazorWasm.Helpers
 @using FNZCM.BlazorWasm.UI
-@using FNZCM.BlazorWasm.UI.Shared
 @using FNZCM.BlazorWasm.UI.Views.Browse
 @using FNZCM.BlazorWasm.UI.Views.Search
 @using FNZCM.BlazorWasm.UI.Views.Playlist