|
@@ -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>
|