BrowseView.razor 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. @inherits ViewBase
  2. <div class="row mt-2">
  3. <div class="col">
  4. <LibSelector CurrentLibrary="@CurrentLibrary" OnValueChanged="SelectedLibraryChanged"></LibSelector>
  5. </div>
  6. </div>
  7. <div class="row mt-2">
  8. <div class="row">
  9. <div class="col">
  10. <LibTrackSet CurrentLibrary="@CurrentLibrary"></LibTrackSet>
  11. </div>
  12. </div>
  13. </div>
  14. <div class="row">
  15. <div class="col-12">
  16. <div class="row">
  17. @foreach (var disc in (CurrentLibrary?.Discs).KeepNoEmpty())
  18. {
  19. <DiscCard Disc="disc"></DiscCard>
  20. }
  21. </div>
  22. </div>
  23. </div>
  24. @code {
  25. private string CurrentLibraryKey { get => LocalStorage.Get<string>(); set => LocalStorage.Set(value); }
  26. private FeLibrary CurrentLibrary { get; set; }
  27. protected override async Task OnInitializedAsync()
  28. {
  29. await base.OnInitializedAsync();
  30. if (DataSet.AllLibrary?.Any() == true)
  31. {
  32. var clk = CurrentLibraryKey;
  33. if (DataSet.AllLibrary.Any(p => p.Key == clk)) SelectedLibraryChanged(DataSet.AllLibrary.First(p => p.Key == clk));
  34. if (CurrentLibrary == null) SelectedLibraryChanged(DataSet.AllLibrary.First());
  35. }
  36. }
  37. public void SelectedLibraryChanged(FeLibrary lib)
  38. {
  39. CurrentLibrary = lib;
  40. CurrentLibraryKey = lib.Key;
  41. StateHasChanged();
  42. }
  43. }