Debounce zap popover open while warm

This commit is contained in:
thePR0M3TH3AN committed 2025-10-18 13:06:52 -04:00
1 parent 7356dc06af
commit d47aa1d4fa
1 file changed
+17 -7
+17 -7
View File
@@ -929,15 +929,16 @@ function focusZapAmountField() {
}
function isZapControlsOpen() {
if (zapPopoverOpenPromise) {
return true;
}
if (typeof zapPopover?.isOpen === "function") {
return zapPopover.isOpen();
}
return zapControlsOpen;
}
function isZapControlsOpening() {
return Boolean(zapPopoverOpenPromise) && !isZapControlsOpen();
}
async function openZapControls({ focus = false } = {}) {
const zapButton = getChannelZapButton();
if (!zapButton) {
@@ -970,6 +971,9 @@ async function openZapControls({ focus = false } = {}) {
}
if (zapPopoverOpenPromise) {
if (focus) {
zapShouldFocusOnOpen = true;
}
try {
return await zapPopoverOpenPromise;
} catch (error) {
@@ -1700,12 +1704,14 @@ async function handleZapButtonClick(event) {
return;
}
const popoverIsOpen =
typeof zapPopover?.isOpen === "function"
? zapPopover.isOpen()
: isZapControlsOpen();
const opening = isZapControlsOpening();
const popoverIsOpen = isZapControlsOpen();
if (!popoverIsOpen) {
if (opening) {
zapShouldFocusOnOpen = true;
return;
}
try {
await openZapControls({ focus: true });
} catch (error) {
@@ -1714,6 +1720,10 @@ async function handleZapButtonClick(event) {
return;
}
if (opening) {
return;
}
if (zapInFlight) {
return;
}