@using DeepDrftPublic.Client.Services @implements IDisposable
Now Playing
@(Player?.CurrentTrack?.TrackName ?? "Nothing playing")
@(Player?.CurrentTrack != null ? $"{Player.CurrentTrack.Release?.Artist} ยท {Player.CurrentTrack.Release?.Title ?? "Single"}" : "Select a track to begin")
@code { [CascadingParameter] public IStreamingPlayerService? Player { get; set; } private IStreamingPlayerService? _subscribedPlayer; protected override void OnParametersSet() { if (Player != null && !ReferenceEquals(Player, _subscribedPlayer)) { if (_subscribedPlayer != null) _subscribedPlayer.StateChanged -= OnPlayerStateChanged; Player.StateChanged += OnPlayerStateChanged; _subscribedPlayer = Player; } } private void OnPlayerStateChanged() => InvokeAsync(StateHasChanged); public void Dispose() { if (_subscribedPlayer != null) { _subscribedPlayer.StateChanged -= OnPlayerStateChanged; _subscribedPlayer = null; } } }