BrowseView.razor 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. <DiscCardList Discs="CurrentLibrary?.Discs" OnClick="SelectDisc"></DiscCardList>
  18. </div>
  19. </div>
  20. </div>
  21. <DiscDialog @ref="ModalDisc" Disc="CurrentDisc"></DiscDialog>
  22. @code {
  23. private FeLibrary CurrentLibrary { get; set; }
  24. private FeDisc CurrentDisc { get; set; }
  25. private DiscDialog ModalDisc { get; set; }
  26. private string CurrentLibraryKey { get => LocalStorage.Get<string>(); set => LocalStorage.Set(value); }
  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. private void SelectDisc(FeDisc disc)
  44. {
  45. CurrentDisc = disc;
  46. StateHasChanged();
  47. ModalDisc.Show();
  48. }
  49. }