fix(seek): guard HandlePointerLeave with _isSeeking to prevent spurious seek-to-zero on mouse-out

This commit is contained in:
daniel-c-harvey
2026-06-04 19:53:22 -04:00
parent b24c6ff78e
commit dbf02a9426
@@ -10,6 +10,7 @@ namespace DeepDrftPublic.Client.Controls.AudioPlayerBar;
public partial class PlayerSeekZone : ComponentBase
{
private double _seekPosition;
private bool _isSeeking = false;
[Parameter] public double DisplayTime { get; set; }
[Parameter] public double? Duration { get; set; }
@@ -21,18 +22,24 @@ public partial class PlayerSeekZone : ComponentBase
private async Task HandlePointerDown()
{
_isSeeking = true;
_seekPosition = DisplayTime;
await OnSeekStart.InvokeAsync();
}
private async Task HandlePointerUp()
{
_isSeeking = false;
await OnSeekEnd.InvokeAsync(_seekPosition);
}
private async Task HandlePointerLeave()
{
await OnSeekEnd.InvokeAsync(_seekPosition);
if (_isSeeking)
{
_isSeeking = false;
await OnSeekEnd.InvokeAsync(_seekPosition);
}
}
private async Task HandleValueChanged(double value)