using Microsoft.AspNetCore.Components; namespace DeepDrftPublic.Client.Controls.AudioPlayerBar; public partial class PlayerControls : ComponentBase { [Parameter] public required bool IsLoaded { get; set; } /// /// Whether the play button is enabled. Distinct from so a staged-but- /// unloaded track (embed pre-gesture state) can still be played: the click loads it. Stop stays /// gated on . /// [Parameter] public bool CanPlay { get; set; } [Parameter] public bool Fixed { get; set; } = false; [Parameter] public required EventCallback TogglePlayPause { get; set; } [Parameter] public required EventCallback Stop { get; set; } /// Whether the queue has a track to skip forward to. Drives the skip-next affordance. [Parameter] public bool HasNext { get; set; } /// Whether the queue has a track to step back to. Drives the skip-previous affordance. [Parameter] public bool HasPrevious { get; set; } [Parameter] public EventCallback SkipNext { get; set; } [Parameter] public EventCallback SkipPrevious { get; set; } }