@nibgate/sdk 0.2.35 → 0.2.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/nibgate.js +28 -34
- package/dist/nibgate.js.map +2 -2
- package/dist/nibgate.min.js +30 -28
- package/dist/nibgate.min.js.map +3 -3
- package/package.json +1 -1
- package/src/browser/default-ui.js +25 -27
package/dist/nibgate.js
CHANGED
|
@@ -27358,9 +27358,11 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27358
27358
|
<div style="font-size:50px;font-weight:700;letter-spacing:-.03em;color:${theme.fg};margin-bottom:12px">${esc(resource.price)} USDC</div>
|
|
27359
27359
|
<div style="font-size:21px;color:${theme.muted};margin-bottom:48px">Pay to unlock this content</div>
|
|
27360
27360
|
<div data-nibgate-wallet-label class="nui-mono" style="font-size:18px;color:${theme.muted};margin-bottom:40px;min-height:28px">Connect wallet</div>
|
|
27361
|
-
<div data-nibgate-unlock-wrap style="width:100%;position:relative;border-radius:10px;
|
|
27362
|
-
<
|
|
27363
|
-
|
|
27361
|
+
<div data-nibgate-unlock-wrap style="width:100%;position:relative;border-radius:10px;cursor:pointer">
|
|
27362
|
+
<button type="button" data-nibgate-unlock disabled style="width:100%;padding:14px 0;font-size:17px;font-weight:600;line-height:1;border:0;border-radius:10px;outline:none;cursor:pointer;position:relative;overflow:hidden;color:#fff;background:${theme.accent};box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:transform .1s,box-shadow .1s;font-family:inherit;display:flex;align-items:center;justify-content:center">
|
|
27363
|
+
<div data-nibgate-unlock-progress style="position:absolute;inset:0;width:0%;background:rgba(255,255,255,0.55);border-radius:10px;transition:width .05s linear"></div>
|
|
27364
|
+
<span data-nibgate-unlock-text style="position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px">${unlockSVG}Hold to pay</span>
|
|
27365
|
+
</button></div>
|
|
27364
27366
|
<div class="nui-stat" style="text-align:center;margin-top:16px" data-nibgate-status></div>
|
|
27365
27367
|
</div>
|
|
27366
27368
|
<div data-nibgate-premium hidden style="margin-top:32px;border-top:1px solid ${theme.border};padding-top:32px">${options.premiumContentHTML || ""}</div>
|
|
@@ -27405,6 +27407,7 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27405
27407
|
const wrap3 = card.querySelector("[data-nibgate-unlock-wrap]");
|
|
27406
27408
|
const prog = card.querySelector("[data-nibgate-unlock-progress]");
|
|
27407
27409
|
const btn = card.querySelector("[data-nibgate-unlock]");
|
|
27410
|
+
const textEl = card.querySelector("[data-nibgate-unlock-text]");
|
|
27408
27411
|
const HOLD_MS = 1500;
|
|
27409
27412
|
let holdTimer = null, holdActive = false, holdComplete = false;
|
|
27410
27413
|
const ctrl = createEvmGatewayUnlock(resource, {
|
|
@@ -27438,13 +27441,13 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27438
27441
|
label.innerHTML = shortAddress(addr) + ' <span data-nibgate-disconnect style="cursor:pointer">\xB7 Disconnect</span> <span data-nibgate-bal style="margin-left:4px;cursor:pointer;white-space:nowrap;color:var(--accent,#7c9a6d)">\xB7 <span data-nibgate-bal-txt></span> | ' + depIcon() + "</span>";
|
|
27439
27442
|
balEl = label.querySelector("[data-nibgate-bal]");
|
|
27440
27443
|
balEl?.addEventListener("click", showDeposit);
|
|
27441
|
-
btn.
|
|
27444
|
+
btn.disabled = false;
|
|
27442
27445
|
btn.style.cursor = "pointer";
|
|
27443
27446
|
} else {
|
|
27444
27447
|
label.innerHTML = "Connect wallet";
|
|
27445
|
-
btn.
|
|
27446
|
-
btn.style.cursor = "
|
|
27447
|
-
|
|
27448
|
+
btn.disabled = true;
|
|
27449
|
+
btn.style.cursor = "default";
|
|
27450
|
+
textEl.innerHTML = unlockSVG + "Hold to pay";
|
|
27448
27451
|
}
|
|
27449
27452
|
}
|
|
27450
27453
|
function attachBalClick() {
|
|
@@ -27455,7 +27458,7 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27455
27458
|
}
|
|
27456
27459
|
}
|
|
27457
27460
|
function setBtnText(t) {
|
|
27458
|
-
|
|
27461
|
+
textEl.innerHTML = unlockSVG + t;
|
|
27459
27462
|
}
|
|
27460
27463
|
function resetHold() {
|
|
27461
27464
|
holdActive = false;
|
|
@@ -27464,29 +27467,11 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27464
27467
|
btn.style.transform = "";
|
|
27465
27468
|
btn.style.boxShadow = "";
|
|
27466
27469
|
prog.style.width = "0%";
|
|
27467
|
-
setBtnText("Hold to pay");
|
|
27470
|
+
if (!btn.disabled) setBtnText("Hold to pay");
|
|
27468
27471
|
}
|
|
27469
27472
|
function startHold(e) {
|
|
27470
|
-
if (holdActive) return;
|
|
27473
|
+
if (btn.disabled || holdActive) return;
|
|
27471
27474
|
e.preventDefault();
|
|
27472
|
-
if (!ctrl.getWalletAddress()) {
|
|
27473
|
-
setBtnText("Connecting\u2026");
|
|
27474
|
-
btn.style.opacity = "0.6";
|
|
27475
|
-
ctrl.connect().then(() => {
|
|
27476
|
-
updateLabel();
|
|
27477
|
-
btn.style.opacity = "1";
|
|
27478
|
-
setBtnText("Hold\u2026");
|
|
27479
|
-
beginHold();
|
|
27480
|
-
}).catch(() => {
|
|
27481
|
-
updateLabel();
|
|
27482
|
-
btn.style.opacity = "1";
|
|
27483
|
-
setBtnText("Hold to pay");
|
|
27484
|
-
});
|
|
27485
|
-
return;
|
|
27486
|
-
}
|
|
27487
|
-
beginHold();
|
|
27488
|
-
}
|
|
27489
|
-
function beginHold() {
|
|
27490
27475
|
holdActive = true;
|
|
27491
27476
|
holdComplete = false;
|
|
27492
27477
|
btn.style.transform = "scale(0.96)";
|
|
@@ -27505,7 +27490,7 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27505
27490
|
btn.style.boxShadow = "";
|
|
27506
27491
|
prog.style.transition = "width .05s linear";
|
|
27507
27492
|
setBtnText("Processing\u2026");
|
|
27508
|
-
btn.
|
|
27493
|
+
btn.disabled = true;
|
|
27509
27494
|
setTimeout(() => ctrl.unlock().then(updateLabel).catch(updateLabel), 300);
|
|
27510
27495
|
}, HOLD_MS);
|
|
27511
27496
|
}
|
|
@@ -27515,9 +27500,7 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27515
27500
|
resetHold();
|
|
27516
27501
|
}
|
|
27517
27502
|
label.addEventListener("click", (e) => {
|
|
27518
|
-
if (
|
|
27519
|
-
ctrl.disconnect().then(updateLabel);
|
|
27520
|
-
} else if (!ctrl.getWalletAddress()) {
|
|
27503
|
+
if (!ctrl.getWalletAddress()) {
|
|
27521
27504
|
ctrl.connect().then(updateLabel).catch(() => updateLabel());
|
|
27522
27505
|
}
|
|
27523
27506
|
});
|
|
@@ -27526,13 +27509,24 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27526
27509
|
document.addEventListener("mouseup", cancelHold);
|
|
27527
27510
|
document.addEventListener("touchend", cancelHold);
|
|
27528
27511
|
wrap3.addEventListener("mouseleave", cancelHold);
|
|
27512
|
+
function pressIn() {
|
|
27513
|
+
if (!btn.style.transform || btn.style.transform === "none" || btn.style.transform === "") btn.style.transform = "scale(0.97)";
|
|
27514
|
+
}
|
|
27515
|
+
function pressOut() {
|
|
27516
|
+
if (!holdActive) btn.style.transform = "";
|
|
27517
|
+
}
|
|
27518
|
+
btn.addEventListener("mousedown", pressIn);
|
|
27519
|
+
btn.addEventListener("touchstart", pressIn, { passive: true });
|
|
27520
|
+
btn.addEventListener("mouseup", pressOut);
|
|
27521
|
+
btn.addEventListener("touchend", pressOut);
|
|
27522
|
+
btn.addEventListener("mouseleave", pressOut);
|
|
27529
27523
|
setTimeout(updateLabel, 200);
|
|
27530
27524
|
const cleanup = () => {
|
|
27531
27525
|
document.removeEventListener("mouseup", cancelHold);
|
|
27532
27526
|
document.removeEventListener("touchend", cancelHold);
|
|
27533
27527
|
};
|
|
27534
27528
|
card.addEventListener("remove", cleanup);
|
|
27535
|
-
let
|
|
27529
|
+
let gwOverlay = null, balTimer = null;
|
|
27536
27530
|
function depIcon() {
|
|
27537
27531
|
return '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:inline;vertical-align:middle"><path d="M12 17V3"/><path d="m6 11 6 6 6-6"/><path d="M19 21H5"/></svg>';
|
|
27538
27532
|
}
|
|
@@ -27587,7 +27581,7 @@ ${prettyStateOverride(stateOverride)}`;
|
|
|
27587
27581
|
}
|
|
27588
27582
|
}
|
|
27589
27583
|
if (window.ethereum) {
|
|
27590
|
-
balTimer = setInterval(refreshBal,
|
|
27584
|
+
balTimer = setInterval(refreshBal, 3e3);
|
|
27591
27585
|
setTimeout(refreshBal, 1e3);
|
|
27592
27586
|
window.ethereum.on("accountsChanged", refreshBal);
|
|
27593
27587
|
}
|