Merge branch 'seek-pointerleave-fix' into dev

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