using Microsoft.AspNetCore.Components;

namespace DeepDrftPublic.Client.Controls.AudioPlayerBar;

public partial class PlayerControls : ComponentBase
{
    [Parameter] public required bool IsLoaded { get; set; }

    /// <summary>
    /// Whether the play button is enabled. Distinct from <see cref="IsLoaded"/> so a staged-but-
    /// unloaded track (embed pre-gesture state) can still be played: the click loads it. Stop stays
    /// gated on <see cref="IsLoaded"/>.
    /// </summary>
    [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; }
}
