kaleido-ui 0.1.75 → 0.1.77
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/web/index.cjs +715 -627
- package/dist/web/index.d.cts +31 -2
- package/dist/web/index.d.ts +31 -2
- package/dist/web/index.js +714 -627
- package/package.json +1 -1
package/dist/web/index.cjs
CHANGED
|
@@ -147,6 +147,7 @@ __export(web_exports, {
|
|
|
147
147
|
StepperNumberInput: () => StepperNumberInput,
|
|
148
148
|
SwapInputCard: () => SwapInputCard,
|
|
149
149
|
Switch: () => Switch,
|
|
150
|
+
SwitchRow: () => SwitchRow,
|
|
150
151
|
Tabs: () => Tabs,
|
|
151
152
|
TabsContent: () => TabsContent,
|
|
152
153
|
TabsList: () => TabsList,
|
|
@@ -4765,9 +4766,17 @@ function WithdrawAmountInput({
|
|
|
4765
4766
|
feeRate,
|
|
4766
4767
|
setFeeRate,
|
|
4767
4768
|
feeRates,
|
|
4769
|
+
feeRateMode,
|
|
4770
|
+
setFeeRateMode,
|
|
4771
|
+
customFeeRate,
|
|
4772
|
+
setCustomFeeRate,
|
|
4773
|
+
effectiveFeeRateSatPerVb,
|
|
4774
|
+
estimatedFee,
|
|
4768
4775
|
donation,
|
|
4769
4776
|
setDonation
|
|
4770
4777
|
}) {
|
|
4778
|
+
const customFeeEnabled = typeof setFeeRateMode === "function";
|
|
4779
|
+
const activeFeeMode = feeRateMode ?? feeRate;
|
|
4771
4780
|
const unitLabel = selectedAssetId === "BTC" ? "sats" : selectedAssetTicker ?? "units";
|
|
4772
4781
|
const showAmountInput = addressType === "bitcoin" || addressType === "spark" || addressType === "arkade" || addressType === "lightning-address" || addressType === "lnurl-pay" || addressType === "rgb" && !decodedRgbInvoice?.assignment?.value || addressType === "lightning" && !decodedLnInvoice?.amount && !decodedLnInvoice?.asset_amount;
|
|
4773
4782
|
const enteredNum = parseFloat(amount.replace(/[^\d.-]/g, "") || "0") || 0;
|
|
@@ -4846,7 +4855,58 @@ function WithdrawAmountInput({
|
|
|
4846
4855
|
] }),
|
|
4847
4856
|
(addressType === "bitcoin" || addressType === "rgb") && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "space-y-2", children: [
|
|
4848
4857
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("label", { className: "ml-1 text-xs font-bold uppercase tracking-wider text-muted-foreground", children: "Fee Rate" }),
|
|
4849
|
-
/* @__PURE__ */ (0, import_jsx_runtime46.
|
|
4858
|
+
customFeeEnabled ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
|
|
4859
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "grid grid-cols-4 gap-2", children: ["slow", "normal", "fast", "custom"].map((mode) => {
|
|
4860
|
+
const selected = activeFeeMode === mode;
|
|
4861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
4862
|
+
"button",
|
|
4863
|
+
{
|
|
4864
|
+
type: "button",
|
|
4865
|
+
onClick: () => {
|
|
4866
|
+
setFeeRateMode?.(mode);
|
|
4867
|
+
if (mode !== "custom") setFeeRate(mode);
|
|
4868
|
+
},
|
|
4869
|
+
className: `group relative overflow-hidden rounded-xl border px-2 py-3 shadow-sm transition-all active:scale-[0.98] ${selected ? "border-primary/40 bg-primary/10" : "border-border bg-card/40 hover:border-primary/40"}`,
|
|
4870
|
+
children: [
|
|
4871
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4872
|
+
"span",
|
|
4873
|
+
{
|
|
4874
|
+
className: `block text-xs font-bold capitalize ${selected ? "text-primary" : "text-muted-foreground group-hover:text-primary"}`,
|
|
4875
|
+
children: mode
|
|
4876
|
+
}
|
|
4877
|
+
),
|
|
4878
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4879
|
+
"span",
|
|
4880
|
+
{
|
|
4881
|
+
className: `mt-0.5 block text-xxs font-medium ${selected ? "text-primary/70" : "text-white/40 group-hover:text-white/70"}`,
|
|
4882
|
+
children: mode === "custom" ? "sat/vB" : `${feeRates[mode]} sat/vB`
|
|
4883
|
+
}
|
|
4884
|
+
)
|
|
4885
|
+
]
|
|
4886
|
+
},
|
|
4887
|
+
mode
|
|
4888
|
+
);
|
|
4889
|
+
}) }),
|
|
4890
|
+
activeFeeMode === "custom" && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
4891
|
+
"input",
|
|
4892
|
+
{
|
|
4893
|
+
type: "text",
|
|
4894
|
+
inputMode: "decimal",
|
|
4895
|
+
placeholder: `${feeRates[feeRate]} (${feeRate})`,
|
|
4896
|
+
value: customFeeRate ?? "",
|
|
4897
|
+
onChange: (event) => setCustomFeeRate?.(event.target.value.replace(/[^\d.]/g, "")),
|
|
4898
|
+
className: "w-full rounded-xl bg-card px-4 py-3 text-sm text-white shadow-inner transition-all focus:outline focus:outline-2 focus:outline-primary/50"
|
|
4899
|
+
}
|
|
4900
|
+
),
|
|
4901
|
+
typeof estimatedFee === "number" && /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("p", { className: "ml-1 text-xs text-muted-foreground", children: [
|
|
4902
|
+
"Using ",
|
|
4903
|
+
effectiveFeeRateSatPerVb,
|
|
4904
|
+
" sat/vB \xB7 ~",
|
|
4905
|
+
estimatedFee.toLocaleString(),
|
|
4906
|
+
" ",
|
|
4907
|
+
"sats est. fee"
|
|
4908
|
+
] })
|
|
4909
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "grid grid-cols-3 gap-3", children: ["slow", "normal", "fast"].map((rate) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
4850
4910
|
"button",
|
|
4851
4911
|
{
|
|
4852
4912
|
type: "button",
|
|
@@ -5414,10 +5474,37 @@ function SettingItem({
|
|
|
5414
5474
|
);
|
|
5415
5475
|
}
|
|
5416
5476
|
|
|
5417
|
-
// src/web/components/
|
|
5477
|
+
// src/web/components/switch-row.tsx
|
|
5418
5478
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
5479
|
+
function SwitchRow({
|
|
5480
|
+
label,
|
|
5481
|
+
description,
|
|
5482
|
+
checked,
|
|
5483
|
+
disabled,
|
|
5484
|
+
onCheckedChange,
|
|
5485
|
+
className
|
|
5486
|
+
}) {
|
|
5487
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: cn("flex items-start justify-between gap-3 rounded-xl bg-muted/40 p-3", className), children: [
|
|
5488
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "min-w-0", children: [
|
|
5489
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-sm font-medium text-foreground", children: label }),
|
|
5490
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "mt-0.5 text-xs leading-snug text-muted-foreground", children: description })
|
|
5491
|
+
] }),
|
|
5492
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5493
|
+
Switch,
|
|
5494
|
+
{
|
|
5495
|
+
checked,
|
|
5496
|
+
disabled,
|
|
5497
|
+
onCheckedChange,
|
|
5498
|
+
"aria-label": label
|
|
5499
|
+
}
|
|
5500
|
+
)
|
|
5501
|
+
] });
|
|
5502
|
+
}
|
|
5503
|
+
|
|
5504
|
+
// src/web/components/section-label.tsx
|
|
5505
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
5419
5506
|
function SectionLabel({ children, className }) {
|
|
5420
|
-
return /* @__PURE__ */ (0,
|
|
5507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
5421
5508
|
"span",
|
|
5422
5509
|
{
|
|
5423
5510
|
className: cn("text-xxs font-black uppercase tracking-eyebrow-wide text-muted-foreground", className),
|
|
@@ -5427,21 +5514,21 @@ function SectionLabel({ children, className }) {
|
|
|
5427
5514
|
}
|
|
5428
5515
|
|
|
5429
5516
|
// src/web/components/section-header.tsx
|
|
5430
|
-
var
|
|
5517
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
5431
5518
|
function SectionHeader({
|
|
5432
5519
|
children,
|
|
5433
5520
|
right,
|
|
5434
5521
|
as: Tag = "h2",
|
|
5435
5522
|
className
|
|
5436
5523
|
}) {
|
|
5437
|
-
return /* @__PURE__ */ (0,
|
|
5438
|
-
/* @__PURE__ */ (0,
|
|
5524
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: cn("flex items-center justify-between gap-3 px-1", className), children: [
|
|
5525
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Tag, { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children }),
|
|
5439
5526
|
right
|
|
5440
5527
|
] });
|
|
5441
5528
|
}
|
|
5442
5529
|
|
|
5443
5530
|
// src/web/components/alert-banner.tsx
|
|
5444
|
-
var
|
|
5531
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
5445
5532
|
var variantStyles = {
|
|
5446
5533
|
error: { container: "bg-danger/40", icon: "text-danger", iconName: "error" },
|
|
5447
5534
|
warning: { container: "bg-warning/40", icon: "text-warning", iconName: "warning" },
|
|
@@ -5450,14 +5537,14 @@ var variantStyles = {
|
|
|
5450
5537
|
};
|
|
5451
5538
|
function AlertBanner({ variant = "info", icon, children, className }) {
|
|
5452
5539
|
const styles = variantStyles[variant];
|
|
5453
|
-
return /* @__PURE__ */ (0,
|
|
5454
|
-
/* @__PURE__ */ (0,
|
|
5455
|
-
/* @__PURE__ */ (0,
|
|
5540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: cn("rounded-xl p-3 flex items-center gap-2", styles.container, className), children: [
|
|
5541
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { name: icon ?? styles.iconName, size: "md", className: cn("shrink-0", styles.icon) }),
|
|
5542
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("text-sm", styles.icon), children })
|
|
5456
5543
|
] });
|
|
5457
5544
|
}
|
|
5458
5545
|
|
|
5459
5546
|
// src/web/components/info-panel.tsx
|
|
5460
|
-
var
|
|
5547
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
5461
5548
|
var toneClass = {
|
|
5462
5549
|
default: {
|
|
5463
5550
|
panel: "border-white/8 bg-white/[0.03]",
|
|
@@ -5498,19 +5585,19 @@ function InfoPanel({
|
|
|
5498
5585
|
className
|
|
5499
5586
|
}) {
|
|
5500
5587
|
const styles = toneClass[tone];
|
|
5501
|
-
const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ (0,
|
|
5502
|
-
return /* @__PURE__ */ (0,
|
|
5588
|
+
const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Icon, { name: icon, className: cn("mt-0.5 shrink-0 text-icon-xl", styles.icon) }) : icon;
|
|
5589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn("rounded-xl border p-4", styles.panel, className), children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex items-start gap-3", children: [
|
|
5503
5590
|
renderedIcon,
|
|
5504
|
-
/* @__PURE__ */ (0,
|
|
5505
|
-
title && /* @__PURE__ */ (0,
|
|
5506
|
-
/* @__PURE__ */ (0,
|
|
5591
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
5592
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: cn("text-sm font-bold", styles.title), children: title }),
|
|
5593
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn("text-xs leading-relaxed", title ? "mt-1" : "", styles.title), children })
|
|
5507
5594
|
] })
|
|
5508
5595
|
] }) });
|
|
5509
5596
|
}
|
|
5510
5597
|
|
|
5511
5598
|
// src/web/components/error-boundary.tsx
|
|
5512
5599
|
var import_react12 = require("react");
|
|
5513
|
-
var
|
|
5600
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
5514
5601
|
var ErrorBoundary = class extends import_react12.Component {
|
|
5515
5602
|
constructor(props) {
|
|
5516
5603
|
super(props);
|
|
@@ -5524,11 +5611,11 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5524
5611
|
}
|
|
5525
5612
|
render() {
|
|
5526
5613
|
if (this.state.hasError) {
|
|
5527
|
-
return this.props.fallback ?? /* @__PURE__ */ (0,
|
|
5528
|
-
/* @__PURE__ */ (0,
|
|
5529
|
-
/* @__PURE__ */ (0,
|
|
5530
|
-
/* @__PURE__ */ (0,
|
|
5531
|
-
/* @__PURE__ */ (0,
|
|
5614
|
+
return this.props.fallback ?? /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
|
|
5615
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
|
|
5616
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
|
|
5617
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
|
|
5618
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
5532
5619
|
"button",
|
|
5533
5620
|
{
|
|
5534
5621
|
onClick: () => {
|
|
@@ -5546,7 +5633,7 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5546
5633
|
};
|
|
5547
5634
|
|
|
5548
5635
|
// src/web/components/recovery-phrase-card.tsx
|
|
5549
|
-
var
|
|
5636
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
5550
5637
|
function RecoveryPhraseCard({
|
|
5551
5638
|
words,
|
|
5552
5639
|
revealed = false,
|
|
@@ -5557,10 +5644,10 @@ function RecoveryPhraseCard({
|
|
|
5557
5644
|
className
|
|
5558
5645
|
}) {
|
|
5559
5646
|
const hasWords = words.length > 0;
|
|
5560
|
-
return /* @__PURE__ */ (0,
|
|
5561
|
-
/* @__PURE__ */ (0,
|
|
5562
|
-
/* @__PURE__ */ (0,
|
|
5563
|
-
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
5647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("section", { className: cn("space-y-2", className), children: [
|
|
5648
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center justify-between px-0.5", children: [
|
|
5649
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
5650
|
+
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5564
5651
|
Button,
|
|
5565
5652
|
{
|
|
5566
5653
|
type: "button",
|
|
@@ -5569,27 +5656,27 @@ function RecoveryPhraseCard({
|
|
|
5569
5656
|
onClick: () => onRevealChange(!revealed),
|
|
5570
5657
|
className: "h-auto rounded-lg px-2 py-1 text-xs text-muted-foreground hover:text-white",
|
|
5571
5658
|
children: [
|
|
5572
|
-
/* @__PURE__ */ (0,
|
|
5659
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "visibility_off", className: "text-icon-md" }),
|
|
5573
5660
|
"Hide"
|
|
5574
5661
|
]
|
|
5575
5662
|
}
|
|
5576
5663
|
)
|
|
5577
5664
|
] }),
|
|
5578
|
-
/* @__PURE__ */ (0,
|
|
5579
|
-
hasWords ? /* @__PURE__ */ (0,
|
|
5665
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "relative", children: [
|
|
5666
|
+
hasWords ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5580
5667
|
"div",
|
|
5581
5668
|
{
|
|
5582
5669
|
className: cn(
|
|
5583
5670
|
"grid grid-cols-3 gap-2 transition-all duration-300",
|
|
5584
5671
|
!revealed && "pointer-events-none select-none blur-sm"
|
|
5585
5672
|
),
|
|
5586
|
-
children: words.map((word, index) => /* @__PURE__ */ (0,
|
|
5587
|
-
/* @__PURE__ */ (0,
|
|
5588
|
-
/* @__PURE__ */ (0,
|
|
5673
|
+
children: words.map((word, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
|
|
5674
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
|
|
5675
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "font-mono text-sm text-white", children: word })
|
|
5589
5676
|
] }, `${index}-${word}`))
|
|
5590
5677
|
}
|
|
5591
|
-
) : /* @__PURE__ */ (0,
|
|
5592
|
-
hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
5678
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "rounded-xl border border-warning/30 bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
|
|
5679
|
+
hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5593
5680
|
Button,
|
|
5594
5681
|
{
|
|
5595
5682
|
type: "button",
|
|
@@ -5597,13 +5684,13 @@ function RecoveryPhraseCard({
|
|
|
5597
5684
|
size: "sm",
|
|
5598
5685
|
onClick: () => onRevealChange(true),
|
|
5599
5686
|
children: [
|
|
5600
|
-
/* @__PURE__ */ (0,
|
|
5687
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
5601
5688
|
"Tap to reveal"
|
|
5602
5689
|
]
|
|
5603
5690
|
}
|
|
5604
5691
|
) })
|
|
5605
5692
|
] }),
|
|
5606
|
-
hasWords && revealed && onCopy && /* @__PURE__ */ (0,
|
|
5693
|
+
hasWords && revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5607
5694
|
Button,
|
|
5608
5695
|
{
|
|
5609
5696
|
type: "button",
|
|
@@ -5612,7 +5699,7 @@ function RecoveryPhraseCard({
|
|
|
5612
5699
|
onClick: onCopy,
|
|
5613
5700
|
className: "w-full",
|
|
5614
5701
|
children: [
|
|
5615
|
-
/* @__PURE__ */ (0,
|
|
5702
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
5616
5703
|
"Copy to clipboard"
|
|
5617
5704
|
]
|
|
5618
5705
|
}
|
|
@@ -5621,7 +5708,7 @@ function RecoveryPhraseCard({
|
|
|
5621
5708
|
}
|
|
5622
5709
|
|
|
5623
5710
|
// src/web/components/settings-selector-row.tsx
|
|
5624
|
-
var
|
|
5711
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
5625
5712
|
function SettingsSelectorRow({
|
|
5626
5713
|
icon,
|
|
5627
5714
|
title,
|
|
@@ -5630,9 +5717,9 @@ function SettingsSelectorRow({
|
|
|
5630
5717
|
className,
|
|
5631
5718
|
iconClassName
|
|
5632
5719
|
}) {
|
|
5633
|
-
return /* @__PURE__ */ (0,
|
|
5634
|
-
/* @__PURE__ */ (0,
|
|
5635
|
-
/* @__PURE__ */ (0,
|
|
5720
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
|
|
5721
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
5722
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
5636
5723
|
"div",
|
|
5637
5724
|
{
|
|
5638
5725
|
className: cn(
|
|
@@ -5642,17 +5729,17 @@ function SettingsSelectorRow({
|
|
|
5642
5729
|
children: icon
|
|
5643
5730
|
}
|
|
5644
5731
|
),
|
|
5645
|
-
/* @__PURE__ */ (0,
|
|
5646
|
-
/* @__PURE__ */ (0,
|
|
5647
|
-
description && /* @__PURE__ */ (0,
|
|
5732
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
5733
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
|
|
5734
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
|
|
5648
5735
|
] })
|
|
5649
5736
|
] }),
|
|
5650
|
-
/* @__PURE__ */ (0,
|
|
5737
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "shrink-0", children: control })
|
|
5651
5738
|
] });
|
|
5652
5739
|
}
|
|
5653
5740
|
|
|
5654
5741
|
// src/web/components/bottom-sheet.tsx
|
|
5655
|
-
var
|
|
5742
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
5656
5743
|
function BottomSheet({
|
|
5657
5744
|
open,
|
|
5658
5745
|
title,
|
|
@@ -5668,7 +5755,7 @@ function BottomSheet({
|
|
|
5668
5755
|
const handleBackdropClick = (event) => {
|
|
5669
5756
|
if (closeOnBackdrop && event.target === event.currentTarget) onClose?.();
|
|
5670
5757
|
};
|
|
5671
|
-
return /* @__PURE__ */ (0,
|
|
5758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
5672
5759
|
"div",
|
|
5673
5760
|
{
|
|
5674
5761
|
className: cn(
|
|
@@ -5676,7 +5763,7 @@ function BottomSheet({
|
|
|
5676
5763
|
className
|
|
5677
5764
|
),
|
|
5678
5765
|
onClick: handleBackdropClick,
|
|
5679
|
-
children: /* @__PURE__ */ (0,
|
|
5766
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
5680
5767
|
"div",
|
|
5681
5768
|
{
|
|
5682
5769
|
className: cn(
|
|
@@ -5684,13 +5771,13 @@ function BottomSheet({
|
|
|
5684
5771
|
contentClassName
|
|
5685
5772
|
),
|
|
5686
5773
|
children: [
|
|
5687
|
-
/* @__PURE__ */ (0,
|
|
5688
|
-
(title || icon) && /* @__PURE__ */ (0,
|
|
5774
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
5775
|
+
(title || icon) && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "mt-4 flex items-center gap-2", children: [
|
|
5689
5776
|
icon,
|
|
5690
|
-
/* @__PURE__ */ (0,
|
|
5777
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-sm font-bold text-foreground", children: title })
|
|
5691
5778
|
] }),
|
|
5692
|
-
/* @__PURE__ */ (0,
|
|
5693
|
-
actions && actions.length > 0 && /* @__PURE__ */ (0,
|
|
5779
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: cn((title || icon) && "mt-3"), children }),
|
|
5780
|
+
actions && actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
5694
5781
|
Button,
|
|
5695
5782
|
{
|
|
5696
5783
|
type: "button",
|
|
@@ -5700,7 +5787,7 @@ function BottomSheet({
|
|
|
5700
5787
|
onClick: action.onClick,
|
|
5701
5788
|
disabled: action.disabled,
|
|
5702
5789
|
children: [
|
|
5703
|
-
action.icon && /* @__PURE__ */ (0,
|
|
5790
|
+
action.icon && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: action.icon, className: "text-icon-md" }),
|
|
5704
5791
|
action.label
|
|
5705
5792
|
]
|
|
5706
5793
|
},
|
|
@@ -5714,7 +5801,7 @@ function BottomSheet({
|
|
|
5714
5801
|
}
|
|
5715
5802
|
|
|
5716
5803
|
// src/web/components/disclosure-card.tsx
|
|
5717
|
-
var
|
|
5804
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
5718
5805
|
function DisclosureCard({
|
|
5719
5806
|
title,
|
|
5720
5807
|
children,
|
|
@@ -5725,8 +5812,8 @@ function DisclosureCard({
|
|
|
5725
5812
|
triggerClassName,
|
|
5726
5813
|
contentClassName
|
|
5727
5814
|
}) {
|
|
5728
|
-
return /* @__PURE__ */ (0,
|
|
5729
|
-
/* @__PURE__ */ (0,
|
|
5815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className, children: [
|
|
5816
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
5730
5817
|
"button",
|
|
5731
5818
|
{
|
|
5732
5819
|
type: "button",
|
|
@@ -5736,11 +5823,11 @@ function DisclosureCard({
|
|
|
5736
5823
|
triggerClassName
|
|
5737
5824
|
),
|
|
5738
5825
|
children: [
|
|
5739
|
-
/* @__PURE__ */ (0,
|
|
5826
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
5740
5827
|
icon,
|
|
5741
|
-
/* @__PURE__ */ (0,
|
|
5828
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "truncate text-xs font-bold text-foreground", children: title })
|
|
5742
5829
|
] }),
|
|
5743
|
-
/* @__PURE__ */ (0,
|
|
5830
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5744
5831
|
Icon,
|
|
5745
5832
|
{
|
|
5746
5833
|
name: open ? "expand_less" : "expand_more",
|
|
@@ -5750,7 +5837,7 @@ function DisclosureCard({
|
|
|
5750
5837
|
]
|
|
5751
5838
|
}
|
|
5752
5839
|
),
|
|
5753
|
-
open && /* @__PURE__ */ (0,
|
|
5840
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5754
5841
|
"div",
|
|
5755
5842
|
{
|
|
5756
5843
|
className: cn(
|
|
@@ -5764,7 +5851,7 @@ function DisclosureCard({
|
|
|
5764
5851
|
}
|
|
5765
5852
|
|
|
5766
5853
|
// src/web/components/stepper-number-input.tsx
|
|
5767
|
-
var
|
|
5854
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
5768
5855
|
function StepperNumberInput({
|
|
5769
5856
|
value,
|
|
5770
5857
|
onChange,
|
|
@@ -5781,7 +5868,7 @@ function StepperNumberInput({
|
|
|
5781
5868
|
const bounded = max === void 0 ? boundedMin : Math.min(max, boundedMin);
|
|
5782
5869
|
onChange(Number.isFinite(bounded) ? bounded : min ?? 0);
|
|
5783
5870
|
};
|
|
5784
|
-
return /* @__PURE__ */ (0,
|
|
5871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
5785
5872
|
"div",
|
|
5786
5873
|
{
|
|
5787
5874
|
className: cn(
|
|
@@ -5789,7 +5876,7 @@ function StepperNumberInput({
|
|
|
5789
5876
|
className
|
|
5790
5877
|
),
|
|
5791
5878
|
children: [
|
|
5792
|
-
/* @__PURE__ */ (0,
|
|
5879
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
5793
5880
|
"button",
|
|
5794
5881
|
{
|
|
5795
5882
|
type: "button",
|
|
@@ -5797,10 +5884,10 @@ function StepperNumberInput({
|
|
|
5797
5884
|
disabled: disabled || min !== void 0 && value <= min,
|
|
5798
5885
|
onClick: () => clamp(value - step),
|
|
5799
5886
|
"aria-label": "Decrease",
|
|
5800
|
-
children: /* @__PURE__ */ (0,
|
|
5887
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: "remove", className: "text-icon-md" })
|
|
5801
5888
|
}
|
|
5802
5889
|
),
|
|
5803
|
-
/* @__PURE__ */ (0,
|
|
5890
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
5804
5891
|
"input",
|
|
5805
5892
|
{
|
|
5806
5893
|
type: "number",
|
|
@@ -5817,7 +5904,7 @@ function StepperNumberInput({
|
|
|
5817
5904
|
)
|
|
5818
5905
|
}
|
|
5819
5906
|
),
|
|
5820
|
-
/* @__PURE__ */ (0,
|
|
5907
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
5821
5908
|
"button",
|
|
5822
5909
|
{
|
|
5823
5910
|
type: "button",
|
|
@@ -5825,7 +5912,7 @@ function StepperNumberInput({
|
|
|
5825
5912
|
disabled: disabled || max !== void 0 && value >= max,
|
|
5826
5913
|
onClick: () => clamp(value + step),
|
|
5827
5914
|
"aria-label": "Increase",
|
|
5828
|
-
children: /* @__PURE__ */ (0,
|
|
5915
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: "add", className: "text-icon-md" })
|
|
5829
5916
|
}
|
|
5830
5917
|
)
|
|
5831
5918
|
]
|
|
@@ -5834,7 +5921,7 @@ function StepperNumberInput({
|
|
|
5834
5921
|
}
|
|
5835
5922
|
|
|
5836
5923
|
// src/web/components/metric-card.tsx
|
|
5837
|
-
var
|
|
5924
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
5838
5925
|
var toneClasses2 = {
|
|
5839
5926
|
primary: "border-primary/20 bg-primary/10 text-primary",
|
|
5840
5927
|
purple: "border-network-arkade/20 bg-network-arkade/10 text-network-arkade",
|
|
@@ -5852,27 +5939,27 @@ function MetricCard({
|
|
|
5852
5939
|
tone = "muted",
|
|
5853
5940
|
className
|
|
5854
5941
|
}) {
|
|
5855
|
-
return /* @__PURE__ */ (0,
|
|
5856
|
-
/* @__PURE__ */ (0,
|
|
5857
|
-
icon && /* @__PURE__ */ (0,
|
|
5858
|
-
/* @__PURE__ */ (0,
|
|
5942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: cn("space-y-1 rounded-xl border border-white/8 bg-white/3 p-2.5", className), children: [
|
|
5943
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
5944
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
|
|
5945
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
|
|
5859
5946
|
] }),
|
|
5860
|
-
/* @__PURE__ */ (0,
|
|
5861
|
-
description && /* @__PURE__ */ (0,
|
|
5947
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "font-mono text-sm font-bold text-foreground", children: value }),
|
|
5948
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-xxs text-white/45", children: description })
|
|
5862
5949
|
] });
|
|
5863
5950
|
}
|
|
5864
5951
|
|
|
5865
5952
|
// src/web/components/filter-chip-group.tsx
|
|
5866
|
-
var
|
|
5953
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
5867
5954
|
function FilterChipGroup({
|
|
5868
5955
|
options,
|
|
5869
5956
|
value,
|
|
5870
5957
|
onChange,
|
|
5871
5958
|
className
|
|
5872
5959
|
}) {
|
|
5873
|
-
return /* @__PURE__ */ (0,
|
|
5960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
|
|
5874
5961
|
const active = option.value === value;
|
|
5875
|
-
return /* @__PURE__ */ (0,
|
|
5962
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
5876
5963
|
"button",
|
|
5877
5964
|
{
|
|
5878
5965
|
type: "button",
|
|
@@ -5886,7 +5973,7 @@ function FilterChipGroup({
|
|
|
5886
5973
|
children: [
|
|
5887
5974
|
option.icon,
|
|
5888
5975
|
option.label,
|
|
5889
|
-
option.count !== void 0 && /* @__PURE__ */ (0,
|
|
5976
|
+
option.count !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
5890
5977
|
"span",
|
|
5891
5978
|
{
|
|
5892
5979
|
className: cn(
|
|
@@ -5904,7 +5991,7 @@ function FilterChipGroup({
|
|
|
5904
5991
|
}
|
|
5905
5992
|
|
|
5906
5993
|
// src/web/components/activity-row.tsx
|
|
5907
|
-
var
|
|
5994
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
5908
5995
|
var directionUi = {
|
|
5909
5996
|
inbound: { icon: "south_west", iconClass: "bg-primary/20 text-primary", amountClass: "text-primary", sign: "+" },
|
|
5910
5997
|
outbound: { icon: "north_east", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "-" },
|
|
@@ -5924,26 +6011,26 @@ function ActivityRow({
|
|
|
5924
6011
|
className
|
|
5925
6012
|
}) {
|
|
5926
6013
|
const ui = directionUi[direction];
|
|
5927
|
-
const content = /* @__PURE__ */ (0,
|
|
5928
|
-
/* @__PURE__ */ (0,
|
|
5929
|
-
/* @__PURE__ */ (0,
|
|
5930
|
-
/* @__PURE__ */ (0,
|
|
5931
|
-
/* @__PURE__ */ (0,
|
|
5932
|
-
/* @__PURE__ */ (0,
|
|
6014
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
|
|
6015
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
6016
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: cn("flex size-10 shrink-0 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon }),
|
|
6017
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex min-w-0 flex-col", children: [
|
|
6018
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
6019
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
|
|
5933
6020
|
networkBadge
|
|
5934
6021
|
] }),
|
|
5935
|
-
(status || timestamp) && /* @__PURE__ */ (0,
|
|
5936
|
-
status && /* @__PURE__ */ (0,
|
|
5937
|
-
timestamp && /* @__PURE__ */ (0,
|
|
6022
|
+
(status || timestamp) && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "mt-1 flex items-center gap-2", children: [
|
|
6023
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(StatusBadge, { status, className: "px-1.5 py-0.5 text-xxs" }),
|
|
6024
|
+
timestamp && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-xxs text-muted-foreground", children: timestamp })
|
|
5938
6025
|
] })
|
|
5939
6026
|
] })
|
|
5940
6027
|
] }),
|
|
5941
|
-
/* @__PURE__ */ (0,
|
|
5942
|
-
/* @__PURE__ */ (0,
|
|
6028
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "shrink-0 text-right", children: [
|
|
6029
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
|
|
5943
6030
|
ui.sign,
|
|
5944
6031
|
amount
|
|
5945
6032
|
] }),
|
|
5946
|
-
unit && /* @__PURE__ */ (0,
|
|
6033
|
+
unit && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
|
|
5947
6034
|
] })
|
|
5948
6035
|
] });
|
|
5949
6036
|
const rowClassName = cn(
|
|
@@ -5952,23 +6039,23 @@ function ActivityRow({
|
|
|
5952
6039
|
className
|
|
5953
6040
|
);
|
|
5954
6041
|
if (onClick) {
|
|
5955
|
-
return /* @__PURE__ */ (0,
|
|
6042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("button", { type: "button", onClick, className: rowClassName, children: content });
|
|
5956
6043
|
}
|
|
5957
|
-
return /* @__PURE__ */ (0,
|
|
6044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: rowClassName, children: content });
|
|
5958
6045
|
}
|
|
5959
6046
|
|
|
5960
6047
|
// src/web/components/skeleton.tsx
|
|
5961
|
-
var
|
|
6048
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
5962
6049
|
var toneClass2 = {
|
|
5963
6050
|
primary: "bg-white/10",
|
|
5964
6051
|
secondary: "bg-white/5",
|
|
5965
6052
|
card: "bg-white/[0.06]"
|
|
5966
6053
|
};
|
|
5967
6054
|
function Skeleton({ className, tone = "primary" }) {
|
|
5968
|
-
return /* @__PURE__ */ (0,
|
|
6055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
|
|
5969
6056
|
}
|
|
5970
6057
|
function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
5971
|
-
return /* @__PURE__ */ (0,
|
|
6058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
5972
6059
|
"div",
|
|
5973
6060
|
{
|
|
5974
6061
|
className: cn(
|
|
@@ -5976,14 +6063,14 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
5976
6063
|
rowClassName
|
|
5977
6064
|
),
|
|
5978
6065
|
children: [
|
|
5979
|
-
/* @__PURE__ */ (0,
|
|
5980
|
-
/* @__PURE__ */ (0,
|
|
5981
|
-
/* @__PURE__ */ (0,
|
|
5982
|
-
/* @__PURE__ */ (0,
|
|
6066
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
|
|
6067
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
6068
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { className: "h-3 w-28" }),
|
|
6069
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
|
|
5983
6070
|
] }),
|
|
5984
|
-
/* @__PURE__ */ (0,
|
|
5985
|
-
/* @__PURE__ */ (0,
|
|
5986
|
-
/* @__PURE__ */ (0,
|
|
6071
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex flex-col items-end space-y-1.5", children: [
|
|
6072
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { className: "h-3 w-14" }),
|
|
6073
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { tone: "secondary", className: "h-2 w-10" })
|
|
5987
6074
|
] })
|
|
5988
6075
|
]
|
|
5989
6076
|
},
|
|
@@ -5992,7 +6079,7 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
5992
6079
|
}
|
|
5993
6080
|
|
|
5994
6081
|
// src/web/components/secret-reveal-card.tsx
|
|
5995
|
-
var
|
|
6082
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
5996
6083
|
function SecretRevealCard({
|
|
5997
6084
|
value,
|
|
5998
6085
|
revealed,
|
|
@@ -6004,9 +6091,9 @@ function SecretRevealCard({
|
|
|
6004
6091
|
className,
|
|
6005
6092
|
valueClassName
|
|
6006
6093
|
}) {
|
|
6007
|
-
return /* @__PURE__ */ (0,
|
|
6008
|
-
/* @__PURE__ */ (0,
|
|
6009
|
-
/* @__PURE__ */ (0,
|
|
6094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: cn("space-y-3", className), children: [
|
|
6095
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "relative", children: [
|
|
6096
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6010
6097
|
"p",
|
|
6011
6098
|
{
|
|
6012
6099
|
className: cn(
|
|
@@ -6017,40 +6104,40 @@ function SecretRevealCard({
|
|
|
6017
6104
|
children: value
|
|
6018
6105
|
}
|
|
6019
6106
|
) }),
|
|
6020
|
-
!revealed && /* @__PURE__ */ (0,
|
|
6107
|
+
!revealed && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
6021
6108
|
"button",
|
|
6022
6109
|
{
|
|
6023
6110
|
type: "button",
|
|
6024
6111
|
onClick: () => onRevealChange(true),
|
|
6025
6112
|
className: "flex items-center gap-2 rounded-xl border border-white/20 bg-card px-4 py-2 text-sm font-bold text-foreground shadow-lg transition-all hover:bg-accent",
|
|
6026
6113
|
children: [
|
|
6027
|
-
/* @__PURE__ */ (0,
|
|
6114
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
6028
6115
|
revealLabel
|
|
6029
6116
|
]
|
|
6030
6117
|
}
|
|
6031
6118
|
) })
|
|
6032
6119
|
] }),
|
|
6033
|
-
/* @__PURE__ */ (0,
|
|
6034
|
-
/* @__PURE__ */ (0,
|
|
6120
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex gap-2", children: [
|
|
6121
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
6035
6122
|
"button",
|
|
6036
6123
|
{
|
|
6037
6124
|
type: "button",
|
|
6038
6125
|
onClick: () => onRevealChange(!revealed),
|
|
6039
6126
|
className: "flex flex-1 items-center justify-center gap-2 rounded-xl bg-white/5 py-3 text-sm font-semibold text-muted-foreground transition-all hover:bg-accent hover:text-foreground",
|
|
6040
6127
|
children: [
|
|
6041
|
-
/* @__PURE__ */ (0,
|
|
6128
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
|
|
6042
6129
|
revealed ? hideLabel : revealLabel
|
|
6043
6130
|
]
|
|
6044
6131
|
}
|
|
6045
6132
|
),
|
|
6046
|
-
revealed && onCopy && /* @__PURE__ */ (0,
|
|
6133
|
+
revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
6047
6134
|
"button",
|
|
6048
6135
|
{
|
|
6049
6136
|
type: "button",
|
|
6050
6137
|
onClick: onCopy,
|
|
6051
6138
|
className: "flex flex-1 items-center justify-center gap-2 rounded-xl bg-white/5 py-3 text-sm font-semibold text-muted-foreground transition-all hover:bg-accent hover:text-foreground",
|
|
6052
6139
|
children: [
|
|
6053
|
-
/* @__PURE__ */ (0,
|
|
6140
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
6054
6141
|
copyLabel
|
|
6055
6142
|
]
|
|
6056
6143
|
}
|
|
@@ -6060,7 +6147,7 @@ function SecretRevealCard({
|
|
|
6060
6147
|
}
|
|
6061
6148
|
|
|
6062
6149
|
// src/web/components/settings-section-card.tsx
|
|
6063
|
-
var
|
|
6150
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
6064
6151
|
function SettingsSectionCard({
|
|
6065
6152
|
title,
|
|
6066
6153
|
description,
|
|
@@ -6069,15 +6156,15 @@ function SettingsSectionCard({
|
|
|
6069
6156
|
className,
|
|
6070
6157
|
bodyClassName
|
|
6071
6158
|
}) {
|
|
6072
|
-
return /* @__PURE__ */ (0,
|
|
6073
|
-
/* @__PURE__ */ (0,
|
|
6074
|
-
/* @__PURE__ */ (0,
|
|
6075
|
-
/* @__PURE__ */ (0,
|
|
6076
|
-
description && /* @__PURE__ */ (0,
|
|
6159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("section", { className: cn("space-y-4 rounded-xl bg-card p-4", className), children: [
|
|
6160
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-start justify-between gap-4", children: [
|
|
6161
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6162
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("h2", { className: "text-sm font-bold text-foreground", children: title }),
|
|
6163
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
|
|
6077
6164
|
] }),
|
|
6078
6165
|
badge
|
|
6079
6166
|
] }),
|
|
6080
|
-
/* @__PURE__ */ (0,
|
|
6167
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: bodyClassName, children })
|
|
6081
6168
|
] });
|
|
6082
6169
|
}
|
|
6083
6170
|
var badgeToneClass = {
|
|
@@ -6089,7 +6176,7 @@ var badgeToneClass = {
|
|
|
6089
6176
|
muted: "border-white/10 bg-white/[0.05] text-white/55"
|
|
6090
6177
|
};
|
|
6091
6178
|
function ToneBadge({ children, tone = "muted", className }) {
|
|
6092
|
-
return /* @__PURE__ */ (0,
|
|
6179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6093
6180
|
"span",
|
|
6094
6181
|
{
|
|
6095
6182
|
className: cn(
|
|
@@ -6103,7 +6190,7 @@ function ToneBadge({ children, tone = "muted", className }) {
|
|
|
6103
6190
|
}
|
|
6104
6191
|
|
|
6105
6192
|
// src/web/components/selectable-card.tsx
|
|
6106
|
-
var
|
|
6193
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
6107
6194
|
function SelectableCard({
|
|
6108
6195
|
selected,
|
|
6109
6196
|
onClick,
|
|
@@ -6115,28 +6202,28 @@ function SelectableCard({
|
|
|
6115
6202
|
children,
|
|
6116
6203
|
className
|
|
6117
6204
|
}) {
|
|
6118
|
-
const content = /* @__PURE__ */ (0,
|
|
6119
|
-
/* @__PURE__ */ (0,
|
|
6120
|
-
indicator && /* @__PURE__ */ (0,
|
|
6205
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
6206
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
6207
|
+
indicator && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6121
6208
|
"div",
|
|
6122
6209
|
{
|
|
6123
6210
|
className: cn(
|
|
6124
6211
|
"mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
6125
6212
|
selected ? "border-primary bg-primary" : "border-white/20"
|
|
6126
6213
|
),
|
|
6127
|
-
children: selected && /* @__PURE__ */ (0,
|
|
6214
|
+
children: selected && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "size-2 rounded-full bg-background" })
|
|
6128
6215
|
}
|
|
6129
6216
|
),
|
|
6130
|
-
/* @__PURE__ */ (0,
|
|
6131
|
-
/* @__PURE__ */ (0,
|
|
6132
|
-
/* @__PURE__ */ (0,
|
|
6217
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6218
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
6219
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-body font-bold text-foreground", children: title }),
|
|
6133
6220
|
badge
|
|
6134
6221
|
] }),
|
|
6135
|
-
description && /* @__PURE__ */ (0,
|
|
6222
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
|
|
6136
6223
|
children
|
|
6137
6224
|
] })
|
|
6138
6225
|
] }),
|
|
6139
|
-
preview && /* @__PURE__ */ (0,
|
|
6226
|
+
preview && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "shrink-0 text-right", children: preview })
|
|
6140
6227
|
] });
|
|
6141
6228
|
const cardClassName = cn(
|
|
6142
6229
|
"w-full rounded-2xl border p-4 text-left transition-all duration-200",
|
|
@@ -6144,14 +6231,14 @@ function SelectableCard({
|
|
|
6144
6231
|
className
|
|
6145
6232
|
);
|
|
6146
6233
|
if (onClick) {
|
|
6147
|
-
return /* @__PURE__ */ (0,
|
|
6234
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("button", { type: "button", onClick, className: cardClassName, children: content });
|
|
6148
6235
|
}
|
|
6149
|
-
return /* @__PURE__ */ (0,
|
|
6236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: cardClassName, children: content });
|
|
6150
6237
|
}
|
|
6151
6238
|
|
|
6152
6239
|
// src/web/components/mobile-hero-animation.tsx
|
|
6153
6240
|
var import_react13 = require("react");
|
|
6154
|
-
var
|
|
6241
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
6155
6242
|
var PROTOCOLS = [
|
|
6156
6243
|
{ name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
|
|
6157
6244
|
{ name: "Lightning", network: "LN", iconSuffix: "lightning/lightning.svg" },
|
|
@@ -6210,15 +6297,15 @@ var MobileHeroAnimation = ({
|
|
|
6210
6297
|
}, []);
|
|
6211
6298
|
const anim = !reducedMotion && isVisible;
|
|
6212
6299
|
const scale = size / 280;
|
|
6213
|
-
return /* @__PURE__ */ (0,
|
|
6300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6214
6301
|
"div",
|
|
6215
6302
|
{
|
|
6216
6303
|
ref: containerRef,
|
|
6217
6304
|
className,
|
|
6218
6305
|
style: { position: "relative", width: size, height: size },
|
|
6219
6306
|
children: [
|
|
6220
|
-
/* @__PURE__ */ (0,
|
|
6221
|
-
/* @__PURE__ */ (0,
|
|
6307
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("style", { children: KEYFRAMES }),
|
|
6308
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { style: {
|
|
6222
6309
|
position: "absolute",
|
|
6223
6310
|
top: 0,
|
|
6224
6311
|
left: 0,
|
|
@@ -6227,7 +6314,7 @@ var MobileHeroAnimation = ({
|
|
|
6227
6314
|
transformOrigin: "top left",
|
|
6228
6315
|
transform: scale !== 1 ? `scale(${scale})` : void 0
|
|
6229
6316
|
}, children: [
|
|
6230
|
-
/* @__PURE__ */ (0,
|
|
6317
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6231
6318
|
"svg",
|
|
6232
6319
|
{
|
|
6233
6320
|
viewBox: "0 0 280 280",
|
|
@@ -6236,35 +6323,35 @@ var MobileHeroAnimation = ({
|
|
|
6236
6323
|
style: { position: "absolute", inset: 0 },
|
|
6237
6324
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6238
6325
|
children: [
|
|
6239
|
-
/* @__PURE__ */ (0,
|
|
6240
|
-
/* @__PURE__ */ (0,
|
|
6241
|
-
/* @__PURE__ */ (0,
|
|
6242
|
-
/* @__PURE__ */ (0,
|
|
6243
|
-
/* @__PURE__ */ (0,
|
|
6326
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("defs", { children: [
|
|
6327
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6328
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6329
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6330
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6244
6331
|
] }),
|
|
6245
|
-
/* @__PURE__ */ (0,
|
|
6246
|
-
/* @__PURE__ */ (0,
|
|
6247
|
-
/* @__PURE__ */ (0,
|
|
6332
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6333
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6334
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6248
6335
|
] }),
|
|
6249
|
-
/* @__PURE__ */ (0,
|
|
6250
|
-
/* @__PURE__ */ (0,
|
|
6251
|
-
/* @__PURE__ */ (0,
|
|
6336
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6337
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6338
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6252
6339
|
] }),
|
|
6253
|
-
/* @__PURE__ */ (0,
|
|
6254
|
-
/* @__PURE__ */ (0,
|
|
6255
|
-
/* @__PURE__ */ (0,
|
|
6256
|
-
/* @__PURE__ */ (0,
|
|
6257
|
-
/* @__PURE__ */ (0,
|
|
6340
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6341
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
|
|
6342
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("feMerge", { children: [
|
|
6343
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "blur" }),
|
|
6344
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6258
6345
|
] })
|
|
6259
6346
|
] })
|
|
6260
6347
|
] }),
|
|
6261
|
-
/* @__PURE__ */ (0,
|
|
6262
|
-
/* @__PURE__ */ (0,
|
|
6263
|
-
/* @__PURE__ */ (0,
|
|
6348
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: C, cy: C, r: ORBIT_R, fill: "none", stroke: "#0e9dff", strokeWidth: "1", strokeOpacity: "0.25", opacity: "0.4", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
6349
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
|
|
6350
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
|
|
6264
6351
|
] }) }),
|
|
6265
|
-
/* @__PURE__ */ (0,
|
|
6266
|
-
/* @__PURE__ */ (0,
|
|
6267
|
-
anim && /* @__PURE__ */ (0,
|
|
6352
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
|
|
6353
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6354
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6268
6355
|
"animateTransform",
|
|
6269
6356
|
{
|
|
6270
6357
|
attributeName: "transform",
|
|
@@ -6285,8 +6372,8 @@ var MobileHeroAnimation = ({
|
|
|
6285
6372
|
const y2 = C + dy * (ORBIT_R - BADGE_HALF);
|
|
6286
6373
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6287
6374
|
const dur = `${2 + i * 0.3}s`;
|
|
6288
|
-
return /* @__PURE__ */ (0,
|
|
6289
|
-
/* @__PURE__ */ (0,
|
|
6375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6376
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6290
6377
|
"line",
|
|
6291
6378
|
{
|
|
6292
6379
|
x1,
|
|
@@ -6297,29 +6384,29 @@ var MobileHeroAnimation = ({
|
|
|
6297
6384
|
strokeWidth: "0.8",
|
|
6298
6385
|
strokeDasharray: "2 4",
|
|
6299
6386
|
opacity: "0.25",
|
|
6300
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6387
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6301
6388
|
}
|
|
6302
6389
|
),
|
|
6303
|
-
/* @__PURE__ */ (0,
|
|
6304
|
-
/* @__PURE__ */ (0,
|
|
6305
|
-
/* @__PURE__ */ (0,
|
|
6306
|
-
/* @__PURE__ */ (0,
|
|
6307
|
-
/* @__PURE__ */ (0,
|
|
6390
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
6391
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
|
|
6392
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
|
|
6393
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
|
|
6394
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
|
|
6308
6395
|
] }) })
|
|
6309
6396
|
] }, `line-${i}`);
|
|
6310
6397
|
})
|
|
6311
6398
|
] }),
|
|
6312
|
-
/* @__PURE__ */ (0,
|
|
6313
|
-
/* @__PURE__ */ (0,
|
|
6314
|
-
/* @__PURE__ */ (0,
|
|
6315
|
-
/* @__PURE__ */ (0,
|
|
6399
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
|
|
6400
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
6401
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
|
|
6402
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
6316
6403
|
] }) }),
|
|
6317
|
-
/* @__PURE__ */ (0,
|
|
6318
|
-
/* @__PURE__ */ (0,
|
|
6319
|
-
/* @__PURE__ */ (0,
|
|
6404
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("circle", { cx: C, cy: C, r: "27", fill: "none", stroke: "url(#mh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
6405
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
6406
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
6320
6407
|
] }) }),
|
|
6321
|
-
/* @__PURE__ */ (0,
|
|
6322
|
-
anim && /* @__PURE__ */ (0,
|
|
6408
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6409
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6323
6410
|
"animateTransform",
|
|
6324
6411
|
{
|
|
6325
6412
|
attributeName: "transform",
|
|
@@ -6331,13 +6418,13 @@ var MobileHeroAnimation = ({
|
|
|
6331
6418
|
additive: "sum"
|
|
6332
6419
|
}
|
|
6333
6420
|
),
|
|
6334
|
-
/* @__PURE__ */ (0,
|
|
6335
|
-
/* @__PURE__ */ (0,
|
|
6336
|
-
/* @__PURE__ */ (0,
|
|
6421
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath(34), fill: "none", stroke: "url(#mh-gp)", strokeWidth: "1.5", opacity: "0.4", filter: "url(#mh-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_jsx_runtime72.Fragment, { children: [
|
|
6422
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
6423
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
6337
6424
|
] }) })
|
|
6338
6425
|
] }) }),
|
|
6339
|
-
/* @__PURE__ */ (0,
|
|
6340
|
-
anim && /* @__PURE__ */ (0,
|
|
6426
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6427
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6341
6428
|
"animateTransform",
|
|
6342
6429
|
{
|
|
6343
6430
|
attributeName: "transform",
|
|
@@ -6349,19 +6436,19 @@ var MobileHeroAnimation = ({
|
|
|
6349
6436
|
additive: "sum"
|
|
6350
6437
|
}
|
|
6351
6438
|
),
|
|
6352
|
-
/* @__PURE__ */ (0,
|
|
6439
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
|
|
6353
6440
|
] }) }),
|
|
6354
|
-
/* @__PURE__ */ (0,
|
|
6355
|
-
/* @__PURE__ */ (0,
|
|
6356
|
-
/* @__PURE__ */ (0,
|
|
6357
|
-
/* @__PURE__ */ (0,
|
|
6358
|
-
/* @__PURE__ */ (0,
|
|
6359
|
-
/* @__PURE__ */ (0,
|
|
6441
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
|
|
6442
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
|
|
6443
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
|
|
6444
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
|
|
6445
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M137.149 274.559L68.6274 205.933L137.201 137.306L274.455 137.411L205.776 206.038L274.456 274.559H137.149Z", fill: "#15E99A" }),
|
|
6446
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
|
|
6360
6447
|
] })
|
|
6361
6448
|
]
|
|
6362
6449
|
}
|
|
6363
6450
|
),
|
|
6364
|
-
/* @__PURE__ */ (0,
|
|
6451
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { style: {
|
|
6365
6452
|
position: "absolute",
|
|
6366
6453
|
inset: 0,
|
|
6367
6454
|
width: 280,
|
|
@@ -6372,7 +6459,7 @@ var MobileHeroAnimation = ({
|
|
|
6372
6459
|
const x = C + Math.cos(angle) * ORBIT_R - BADGE_HALF;
|
|
6373
6460
|
const y = C + Math.sin(angle) * ORBIT_R - BADGE_HALF;
|
|
6374
6461
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6375
|
-
return /* @__PURE__ */ (0,
|
|
6462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6376
6463
|
"div",
|
|
6377
6464
|
{
|
|
6378
6465
|
style: {
|
|
@@ -6383,7 +6470,7 @@ var MobileHeroAnimation = ({
|
|
|
6383
6470
|
height: BADGE_SIZE,
|
|
6384
6471
|
animation: anim ? "mha-counter-spin 20s linear infinite" : "none"
|
|
6385
6472
|
},
|
|
6386
|
-
children: /* @__PURE__ */ (0,
|
|
6473
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { style: {
|
|
6387
6474
|
width: "100%",
|
|
6388
6475
|
height: "100%",
|
|
6389
6476
|
borderRadius: "50%",
|
|
@@ -6394,7 +6481,7 @@ var MobileHeroAnimation = ({
|
|
|
6394
6481
|
display: "flex",
|
|
6395
6482
|
alignItems: "center",
|
|
6396
6483
|
justifyContent: "center"
|
|
6397
|
-
}, children: /* @__PURE__ */ (0,
|
|
6484
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6398
6485
|
"img",
|
|
6399
6486
|
{
|
|
6400
6487
|
src: iconBasePath ? `${iconBasePath}/${protocol.iconSuffix}` : protocolIcons[protocol.network] ?? protocol.iconSuffix,
|
|
@@ -6414,7 +6501,7 @@ var MobileHeroAnimation = ({
|
|
|
6414
6501
|
|
|
6415
6502
|
// src/web/components/kaleidoscope-hero-animation.tsx
|
|
6416
6503
|
var import_react14 = require("react");
|
|
6417
|
-
var
|
|
6504
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6418
6505
|
var PROTOCOLS2 = [
|
|
6419
6506
|
{ name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
|
|
6420
6507
|
{ name: "Lightning", network: "LN", color: "#fbbf24", glowColor: "rgba(251,191,36,0.5)" },
|
|
@@ -6519,13 +6606,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6519
6606
|
const angle = Math.PI * 2 * i / 7 - Math.PI / 2;
|
|
6520
6607
|
return { x: c + orbitR * Math.cos(angle), y: c + orbitR * Math.sin(angle) };
|
|
6521
6608
|
});
|
|
6522
|
-
return /* @__PURE__ */ (0,
|
|
6609
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6523
6610
|
"div",
|
|
6524
6611
|
{
|
|
6525
6612
|
ref: containerRef,
|
|
6526
6613
|
className: `relative ${className}`,
|
|
6527
6614
|
style: size ? { width: size, height: size } : void 0,
|
|
6528
|
-
children: /* @__PURE__ */ (0,
|
|
6615
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6529
6616
|
"svg",
|
|
6530
6617
|
{
|
|
6531
6618
|
viewBox: "0 0 500 500",
|
|
@@ -6534,60 +6621,60 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6534
6621
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6535
6622
|
className: "overflow-visible",
|
|
6536
6623
|
children: [
|
|
6537
|
-
/* @__PURE__ */ (0,
|
|
6538
|
-
/* @__PURE__ */ (0,
|
|
6539
|
-
/* @__PURE__ */ (0,
|
|
6540
|
-
/* @__PURE__ */ (0,
|
|
6624
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("defs", { children: [
|
|
6625
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6626
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
|
|
6627
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
|
|
6541
6628
|
] }),
|
|
6542
|
-
/* @__PURE__ */ (0,
|
|
6543
|
-
/* @__PURE__ */ (0,
|
|
6544
|
-
/* @__PURE__ */ (0,
|
|
6629
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
|
|
6630
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
|
|
6631
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
|
|
6545
6632
|
] }),
|
|
6546
|
-
/* @__PURE__ */ (0,
|
|
6547
|
-
/* @__PURE__ */ (0,
|
|
6548
|
-
/* @__PURE__ */ (0,
|
|
6633
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
|
|
6634
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
|
|
6635
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
|
|
6549
6636
|
] }),
|
|
6550
|
-
/* @__PURE__ */ (0,
|
|
6551
|
-
/* @__PURE__ */ (0,
|
|
6552
|
-
/* @__PURE__ */ (0,
|
|
6637
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6638
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6639
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6553
6640
|
] }),
|
|
6554
|
-
/* @__PURE__ */ (0,
|
|
6555
|
-
/* @__PURE__ */ (0,
|
|
6556
|
-
/* @__PURE__ */ (0,
|
|
6641
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6642
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#F7931A" }),
|
|
6643
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#06b6d4" })
|
|
6557
6644
|
] }),
|
|
6558
|
-
/* @__PURE__ */ (0,
|
|
6559
|
-
/* @__PURE__ */ (0,
|
|
6560
|
-
/* @__PURE__ */ (0,
|
|
6645
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6646
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6647
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6561
6648
|
] }),
|
|
6562
|
-
/* @__PURE__ */ (0,
|
|
6563
|
-
/* @__PURE__ */ (0,
|
|
6564
|
-
/* @__PURE__ */ (0,
|
|
6565
|
-
/* @__PURE__ */ (0,
|
|
6649
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6650
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6651
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6652
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6566
6653
|
] }),
|
|
6567
|
-
/* @__PURE__ */ (0,
|
|
6568
|
-
/* @__PURE__ */ (0,
|
|
6569
|
-
/* @__PURE__ */ (0,
|
|
6570
|
-
/* @__PURE__ */ (0,
|
|
6654
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6655
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
|
|
6656
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
|
|
6657
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
|
|
6571
6658
|
] }),
|
|
6572
|
-
/* @__PURE__ */ (0,
|
|
6573
|
-
/* @__PURE__ */ (0,
|
|
6574
|
-
/* @__PURE__ */ (0,
|
|
6575
|
-
/* @__PURE__ */ (0,
|
|
6576
|
-
/* @__PURE__ */ (0,
|
|
6659
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6660
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
|
|
6661
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("feMerge", { children: [
|
|
6662
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "blur" }),
|
|
6663
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6577
6664
|
] })
|
|
6578
6665
|
] }),
|
|
6579
|
-
/* @__PURE__ */ (0,
|
|
6580
|
-
/* @__PURE__ */ (0,
|
|
6581
|
-
/* @__PURE__ */ (0,
|
|
6582
|
-
/* @__PURE__ */ (0,
|
|
6583
|
-
/* @__PURE__ */ (0,
|
|
6666
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6667
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
|
|
6668
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("feMerge", { children: [
|
|
6669
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "blur" }),
|
|
6670
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6584
6671
|
] })
|
|
6585
6672
|
] })
|
|
6586
6673
|
] }),
|
|
6587
|
-
/* @__PURE__ */ (0,
|
|
6588
|
-
/* @__PURE__ */ (0,
|
|
6589
|
-
/* @__PURE__ */ (0,
|
|
6590
|
-
anim && /* @__PURE__ */ (0,
|
|
6674
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
|
|
6675
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(20), children: [
|
|
6676
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6677
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6591
6678
|
"animateTransform",
|
|
6592
6679
|
{
|
|
6593
6680
|
attributeName: "transform",
|
|
@@ -6600,14 +6687,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6600
6687
|
),
|
|
6601
6688
|
Array.from({ length: 6 }, (_, i) => {
|
|
6602
6689
|
const a = Math.PI / 3 * i;
|
|
6603
|
-
return /* @__PURE__ */ (0,
|
|
6604
|
-
/* @__PURE__ */ (0,
|
|
6605
|
-
/* @__PURE__ */ (0,
|
|
6690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
|
|
6691
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
|
|
6692
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
|
|
6606
6693
|
] }, `ha-${i}`);
|
|
6607
6694
|
}),
|
|
6608
6695
|
Array.from({ length: 6 }, (_, i) => {
|
|
6609
6696
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6610
|
-
return /* @__PURE__ */ (0,
|
|
6697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6611
6698
|
"path",
|
|
6612
6699
|
{
|
|
6613
6700
|
d: triPath(14),
|
|
@@ -6620,7 +6707,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6620
6707
|
}),
|
|
6621
6708
|
Array.from({ length: 12 }, (_, i) => {
|
|
6622
6709
|
const a = Math.PI / 6 * i;
|
|
6623
|
-
return /* @__PURE__ */ (0,
|
|
6710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6624
6711
|
"circle",
|
|
6625
6712
|
{
|
|
6626
6713
|
cx: c + outerR1 * 0.92 * Math.cos(a),
|
|
@@ -6628,14 +6715,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6628
6715
|
r: "1.5",
|
|
6629
6716
|
fill: "url(#kh-grad-a)",
|
|
6630
6717
|
opacity: "0.15",
|
|
6631
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6718
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
|
|
6632
6719
|
},
|
|
6633
6720
|
`od-${i}`
|
|
6634
6721
|
);
|
|
6635
6722
|
})
|
|
6636
6723
|
] }),
|
|
6637
|
-
/* @__PURE__ */ (0,
|
|
6638
|
-
anim && /* @__PURE__ */ (0,
|
|
6724
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6725
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6639
6726
|
"animateTransform",
|
|
6640
6727
|
{
|
|
6641
6728
|
attributeName: "transform",
|
|
@@ -6648,28 +6735,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6648
6735
|
),
|
|
6649
6736
|
Array.from({ length: 6 }, (_, i) => {
|
|
6650
6737
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6651
|
-
return /* @__PURE__ */ (0,
|
|
6652
|
-
/* @__PURE__ */ (0,
|
|
6653
|
-
/* @__PURE__ */ (0,
|
|
6738
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
|
|
6739
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
|
|
6740
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
|
|
6654
6741
|
] }, `hb-${i}`);
|
|
6655
6742
|
}),
|
|
6656
6743
|
Array.from({ length: 6 }, (_, i) => {
|
|
6657
6744
|
const a = Math.PI / 3 * i;
|
|
6658
|
-
return /* @__PURE__ */ (0,
|
|
6745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6659
6746
|
"path",
|
|
6660
6747
|
{
|
|
6661
6748
|
d: diamondPath(8, 16),
|
|
6662
6749
|
transform: `translate(${c + outerR2 * 0.85 * Math.cos(a)},${c + outerR2 * 0.85 * Math.sin(a)}) rotate(${i * 60})`,
|
|
6663
6750
|
fill: "url(#kh-grad-b)",
|
|
6664
6751
|
opacity: "0.08",
|
|
6665
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6752
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
6666
6753
|
},
|
|
6667
6754
|
`db-${i}`
|
|
6668
6755
|
);
|
|
6669
6756
|
})
|
|
6670
6757
|
] }),
|
|
6671
|
-
/* @__PURE__ */ (0,
|
|
6672
|
-
anim && /* @__PURE__ */ (0,
|
|
6758
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6759
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6673
6760
|
"animateTransform",
|
|
6674
6761
|
{
|
|
6675
6762
|
attributeName: "transform",
|
|
@@ -6683,23 +6770,23 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6683
6770
|
Array.from({ length: 12 }, (_, i) => {
|
|
6684
6771
|
const a = Math.PI / 6 * i;
|
|
6685
6772
|
const r = outerR1 * (0.6 + i % 2 * 0.15);
|
|
6686
|
-
return /* @__PURE__ */ (0,
|
|
6773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6687
6774
|
"path",
|
|
6688
6775
|
{
|
|
6689
6776
|
d: triPath(10),
|
|
6690
6777
|
transform: `translate(${c + r * Math.cos(a)},${c + r * Math.sin(a)}) rotate(${i * 30 + 15})`,
|
|
6691
6778
|
fill: "url(#kh-grad-c)",
|
|
6692
6779
|
opacity: "0.05",
|
|
6693
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6780
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
|
|
6694
6781
|
},
|
|
6695
6782
|
`tc-${i}`
|
|
6696
6783
|
);
|
|
6697
6784
|
})
|
|
6698
6785
|
] })
|
|
6699
6786
|
] }),
|
|
6700
|
-
/* @__PURE__ */ (0,
|
|
6701
|
-
/* @__PURE__ */ (0,
|
|
6702
|
-
anim && /* @__PURE__ */ (0,
|
|
6787
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(14), children: [
|
|
6788
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6789
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6703
6790
|
"animateTransform",
|
|
6704
6791
|
{
|
|
6705
6792
|
attributeName: "transform",
|
|
@@ -6712,9 +6799,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6712
6799
|
),
|
|
6713
6800
|
Array.from({ length: 12 }, (_, i) => {
|
|
6714
6801
|
const a = Math.PI / 6 * i;
|
|
6715
|
-
return /* @__PURE__ */ (0,
|
|
6716
|
-
/* @__PURE__ */ (0,
|
|
6717
|
-
/* @__PURE__ */ (0,
|
|
6802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
|
|
6803
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
|
|
6804
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
|
|
6718
6805
|
] }, `mh-${i}`);
|
|
6719
6806
|
})
|
|
6720
6807
|
] }),
|
|
@@ -6725,7 +6812,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6725
6812
|
const y1 = c + midR * Math.sin(a1);
|
|
6726
6813
|
const x2 = c + midR * Math.cos(a2);
|
|
6727
6814
|
const y2 = c + midR * Math.sin(a2);
|
|
6728
|
-
return /* @__PURE__ */ (0,
|
|
6815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6729
6816
|
"path",
|
|
6730
6817
|
{
|
|
6731
6818
|
d: `M${x1},${y1} Q${c},${c} ${x2},${y2}`,
|
|
@@ -6734,17 +6821,17 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6734
6821
|
strokeWidth: "0.5",
|
|
6735
6822
|
strokeDasharray: "3 5",
|
|
6736
6823
|
opacity: "0.1",
|
|
6737
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6824
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6738
6825
|
},
|
|
6739
6826
|
`arc-${i}`
|
|
6740
6827
|
);
|
|
6741
6828
|
})
|
|
6742
6829
|
] }),
|
|
6743
|
-
/* @__PURE__ */ (0,
|
|
6744
|
-
/* @__PURE__ */ (0,
|
|
6745
|
-
/* @__PURE__ */ (0,
|
|
6746
|
-
/* @__PURE__ */ (0,
|
|
6747
|
-
anim && /* @__PURE__ */ (0,
|
|
6830
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(10), children: [
|
|
6831
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: c, cy: c, r: orbitR, fill: "none", stroke: "rgba(255,255,255,0.05)", strokeWidth: "1", strokeDasharray: "3 5", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
|
|
6832
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
|
|
6833
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6834
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6748
6835
|
"animateTransform",
|
|
6749
6836
|
{
|
|
6750
6837
|
attributeName: "transform",
|
|
@@ -6759,8 +6846,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6759
6846
|
const angle = Math.atan2(pos.y - c, pos.x - c);
|
|
6760
6847
|
const dx = Math.cos(angle);
|
|
6761
6848
|
const dy = Math.sin(angle);
|
|
6762
|
-
return /* @__PURE__ */ (0,
|
|
6763
|
-
/* @__PURE__ */ (0,
|
|
6849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6850
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6764
6851
|
"line",
|
|
6765
6852
|
{
|
|
6766
6853
|
x1: c + dx * 52,
|
|
@@ -6771,14 +6858,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6771
6858
|
strokeWidth: "0.8",
|
|
6772
6859
|
strokeDasharray: "2 4",
|
|
6773
6860
|
opacity: "0.2",
|
|
6774
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6861
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6775
6862
|
}
|
|
6776
6863
|
),
|
|
6777
|
-
/* @__PURE__ */ (0,
|
|
6778
|
-
/* @__PURE__ */ (0,
|
|
6779
|
-
/* @__PURE__ */ (0,
|
|
6780
|
-
/* @__PURE__ */ (0,
|
|
6781
|
-
/* @__PURE__ */ (0,
|
|
6864
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
6865
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6866
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6867
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6868
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6782
6869
|
] }) })
|
|
6783
6870
|
] }, `conn-${i}`);
|
|
6784
6871
|
}),
|
|
@@ -6786,14 +6873,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6786
6873
|
const pos = iconPositions[i];
|
|
6787
6874
|
const labelWidth = Math.max(proto.name.length * 5.5 + 10, 32);
|
|
6788
6875
|
const isHovered = hoveredProtocol === proto.name;
|
|
6789
|
-
return /* @__PURE__ */ (0,
|
|
6876
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6790
6877
|
"g",
|
|
6791
6878
|
{
|
|
6792
6879
|
onMouseEnter: () => setHoveredProtocol(proto.name),
|
|
6793
6880
|
onMouseLeave: () => setHoveredProtocol(null),
|
|
6794
6881
|
style: { cursor: "pointer" },
|
|
6795
6882
|
children: [
|
|
6796
|
-
anim && /* @__PURE__ */ (0,
|
|
6883
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6797
6884
|
"animateTransform",
|
|
6798
6885
|
{
|
|
6799
6886
|
attributeName: "transform",
|
|
@@ -6804,7 +6891,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6804
6891
|
repeatCount: "indefinite"
|
|
6805
6892
|
}
|
|
6806
6893
|
),
|
|
6807
|
-
/* @__PURE__ */ (0,
|
|
6894
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6808
6895
|
"circle",
|
|
6809
6896
|
{
|
|
6810
6897
|
cx: "0",
|
|
@@ -6814,13 +6901,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6814
6901
|
stroke: proto.color,
|
|
6815
6902
|
strokeWidth: "1",
|
|
6816
6903
|
opacity: "0",
|
|
6817
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6818
|
-
/* @__PURE__ */ (0,
|
|
6819
|
-
/* @__PURE__ */ (0,
|
|
6904
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
6905
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
|
|
6906
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
|
|
6820
6907
|
] })
|
|
6821
6908
|
}
|
|
6822
6909
|
),
|
|
6823
|
-
/* @__PURE__ */ (0,
|
|
6910
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6824
6911
|
"circle",
|
|
6825
6912
|
{
|
|
6826
6913
|
cx: "0",
|
|
@@ -6830,10 +6917,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6830
6917
|
stroke: proto.color,
|
|
6831
6918
|
strokeWidth: "1",
|
|
6832
6919
|
opacity: "0.15",
|
|
6833
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6920
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
6834
6921
|
}
|
|
6835
6922
|
),
|
|
6836
|
-
/* @__PURE__ */ (0,
|
|
6923
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6837
6924
|
"circle",
|
|
6838
6925
|
{
|
|
6839
6926
|
cx: "0",
|
|
@@ -6843,10 +6930,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6843
6930
|
stroke: proto.color,
|
|
6844
6931
|
strokeWidth: "1.5",
|
|
6845
6932
|
opacity: "0.25",
|
|
6846
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6933
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6847
6934
|
}
|
|
6848
6935
|
),
|
|
6849
|
-
/* @__PURE__ */ (0,
|
|
6936
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6850
6937
|
"circle",
|
|
6851
6938
|
{
|
|
6852
6939
|
cx: "0",
|
|
@@ -6857,8 +6944,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6857
6944
|
strokeWidth: "1"
|
|
6858
6945
|
}
|
|
6859
6946
|
),
|
|
6860
|
-
/* @__PURE__ */ (0,
|
|
6861
|
-
/* @__PURE__ */ (0,
|
|
6947
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
|
|
6948
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6862
6949
|
NetworkBadge,
|
|
6863
6950
|
{
|
|
6864
6951
|
network: proto.network,
|
|
@@ -6866,8 +6953,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6866
6953
|
className: "w-full h-full"
|
|
6867
6954
|
}
|
|
6868
6955
|
) }),
|
|
6869
|
-
/* @__PURE__ */ (0,
|
|
6870
|
-
/* @__PURE__ */ (0,
|
|
6956
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
|
|
6957
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6871
6958
|
"rect",
|
|
6872
6959
|
{
|
|
6873
6960
|
x: -labelWidth / 2,
|
|
@@ -6881,7 +6968,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6881
6968
|
strokeOpacity: 0.4
|
|
6882
6969
|
}
|
|
6883
6970
|
),
|
|
6884
|
-
/* @__PURE__ */ (0,
|
|
6971
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6885
6972
|
"text",
|
|
6886
6973
|
{
|
|
6887
6974
|
x: "0",
|
|
@@ -6901,9 +6988,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6901
6988
|
})
|
|
6902
6989
|
] })
|
|
6903
6990
|
] }),
|
|
6904
|
-
/* @__PURE__ */ (0,
|
|
6905
|
-
/* @__PURE__ */ (0,
|
|
6906
|
-
anim && /* @__PURE__ */ (0,
|
|
6991
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(5), children: [
|
|
6992
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6993
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6907
6994
|
"animateTransform",
|
|
6908
6995
|
{
|
|
6909
6996
|
attributeName: "transform",
|
|
@@ -6916,28 +7003,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6916
7003
|
),
|
|
6917
7004
|
Array.from({ length: 6 }, (_, i) => {
|
|
6918
7005
|
const a = Math.PI / 3 * i;
|
|
6919
|
-
return /* @__PURE__ */ (0,
|
|
7006
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6920
7007
|
"path",
|
|
6921
7008
|
{
|
|
6922
7009
|
d: diamondPath(10, 22),
|
|
6923
7010
|
transform: `translate(${c + innerR * Math.cos(a)},${c + innerR * Math.sin(a)}) rotate(${i * 60})`,
|
|
6924
7011
|
fill: "url(#kh-gp)",
|
|
6925
7012
|
opacity: "0.15",
|
|
6926
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7013
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
|
|
6927
7014
|
},
|
|
6928
7015
|
`d-${i}`
|
|
6929
7016
|
);
|
|
6930
7017
|
}),
|
|
6931
7018
|
Array.from({ length: 6 }, (_, i) => {
|
|
6932
7019
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6933
|
-
return /* @__PURE__ */ (0,
|
|
7020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6934
7021
|
"path",
|
|
6935
7022
|
{
|
|
6936
7023
|
d: triPath(8),
|
|
6937
7024
|
transform: `translate(${c + innerR * 0.75 * Math.cos(a)},${c + innerR * 0.75 * Math.sin(a)}) rotate(${i * 60 + 30})`,
|
|
6938
7025
|
fill: "url(#kh-oc)",
|
|
6939
7026
|
opacity: "0.1",
|
|
6940
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7027
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6941
7028
|
},
|
|
6942
7029
|
`it-${i}`
|
|
6943
7030
|
);
|
|
@@ -6945,7 +7032,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6945
7032
|
Array.from({ length: 12 }, (_, i) => {
|
|
6946
7033
|
const a = Math.PI / 6 * i;
|
|
6947
7034
|
const r = innerR * (i % 2 === 0 ? 0.55 : 0.65);
|
|
6948
|
-
return /* @__PURE__ */ (0,
|
|
7035
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6949
7036
|
"circle",
|
|
6950
7037
|
{
|
|
6951
7038
|
cx: c + r * Math.cos(a),
|
|
@@ -6953,14 +7040,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6953
7040
|
r: i % 2 === 0 ? 2 : 1.5,
|
|
6954
7041
|
fill: "url(#kh-oc)",
|
|
6955
7042
|
opacity: "0.2",
|
|
6956
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7043
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
|
|
6957
7044
|
},
|
|
6958
7045
|
`id-${i}`
|
|
6959
7046
|
);
|
|
6960
7047
|
})
|
|
6961
7048
|
] }),
|
|
6962
|
-
/* @__PURE__ */ (0,
|
|
6963
|
-
anim && /* @__PURE__ */ (0,
|
|
7049
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
7050
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6964
7051
|
"animateTransform",
|
|
6965
7052
|
{
|
|
6966
7053
|
attributeName: "transform",
|
|
@@ -6973,27 +7060,27 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6973
7060
|
),
|
|
6974
7061
|
Array.from({ length: 6 }, (_, i) => {
|
|
6975
7062
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6976
|
-
return /* @__PURE__ */ (0,
|
|
7063
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6977
7064
|
"path",
|
|
6978
7065
|
{
|
|
6979
7066
|
d: hexPath2(6),
|
|
6980
7067
|
transform: `translate(${c + innerR * 0.42 * Math.cos(a)},${c + innerR * 0.42 * Math.sin(a)})`,
|
|
6981
7068
|
fill: "url(#kh-bp)",
|
|
6982
7069
|
opacity: "0.1",
|
|
6983
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7070
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6984
7071
|
},
|
|
6985
7072
|
`ih-${i}`
|
|
6986
7073
|
);
|
|
6987
7074
|
})
|
|
6988
7075
|
] })
|
|
6989
7076
|
] }),
|
|
6990
|
-
/* @__PURE__ */ (0,
|
|
7077
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
|
|
6991
7078
|
const a = Math.PI * 2 * i / 16;
|
|
6992
7079
|
const baseR = 60 + i % 4 * 45;
|
|
6993
7080
|
const x = c + baseR * Math.cos(a);
|
|
6994
7081
|
const y = c + baseR * Math.sin(a);
|
|
6995
7082
|
const colors2 = ["#0e9dff", "#8a5cf6", "#22c55e", "#F7931A", "#06b6d4", "#15E99A"];
|
|
6996
|
-
return /* @__PURE__ */ (0,
|
|
7083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6997
7084
|
"circle",
|
|
6998
7085
|
{
|
|
6999
7086
|
cx: x,
|
|
@@ -7001,26 +7088,26 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7001
7088
|
r: 1 + i % 3 * 0.5,
|
|
7002
7089
|
fill: colors2[i % colors2.length],
|
|
7003
7090
|
opacity: "0",
|
|
7004
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7005
|
-
/* @__PURE__ */ (0,
|
|
7006
|
-
/* @__PURE__ */ (0,
|
|
7007
|
-
/* @__PURE__ */ (0,
|
|
7091
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7092
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
|
|
7093
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cx", values: `${x};${x + Math.cos(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
|
|
7094
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cy", values: `${y};${y + Math.sin(a) * 15}`, dur: `${4 + i % 3 * 1.5}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` })
|
|
7008
7095
|
] })
|
|
7009
7096
|
},
|
|
7010
7097
|
`p-${i}`
|
|
7011
7098
|
);
|
|
7012
7099
|
}) }),
|
|
7013
|
-
/* @__PURE__ */ (0,
|
|
7014
|
-
/* @__PURE__ */ (0,
|
|
7015
|
-
/* @__PURE__ */ (0,
|
|
7016
|
-
/* @__PURE__ */ (0,
|
|
7017
|
-
/* @__PURE__ */ (0,
|
|
7100
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
7101
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
|
|
7102
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7103
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
|
|
7104
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
7018
7105
|
] }) }),
|
|
7019
|
-
/* @__PURE__ */ (0,
|
|
7020
|
-
/* @__PURE__ */ (0,
|
|
7021
|
-
/* @__PURE__ */ (0,
|
|
7106
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: c, cy: c, r: "48", fill: "none", stroke: "url(#kh-gp)", strokeWidth: "0.8", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7107
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
7108
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
7022
7109
|
] }) }),
|
|
7023
|
-
/* @__PURE__ */ (0,
|
|
7110
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7024
7111
|
"path",
|
|
7025
7112
|
{
|
|
7026
7113
|
d: hexPath2(50),
|
|
@@ -7030,13 +7117,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7030
7117
|
strokeWidth: "1.5",
|
|
7031
7118
|
opacity: "0.4",
|
|
7032
7119
|
filter: "url(#kh-glow)",
|
|
7033
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7034
|
-
/* @__PURE__ */ (0,
|
|
7035
|
-
/* @__PURE__ */ (0,
|
|
7120
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7121
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
7122
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
7036
7123
|
] })
|
|
7037
7124
|
}
|
|
7038
7125
|
),
|
|
7039
|
-
/* @__PURE__ */ (0,
|
|
7126
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7040
7127
|
"path",
|
|
7041
7128
|
{
|
|
7042
7129
|
d: hexPath2(46),
|
|
@@ -7046,21 +7133,21 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7046
7133
|
strokeWidth: "0.5"
|
|
7047
7134
|
}
|
|
7048
7135
|
),
|
|
7049
|
-
/* @__PURE__ */ (0,
|
|
7050
|
-
/* @__PURE__ */ (0,
|
|
7051
|
-
/* @__PURE__ */ (0,
|
|
7052
|
-
/* @__PURE__ */ (0,
|
|
7053
|
-
/* @__PURE__ */ (0,
|
|
7054
|
-
/* @__PURE__ */ (0,
|
|
7055
|
-
/* @__PURE__ */ (0,
|
|
7056
|
-
/* @__PURE__ */ (0,
|
|
7057
|
-
/* @__PURE__ */ (0,
|
|
7058
|
-
/* @__PURE__ */ (0,
|
|
7059
|
-
/* @__PURE__ */ (0,
|
|
7060
|
-
/* @__PURE__ */ (0,
|
|
7061
|
-
/* @__PURE__ */ (0,
|
|
7062
|
-
/* @__PURE__ */ (0,
|
|
7063
|
-
/* @__PURE__ */ (0,
|
|
7136
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
|
|
7137
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
|
|
7138
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
|
|
7139
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
|
|
7140
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
|
|
7141
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
|
|
7142
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
|
|
7143
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
|
|
7144
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
|
|
7145
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
|
|
7146
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
|
|
7147
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
|
|
7148
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
|
|
7149
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
|
|
7150
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
|
|
7064
7151
|
] })
|
|
7065
7152
|
] })
|
|
7066
7153
|
]
|
|
@@ -7194,7 +7281,7 @@ var colors = {
|
|
|
7194
7281
|
};
|
|
7195
7282
|
|
|
7196
7283
|
// src/web/components/deposit-ui-shared.tsx
|
|
7197
|
-
var
|
|
7284
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
7198
7285
|
var GLOW_ALPHA = "26";
|
|
7199
7286
|
function qrGlowStyle(hex) {
|
|
7200
7287
|
return { boxShadow: `0 0 30px ${hex}${GLOW_ALPHA}` };
|
|
@@ -7211,7 +7298,7 @@ var NETWORK_CONFIG = {
|
|
|
7211
7298
|
// On-chain uses a chain-link glyph rather than the ₿ coin — the coin reads
|
|
7212
7299
|
// as "the BTC asset", whereas this row is specifically the *on-chain* (L1)
|
|
7213
7300
|
// receive rail alongside Lightning/Spark/Arkade, so a chain mark disambiguates.
|
|
7214
|
-
icon: /* @__PURE__ */ (0,
|
|
7301
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
|
|
7215
7302
|
},
|
|
7216
7303
|
lightning: {
|
|
7217
7304
|
label: "Lightning",
|
|
@@ -7221,7 +7308,7 @@ var NETWORK_CONFIG = {
|
|
|
7221
7308
|
border: "border-network-lightning/40",
|
|
7222
7309
|
qrBorder: "border-network-lightning/30",
|
|
7223
7310
|
qrGlow: qrGlowStyle(colors.network.lightning),
|
|
7224
|
-
icon: /* @__PURE__ */ (0,
|
|
7311
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
|
|
7225
7312
|
},
|
|
7226
7313
|
spark: {
|
|
7227
7314
|
label: "Spark",
|
|
@@ -7231,7 +7318,7 @@ var NETWORK_CONFIG = {
|
|
|
7231
7318
|
border: "border-info/40",
|
|
7232
7319
|
qrBorder: "border-info/30",
|
|
7233
7320
|
qrGlow: qrGlowStyle(colors.info),
|
|
7234
|
-
icon: /* @__PURE__ */ (0,
|
|
7321
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
|
|
7235
7322
|
},
|
|
7236
7323
|
arkade: {
|
|
7237
7324
|
label: "Arkade",
|
|
@@ -7241,7 +7328,7 @@ var NETWORK_CONFIG = {
|
|
|
7241
7328
|
border: "border-network-arkade/40",
|
|
7242
7329
|
qrBorder: "border-network-arkade/30",
|
|
7243
7330
|
qrGlow: qrGlowStyle(colors.network.arkade),
|
|
7244
|
-
icon: /* @__PURE__ */ (0,
|
|
7331
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
|
|
7245
7332
|
}
|
|
7246
7333
|
};
|
|
7247
7334
|
var ACCOUNT_META = {
|
|
@@ -7250,14 +7337,14 @@ var ACCOUNT_META = {
|
|
|
7250
7337
|
accentBg: "bg-primary/10",
|
|
7251
7338
|
accentText: "text-primary",
|
|
7252
7339
|
accentBorder: "border-primary/30",
|
|
7253
|
-
icon: /* @__PURE__ */ (0,
|
|
7340
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
|
|
7254
7341
|
},
|
|
7255
7342
|
SPARK: {
|
|
7256
7343
|
shortLabel: "Spark",
|
|
7257
7344
|
accentBg: "bg-info/10",
|
|
7258
7345
|
accentText: "text-info",
|
|
7259
7346
|
accentBorder: "border-info/30",
|
|
7260
|
-
icon: /* @__PURE__ */ (0,
|
|
7347
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7261
7348
|
"img",
|
|
7262
7349
|
{
|
|
7263
7350
|
src: "/icons/spark/Asterisk/Spark Asterisk White.svg",
|
|
@@ -7271,7 +7358,7 @@ var ACCOUNT_META = {
|
|
|
7271
7358
|
accentBg: "bg-network-arkade/10",
|
|
7272
7359
|
accentText: "text-network-arkade",
|
|
7273
7360
|
accentBorder: "border-network-arkade/30",
|
|
7274
|
-
icon: /* @__PURE__ */ (0,
|
|
7361
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
|
|
7275
7362
|
}
|
|
7276
7363
|
};
|
|
7277
7364
|
var METHOD_META = {
|
|
@@ -7288,7 +7375,7 @@ function InvoiceStatusBanner({
|
|
|
7288
7375
|
isInvoiceFailedOrExpired,
|
|
7289
7376
|
invoiceStatus
|
|
7290
7377
|
}) {
|
|
7291
|
-
return /* @__PURE__ */ (0,
|
|
7378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7292
7379
|
"div",
|
|
7293
7380
|
{
|
|
7294
7381
|
className: cn(
|
|
@@ -7296,17 +7383,17 @@ function InvoiceStatusBanner({
|
|
|
7296
7383
|
isInvoicePaid ? "border-primary/30 bg-primary/10 text-primary" : isInvoiceFailedOrExpired ? "border-danger/20 bg-danger/10 text-danger" : "border-warning/20 bg-warning/10 text-warning"
|
|
7297
7384
|
),
|
|
7298
7385
|
children: [
|
|
7299
|
-
isInvoicePending && /* @__PURE__ */ (0,
|
|
7300
|
-
/* @__PURE__ */ (0,
|
|
7301
|
-
/* @__PURE__ */ (0,
|
|
7386
|
+
isInvoicePending && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
7387
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
|
|
7388
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Waiting for payment..." })
|
|
7302
7389
|
] }),
|
|
7303
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7304
|
-
/* @__PURE__ */ (0,
|
|
7305
|
-
/* @__PURE__ */ (0,
|
|
7390
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
7391
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
|
|
7392
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Payment received!" })
|
|
7306
7393
|
] }),
|
|
7307
|
-
isInvoiceFailedOrExpired && /* @__PURE__ */ (0,
|
|
7308
|
-
/* @__PURE__ */ (0,
|
|
7309
|
-
/* @__PURE__ */ (0,
|
|
7394
|
+
isInvoiceFailedOrExpired && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
7395
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
|
|
7396
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("span", { children: [
|
|
7310
7397
|
"Invoice ",
|
|
7311
7398
|
invoiceStatus?.toLowerCase() === "expired" ? "expired" : "failed"
|
|
7312
7399
|
] })
|
|
@@ -7316,20 +7403,20 @@ function InvoiceStatusBanner({
|
|
|
7316
7403
|
);
|
|
7317
7404
|
}
|
|
7318
7405
|
function PaidOverlay() {
|
|
7319
|
-
return /* @__PURE__ */ (0,
|
|
7320
|
-
/* @__PURE__ */ (0,
|
|
7321
|
-
/* @__PURE__ */ (0,
|
|
7406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
|
|
7407
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
|
|
7408
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "text-sm font-bold text-primary", children: "Received!" })
|
|
7322
7409
|
] }) });
|
|
7323
7410
|
}
|
|
7324
7411
|
function CopyIcon({ copied }) {
|
|
7325
|
-
return /* @__PURE__ */ (0,
|
|
7412
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7326
7413
|
"div",
|
|
7327
7414
|
{
|
|
7328
7415
|
className: cn(
|
|
7329
7416
|
"flex-shrink-0 rounded-lg p-2 transition-all",
|
|
7330
7417
|
copied ? "bg-primary/15 text-primary" : "bg-white/5 text-white/40 group-hover:bg-primary/10 group-hover:text-primary"
|
|
7331
7418
|
),
|
|
7332
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
7419
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Icon, { name: "content_copy", size: "sm" })
|
|
7333
7420
|
}
|
|
7334
7421
|
);
|
|
7335
7422
|
}
|
|
@@ -7340,7 +7427,7 @@ function AccountChoiceChip({
|
|
|
7340
7427
|
label
|
|
7341
7428
|
}) {
|
|
7342
7429
|
const meta = ACCOUNT_META[account];
|
|
7343
|
-
return /* @__PURE__ */ (0,
|
|
7430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7344
7431
|
"button",
|
|
7345
7432
|
{
|
|
7346
7433
|
type: "button",
|
|
@@ -7352,7 +7439,7 @@ function AccountChoiceChip({
|
|
|
7352
7439
|
),
|
|
7353
7440
|
children: [
|
|
7354
7441
|
meta.icon,
|
|
7355
|
-
/* @__PURE__ */ (0,
|
|
7442
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: label ?? meta.shortLabel })
|
|
7356
7443
|
]
|
|
7357
7444
|
}
|
|
7358
7445
|
);
|
|
@@ -7401,8 +7488,8 @@ function NetworkInfoDisclosure({
|
|
|
7401
7488
|
}) {
|
|
7402
7489
|
const [open, setOpen] = (0, import_react15.useState)(false);
|
|
7403
7490
|
if (networks.length === 0) return null;
|
|
7404
|
-
return /* @__PURE__ */ (0,
|
|
7405
|
-
/* @__PURE__ */ (0,
|
|
7491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: cn("overflow-hidden rounded-xl border border-white/8 bg-white/3 transition-all", className), children: [
|
|
7492
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7406
7493
|
"button",
|
|
7407
7494
|
{
|
|
7408
7495
|
type: "button",
|
|
@@ -7410,24 +7497,24 @@ function NetworkInfoDisclosure({
|
|
|
7410
7497
|
"aria-expanded": open,
|
|
7411
7498
|
className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left transition-colors hover:bg-white/4",
|
|
7412
7499
|
children: [
|
|
7413
|
-
/* @__PURE__ */ (0,
|
|
7414
|
-
/* @__PURE__ */ (0,
|
|
7415
|
-
/* @__PURE__ */ (0,
|
|
7500
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Icon, { name: "info", size: "xs", className: "text-white/40" }),
|
|
7501
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
|
|
7502
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
|
|
7416
7503
|
]
|
|
7417
7504
|
}
|
|
7418
7505
|
),
|
|
7419
|
-
open && /* @__PURE__ */ (0,
|
|
7506
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "space-y-2 px-2.5 pb-2.5 pt-0.5 animate-in fade-in slide-in-from-top-1 duration-200", children: networks.map((network) => {
|
|
7420
7507
|
const info = NETWORK_INFO[network];
|
|
7421
7508
|
const cfg = NETWORK_CONFIG[network];
|
|
7422
|
-
return /* @__PURE__ */ (0,
|
|
7423
|
-
/* @__PURE__ */ (0,
|
|
7424
|
-
/* @__PURE__ */ (0,
|
|
7425
|
-
/* @__PURE__ */ (0,
|
|
7509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "space-y-1", children: [
|
|
7510
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
7511
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
|
|
7512
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
|
|
7426
7513
|
] }),
|
|
7427
|
-
/* @__PURE__ */ (0,
|
|
7428
|
-
/* @__PURE__ */ (0,
|
|
7429
|
-
/* @__PURE__ */ (0,
|
|
7430
|
-
/* @__PURE__ */ (0,
|
|
7514
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
|
|
7515
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
|
|
7516
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "mt-[1px] text-white/30", children: "-" }),
|
|
7517
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: bullet })
|
|
7431
7518
|
] }, bullet)) })
|
|
7432
7519
|
] }, network);
|
|
7433
7520
|
}) })
|
|
@@ -7441,7 +7528,7 @@ function MethodChoiceChip({
|
|
|
7441
7528
|
onClick
|
|
7442
7529
|
}) {
|
|
7443
7530
|
const meta = METHOD_META[method];
|
|
7444
|
-
return /* @__PURE__ */ (0,
|
|
7531
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7445
7532
|
"button",
|
|
7446
7533
|
{
|
|
7447
7534
|
type: "button",
|
|
@@ -7454,14 +7541,14 @@ function MethodChoiceChip({
|
|
|
7454
7541
|
),
|
|
7455
7542
|
children: [
|
|
7456
7543
|
meta.label,
|
|
7457
|
-
!enabled && disabledReason && /* @__PURE__ */ (0,
|
|
7544
|
+
!enabled && disabledReason && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
|
|
7458
7545
|
]
|
|
7459
7546
|
}
|
|
7460
7547
|
);
|
|
7461
7548
|
}
|
|
7462
7549
|
|
|
7463
7550
|
// src/web/components/deposit-success-screen.tsx
|
|
7464
|
-
var
|
|
7551
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
7465
7552
|
function DepositSuccessScreen({
|
|
7466
7553
|
handleDone,
|
|
7467
7554
|
displayTicker,
|
|
@@ -7474,20 +7561,20 @@ function DepositSuccessScreen({
|
|
|
7474
7561
|
const isInstant = network === "lightning" || network === "spark";
|
|
7475
7562
|
const title = isInstant ? "Payment Received!" : "Deposit Detected!";
|
|
7476
7563
|
const subtitle = isInstant ? `Your ${displayTicker} has arrived via ${networkLabel}.` : `Incoming deposit detected via ${networkLabel}. Funds will be available after confirmation.`;
|
|
7477
|
-
return /* @__PURE__ */ (0,
|
|
7478
|
-
/* @__PURE__ */ (0,
|
|
7479
|
-
/* @__PURE__ */ (0,
|
|
7480
|
-
/* @__PURE__ */ (0,
|
|
7564
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
|
|
7565
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "relative mb-8", children: [
|
|
7566
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
|
|
7567
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "relative flex size-20 items-center justify-center rounded-full border-2 border-primary/40 bg-primary/10 shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-5xl text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
|
|
7481
7568
|
] }),
|
|
7482
|
-
/* @__PURE__ */ (0,
|
|
7483
|
-
/* @__PURE__ */ (0,
|
|
7484
|
-
/* @__PURE__ */ (0,
|
|
7485
|
-
/* @__PURE__ */ (0,
|
|
7486
|
-
/* @__PURE__ */ (0,
|
|
7487
|
-
/* @__PURE__ */ (0,
|
|
7488
|
-
/* @__PURE__ */ (0,
|
|
7569
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
|
|
7570
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
|
|
7571
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "mb-10 flex items-center gap-3 rounded-2xl border bg-white/5 px-4 py-3", children: [
|
|
7572
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(AssetIcon, { ticker: displayTicker, size: 36 }),
|
|
7573
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "text-left", children: [
|
|
7574
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "text-sm font-bold text-white", children: displayTicker }),
|
|
7575
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
|
|
7489
7576
|
] }),
|
|
7490
|
-
/* @__PURE__ */ (0,
|
|
7577
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
|
|
7491
7578
|
"div",
|
|
7492
7579
|
{
|
|
7493
7580
|
className: cn(
|
|
@@ -7498,27 +7585,27 @@ function DepositSuccessScreen({
|
|
|
7498
7585
|
),
|
|
7499
7586
|
children: [
|
|
7500
7587
|
net.icon,
|
|
7501
|
-
/* @__PURE__ */ (0,
|
|
7588
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: networkLabel })
|
|
7502
7589
|
]
|
|
7503
7590
|
}
|
|
7504
7591
|
)
|
|
7505
7592
|
] }),
|
|
7506
|
-
/* @__PURE__ */ (0,
|
|
7507
|
-
/* @__PURE__ */ (0,
|
|
7593
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
|
|
7594
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
|
|
7508
7595
|
"Back to Wallet"
|
|
7509
7596
|
] })
|
|
7510
7597
|
] }) });
|
|
7511
7598
|
}
|
|
7512
7599
|
|
|
7513
7600
|
// src/web/components/deposit-network-default-modal.tsx
|
|
7514
|
-
var
|
|
7601
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
7515
7602
|
var NETWORK_OPTIONS = {
|
|
7516
7603
|
RGB: {
|
|
7517
7604
|
network: "onchain",
|
|
7518
7605
|
account: "RGB",
|
|
7519
7606
|
label: "On-chain / Lightning",
|
|
7520
7607
|
description: "Classic Bitcoin address or Lightning invoice via the RLN node.",
|
|
7521
|
-
icon: /* @__PURE__ */ (0,
|
|
7608
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
|
|
7522
7609
|
accentBg: "bg-network-bitcoin/10",
|
|
7523
7610
|
accentBorder: "border-network-bitcoin/30",
|
|
7524
7611
|
accentText: "text-network-bitcoin"
|
|
@@ -7528,7 +7615,7 @@ var NETWORK_OPTIONS = {
|
|
|
7528
7615
|
account: "SPARK",
|
|
7529
7616
|
label: "Spark",
|
|
7530
7617
|
description: "Receive directly into your Spark account. Fast and free.",
|
|
7531
|
-
icon: /* @__PURE__ */ (0,
|
|
7618
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
|
|
7532
7619
|
accentBg: "bg-info/10",
|
|
7533
7620
|
accentBorder: "border-info/30",
|
|
7534
7621
|
accentText: "text-info"
|
|
@@ -7538,7 +7625,7 @@ var NETWORK_OPTIONS = {
|
|
|
7538
7625
|
account: "ARKADE",
|
|
7539
7626
|
label: "Arkade",
|
|
7540
7627
|
description: "Receive directly into your Arkade account. Low fees, near-instant settlement.",
|
|
7541
|
-
icon: /* @__PURE__ */ (0,
|
|
7628
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
|
|
7542
7629
|
accentBg: "bg-network-arkade/10",
|
|
7543
7630
|
accentBorder: "border-network-arkade/30",
|
|
7544
7631
|
accentText: "text-network-arkade"
|
|
@@ -7553,20 +7640,20 @@ function DepositNetworkDefaultModal({
|
|
|
7553
7640
|
}) {
|
|
7554
7641
|
if (!open) return null;
|
|
7555
7642
|
const options = availableAccounts.map((id) => NETWORK_OPTIONS[id]).filter(Boolean);
|
|
7556
|
-
return /* @__PURE__ */ (0,
|
|
7557
|
-
/* @__PURE__ */ (0,
|
|
7558
|
-
/* @__PURE__ */ (0,
|
|
7559
|
-
/* @__PURE__ */ (0,
|
|
7560
|
-
/* @__PURE__ */ (0,
|
|
7643
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-black/60 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "w-full space-y-4 rounded-t-2xl border-t border-border bg-background px-4 pb-7 pt-5 animate-in slide-in-from-bottom-4 duration-200", children: [
|
|
7644
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
7645
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { children: [
|
|
7646
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
|
|
7647
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("p", { className: "mt-0.5 text-tiny text-white/45", children: [
|
|
7561
7648
|
"Pick how you would like to receive",
|
|
7562
7649
|
" ",
|
|
7563
|
-
/* @__PURE__ */ (0,
|
|
7650
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
|
|
7564
7651
|
" by default. You can always switch in the deposit screen."
|
|
7565
7652
|
] })
|
|
7566
7653
|
] }),
|
|
7567
|
-
/* @__PURE__ */ (0,
|
|
7654
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "space-y-2", children: options.map((option) => {
|
|
7568
7655
|
const isSuggested = option.account === suggestedAccount;
|
|
7569
|
-
return /* @__PURE__ */ (0,
|
|
7656
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7570
7657
|
"button",
|
|
7571
7658
|
{
|
|
7572
7659
|
type: "button",
|
|
@@ -7576,7 +7663,7 @@ function DepositNetworkDefaultModal({
|
|
|
7576
7663
|
isSuggested ? cn("border-2", option.accentBorder, option.accentBg) : "border border-white/8 bg-white/4 hover:bg-white/8"
|
|
7577
7664
|
),
|
|
7578
7665
|
children: [
|
|
7579
|
-
/* @__PURE__ */ (0,
|
|
7666
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7580
7667
|
"div",
|
|
7581
7668
|
{
|
|
7582
7669
|
className: cn(
|
|
@@ -7587,10 +7674,10 @@ function DepositNetworkDefaultModal({
|
|
|
7587
7674
|
children: option.icon
|
|
7588
7675
|
}
|
|
7589
7676
|
),
|
|
7590
|
-
/* @__PURE__ */ (0,
|
|
7591
|
-
/* @__PURE__ */ (0,
|
|
7592
|
-
/* @__PURE__ */ (0,
|
|
7593
|
-
isSuggested && /* @__PURE__ */ (0,
|
|
7677
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
7678
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
7679
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
|
|
7680
|
+
isSuggested && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7594
7681
|
"span",
|
|
7595
7682
|
{
|
|
7596
7683
|
className: cn(
|
|
@@ -7602,9 +7689,9 @@ function DepositNetworkDefaultModal({
|
|
|
7602
7689
|
}
|
|
7603
7690
|
)
|
|
7604
7691
|
] }),
|
|
7605
|
-
/* @__PURE__ */ (0,
|
|
7692
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
|
|
7606
7693
|
] }),
|
|
7607
|
-
/* @__PURE__ */ (0,
|
|
7694
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7608
7695
|
"span",
|
|
7609
7696
|
{
|
|
7610
7697
|
className: cn(
|
|
@@ -7624,7 +7711,7 @@ function DepositNetworkDefaultModal({
|
|
|
7624
7711
|
|
|
7625
7712
|
// src/web/components/btc-unified-receive.tsx
|
|
7626
7713
|
var import_react16 = require("react");
|
|
7627
|
-
var
|
|
7714
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
7628
7715
|
function formatSatsForRow(value) {
|
|
7629
7716
|
if (!value || value <= 0 || !Number.isFinite(value)) return null;
|
|
7630
7717
|
return `${value.toLocaleString("en-US")} sats`;
|
|
@@ -7656,46 +7743,46 @@ function BtcUnifiedReceive({
|
|
|
7656
7743
|
setInvoiceStatus(null);
|
|
7657
7744
|
setAccountReceiveResult(null);
|
|
7658
7745
|
};
|
|
7659
|
-
return /* @__PURE__ */ (0,
|
|
7660
|
-
/* @__PURE__ */ (0,
|
|
7661
|
-
/* @__PURE__ */ (0,
|
|
7662
|
-
/* @__PURE__ */ (0,
|
|
7663
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7747
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7748
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "relative flex flex-col items-center p-2", children: [
|
|
7749
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
|
|
7750
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(PaidOverlay, {})
|
|
7664
7751
|
] }),
|
|
7665
|
-
/* @__PURE__ */ (0,
|
|
7666
|
-
/* @__PURE__ */ (0,
|
|
7752
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center justify-center gap-2.5", children: [
|
|
7753
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7667
7754
|
Button,
|
|
7668
7755
|
{
|
|
7669
7756
|
variant: "surface",
|
|
7670
7757
|
size: "icon-xl",
|
|
7671
7758
|
"aria-label": `Copy ${accountReceiveResult.qrLabel}`,
|
|
7672
7759
|
onClick: () => void copyToClipboard(accountReceiveResult.qrValue),
|
|
7673
|
-
children: /* @__PURE__ */ (0,
|
|
7760
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
|
|
7674
7761
|
}
|
|
7675
7762
|
),
|
|
7676
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
7763
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7677
7764
|
Button,
|
|
7678
7765
|
{
|
|
7679
7766
|
variant: "surface",
|
|
7680
7767
|
size: "icon-xl",
|
|
7681
7768
|
"aria-label": "New address",
|
|
7682
7769
|
onClick: handleNewAddress,
|
|
7683
|
-
children: /* @__PURE__ */ (0,
|
|
7770
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: "refresh", size: "lg" })
|
|
7684
7771
|
}
|
|
7685
7772
|
),
|
|
7686
|
-
/* @__PURE__ */ (0,
|
|
7773
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7687
7774
|
Button,
|
|
7688
7775
|
{
|
|
7689
7776
|
variant: "surface",
|
|
7690
7777
|
size: "icon-xl",
|
|
7691
7778
|
"aria-label": "Edit amount and description",
|
|
7692
7779
|
onClick: () => setShowEdit(true),
|
|
7693
|
-
children: /* @__PURE__ */ (0,
|
|
7780
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: "edit", size: "lg" })
|
|
7694
7781
|
}
|
|
7695
7782
|
)
|
|
7696
7783
|
] })
|
|
7697
7784
|
] }),
|
|
7698
|
-
invoiceStatus && /* @__PURE__ */ (0,
|
|
7785
|
+
invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7699
7786
|
InvoiceStatusBanner,
|
|
7700
7787
|
{
|
|
7701
7788
|
isInvoicePending,
|
|
@@ -7704,11 +7791,11 @@ function BtcUnifiedReceive({
|
|
|
7704
7791
|
invoiceStatus
|
|
7705
7792
|
}
|
|
7706
7793
|
),
|
|
7707
|
-
/* @__PURE__ */ (0,
|
|
7708
|
-
/* @__PURE__ */ (0,
|
|
7794
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-1.5", children: [
|
|
7795
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
|
|
7709
7796
|
accountReceiveResult.addresses.map((address) => {
|
|
7710
7797
|
const network = NETWORK_CONFIG[address.network];
|
|
7711
|
-
return /* @__PURE__ */ (0,
|
|
7798
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7712
7799
|
"div",
|
|
7713
7800
|
{
|
|
7714
7801
|
className: cn(
|
|
@@ -7718,35 +7805,35 @@ function BtcUnifiedReceive({
|
|
|
7718
7805
|
style: { borderLeftWidth: 3, borderLeftColor: network.color },
|
|
7719
7806
|
onClick: () => void copyToClipboard(address.value),
|
|
7720
7807
|
children: [
|
|
7721
|
-
/* @__PURE__ */ (0,
|
|
7722
|
-
/* @__PURE__ */ (0,
|
|
7723
|
-
/* @__PURE__ */ (0,
|
|
7724
|
-
/* @__PURE__ */ (0,
|
|
7808
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
|
|
7809
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
7810
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
7811
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
|
|
7725
7812
|
(() => {
|
|
7726
7813
|
const amountLabel = formatSatsForRow(address.amountSats);
|
|
7727
|
-
return amountLabel ? /* @__PURE__ */ (0,
|
|
7814
|
+
return amountLabel ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "rounded-full bg-white/10 px-1.5 py-0.5 text-tiny font-bold tabular-nums text-white/70", children: amountLabel }) : null;
|
|
7728
7815
|
})()
|
|
7729
7816
|
] }),
|
|
7730
|
-
/* @__PURE__ */ (0,
|
|
7817
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.value.length > 50 ? `${address.value.slice(0, 18)}...${address.value.slice(-14)}` : address.value })
|
|
7731
7818
|
] }),
|
|
7732
|
-
/* @__PURE__ */ (0,
|
|
7819
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CopyIcon, { copied: copied === address.value })
|
|
7733
7820
|
]
|
|
7734
7821
|
},
|
|
7735
7822
|
address.network
|
|
7736
7823
|
);
|
|
7737
7824
|
})
|
|
7738
7825
|
] }),
|
|
7739
|
-
/* @__PURE__ */ (0,
|
|
7826
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7740
7827
|
BottomSheet,
|
|
7741
7828
|
{
|
|
7742
7829
|
open: showEdit,
|
|
7743
7830
|
title: "Edit request",
|
|
7744
|
-
icon: /* @__PURE__ */ (0,
|
|
7831
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: "edit", size: "md" }),
|
|
7745
7832
|
onClose: () => setShowEdit(false),
|
|
7746
|
-
children: /* @__PURE__ */ (0,
|
|
7747
|
-
/* @__PURE__ */ (0,
|
|
7748
|
-
/* @__PURE__ */ (0,
|
|
7749
|
-
/* @__PURE__ */ (0,
|
|
7833
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-4", children: [
|
|
7834
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-1.5", children: [
|
|
7835
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
|
|
7836
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7750
7837
|
"input",
|
|
7751
7838
|
{
|
|
7752
7839
|
type: "text",
|
|
@@ -7757,14 +7844,14 @@ function BtcUnifiedReceive({
|
|
|
7757
7844
|
inputMode: "decimal"
|
|
7758
7845
|
}
|
|
7759
7846
|
),
|
|
7760
|
-
amount && loading && /* @__PURE__ */ (0,
|
|
7761
|
-
/* @__PURE__ */ (0,
|
|
7847
|
+
amount && loading && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
|
|
7848
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7762
7849
|
"Updating invoice..."
|
|
7763
7850
|
] })
|
|
7764
7851
|
] }),
|
|
7765
|
-
onDescriptionChange && /* @__PURE__ */ (0,
|
|
7766
|
-
/* @__PURE__ */ (0,
|
|
7767
|
-
/* @__PURE__ */ (0,
|
|
7852
|
+
onDescriptionChange && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-1.5", children: [
|
|
7853
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
|
|
7854
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7768
7855
|
"input",
|
|
7769
7856
|
{
|
|
7770
7857
|
type: "text",
|
|
@@ -7775,7 +7862,7 @@ function BtcUnifiedReceive({
|
|
|
7775
7862
|
}
|
|
7776
7863
|
)
|
|
7777
7864
|
] }),
|
|
7778
|
-
/* @__PURE__ */ (0,
|
|
7865
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
|
|
7779
7866
|
] })
|
|
7780
7867
|
}
|
|
7781
7868
|
)
|
|
@@ -7783,7 +7870,7 @@ function BtcUnifiedReceive({
|
|
|
7783
7870
|
}
|
|
7784
7871
|
|
|
7785
7872
|
// src/web/components/deposit-generated-view.tsx
|
|
7786
|
-
var
|
|
7873
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
7787
7874
|
function parseAssetAmount(amountString, asset) {
|
|
7788
7875
|
const value = Number(amountString);
|
|
7789
7876
|
if (!Number.isFinite(value)) return 0;
|
|
@@ -7824,10 +7911,10 @@ function DepositGeneratedView({
|
|
|
7824
7911
|
showRegenerate = true,
|
|
7825
7912
|
onRegenerate
|
|
7826
7913
|
}) {
|
|
7827
|
-
return /* @__PURE__ */ (0,
|
|
7828
|
-
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0,
|
|
7829
|
-
/* @__PURE__ */ (0,
|
|
7830
|
-
/* @__PURE__ */ (0,
|
|
7914
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7915
|
+
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
|
|
7916
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
7917
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7831
7918
|
"input",
|
|
7832
7919
|
{
|
|
7833
7920
|
type: "text",
|
|
@@ -7838,16 +7925,16 @@ function DepositGeneratedView({
|
|
|
7838
7925
|
inputMode: "decimal"
|
|
7839
7926
|
}
|
|
7840
7927
|
),
|
|
7841
|
-
amount && /* @__PURE__ */ (0,
|
|
7842
|
-
/* @__PURE__ */ (0,
|
|
7928
|
+
amount && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
7929
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7843
7930
|
"Updating ",
|
|
7844
7931
|
network === "arkade" ? "URI" : "invoice",
|
|
7845
7932
|
"..."
|
|
7846
7933
|
] }) : network === "arkade" ? `Unified URI for ${amount} ${getUnitLabel()}` : `Invoice for ${amount} ${getUnitLabel()}` })
|
|
7847
7934
|
] }),
|
|
7848
|
-
network === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
7849
|
-
/* @__PURE__ */ (0,
|
|
7850
|
-
/* @__PURE__ */ (0,
|
|
7935
|
+
network === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl border border-white/8 bg-white/3 p-2.5", children: [
|
|
7936
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
7937
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7851
7938
|
"input",
|
|
7852
7939
|
{
|
|
7853
7940
|
type: "text",
|
|
@@ -7858,19 +7945,19 @@ function DepositGeneratedView({
|
|
|
7858
7945
|
inputMode: "decimal"
|
|
7859
7946
|
}
|
|
7860
7947
|
),
|
|
7861
|
-
amount && /* @__PURE__ */ (0,
|
|
7862
|
-
/* @__PURE__ */ (0,
|
|
7948
|
+
amount && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
7949
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7863
7950
|
"Updating invoice..."
|
|
7864
7951
|
] }) : `Invoice for ${amount} ${getUnitLabel()}` }),
|
|
7865
|
-
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0,
|
|
7952
|
+
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "rounded-lg border border-danger/20 bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
|
|
7866
7953
|
"Exceeds max: ",
|
|
7867
7954
|
formatAssetAmount(maxDepositAmount, selectedAsset),
|
|
7868
7955
|
" ",
|
|
7869
7956
|
getUnitLabel()
|
|
7870
7957
|
] })
|
|
7871
7958
|
] }),
|
|
7872
|
-
/* @__PURE__ */ (0,
|
|
7873
|
-
/* @__PURE__ */ (0,
|
|
7959
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7960
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7874
7961
|
"div",
|
|
7875
7962
|
{
|
|
7876
7963
|
className: cn(
|
|
@@ -7879,7 +7966,7 @@ function DepositGeneratedView({
|
|
|
7879
7966
|
),
|
|
7880
7967
|
style: net.qrGlow,
|
|
7881
7968
|
children: [
|
|
7882
|
-
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0,
|
|
7969
|
+
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7883
7970
|
"div",
|
|
7884
7971
|
{
|
|
7885
7972
|
className: cn(
|
|
@@ -7889,21 +7976,21 @@ function DepositGeneratedView({
|
|
|
7889
7976
|
),
|
|
7890
7977
|
children: [
|
|
7891
7978
|
net.icon,
|
|
7892
|
-
/* @__PURE__ */ (0,
|
|
7979
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { children: net.label })
|
|
7893
7980
|
]
|
|
7894
7981
|
}
|
|
7895
7982
|
),
|
|
7896
|
-
/* @__PURE__ */ (0,
|
|
7897
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7983
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(QrCode, { value: address, size: 188 }),
|
|
7984
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(PaidOverlay, {}),
|
|
7898
7985
|
loading && !isInvoicePaid && // Loading scrim — sits over the QR while a fresh address/invoice
|
|
7899
7986
|
// is being fetched (e.g. after the New Address button).
|
|
7900
|
-
/* @__PURE__ */ (0,
|
|
7987
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
|
|
7901
7988
|
]
|
|
7902
7989
|
}
|
|
7903
7990
|
),
|
|
7904
7991
|
(() => {
|
|
7905
7992
|
const isAddressCopied = copied === address;
|
|
7906
|
-
return /* @__PURE__ */ (0,
|
|
7993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7907
7994
|
"button",
|
|
7908
7995
|
{
|
|
7909
7996
|
type: "button",
|
|
@@ -7916,14 +8003,14 @@ function DepositGeneratedView({
|
|
|
7916
8003
|
void copyToClipboard(address);
|
|
7917
8004
|
},
|
|
7918
8005
|
children: [
|
|
7919
|
-
/* @__PURE__ */ (0,
|
|
8006
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
|
|
7920
8007
|
isAddressCopied ? "Copied" : network === "lightning" ? "Copy Invoice" : "Copy Address"
|
|
7921
8008
|
]
|
|
7922
8009
|
}
|
|
7923
8010
|
);
|
|
7924
8011
|
})()
|
|
7925
8012
|
] }),
|
|
7926
|
-
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0,
|
|
8013
|
+
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7927
8014
|
InvoiceStatusBanner,
|
|
7928
8015
|
{
|
|
7929
8016
|
isInvoicePending,
|
|
@@ -7932,7 +8019,7 @@ function DepositGeneratedView({
|
|
|
7932
8019
|
invoiceStatus
|
|
7933
8020
|
}
|
|
7934
8021
|
),
|
|
7935
|
-
/* @__PURE__ */ (0,
|
|
8022
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7936
8023
|
"div",
|
|
7937
8024
|
{
|
|
7938
8025
|
"data-testid": "deposit-generated-address",
|
|
@@ -7945,16 +8032,16 @@ function DepositGeneratedView({
|
|
|
7945
8032
|
style: { borderLeftWidth: 3, borderLeftColor: net.color },
|
|
7946
8033
|
onClick: () => void copyToClipboard(address),
|
|
7947
8034
|
children: [
|
|
7948
|
-
/* @__PURE__ */ (0,
|
|
7949
|
-
/* @__PURE__ */ (0,
|
|
7950
|
-
/* @__PURE__ */ (0,
|
|
7951
|
-
/* @__PURE__ */ (0,
|
|
8035
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
|
|
8036
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8037
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
|
|
8038
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: address.length > 50 ? `${address.slice(0, 18)}...${address.slice(-14)}` : address })
|
|
7952
8039
|
] }),
|
|
7953
|
-
/* @__PURE__ */ (0,
|
|
8040
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(CopyIcon, { copied: copied === address })
|
|
7954
8041
|
]
|
|
7955
8042
|
}
|
|
7956
8043
|
),
|
|
7957
|
-
recipientId && /* @__PURE__ */ (0,
|
|
8044
|
+
recipientId && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7958
8045
|
"div",
|
|
7959
8046
|
{
|
|
7960
8047
|
className: cn(
|
|
@@ -7964,16 +8051,16 @@ function DepositGeneratedView({
|
|
|
7964
8051
|
style: { borderLeftWidth: 3, borderLeftColor: "var(--primary)" },
|
|
7965
8052
|
onClick: () => void copyToClipboard(recipientId),
|
|
7966
8053
|
children: [
|
|
7967
|
-
/* @__PURE__ */ (0,
|
|
7968
|
-
/* @__PURE__ */ (0,
|
|
7969
|
-
/* @__PURE__ */ (0,
|
|
7970
|
-
/* @__PURE__ */ (0,
|
|
8054
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
|
|
8055
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8056
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
|
|
8057
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mt-0.5 truncate font-mono text-tiny text-muted-foreground", children: recipientId.length > 50 ? `${recipientId.slice(0, 18)}...${recipientId.slice(-14)}` : recipientId })
|
|
7971
8058
|
] }),
|
|
7972
|
-
/* @__PURE__ */ (0,
|
|
8059
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(CopyIcon, { copied: copied === recipientId })
|
|
7973
8060
|
]
|
|
7974
8061
|
}
|
|
7975
8062
|
),
|
|
7976
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
8063
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7977
8064
|
"button",
|
|
7978
8065
|
{
|
|
7979
8066
|
type: "button",
|
|
@@ -7991,7 +8078,7 @@ function DepositGeneratedView({
|
|
|
7991
8078
|
setInvoiceStatus(null);
|
|
7992
8079
|
},
|
|
7993
8080
|
className: "flex size-10 items-center justify-center rounded-full bg-primary/15 text-primary transition-all hover:bg-primary/25 active:scale-[0.98] disabled:opacity-50",
|
|
7994
|
-
children: /* @__PURE__ */ (0,
|
|
8081
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7995
8082
|
"span",
|
|
7996
8083
|
{
|
|
7997
8084
|
className: cn("material-symbols-outlined text-icon-md", loading && "animate-spin"),
|
|
@@ -8004,7 +8091,7 @@ function DepositGeneratedView({
|
|
|
8004
8091
|
}
|
|
8005
8092
|
|
|
8006
8093
|
// src/web/components/deposit-pre-generation.tsx
|
|
8007
|
-
var
|
|
8094
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
8008
8095
|
var ACCOUNT_TITLES = {
|
|
8009
8096
|
RGB: "RGB & Lightning",
|
|
8010
8097
|
SPARK: "Spark",
|
|
@@ -8049,58 +8136,58 @@ function DepositPreGeneration({
|
|
|
8049
8136
|
}) {
|
|
8050
8137
|
const method = METHOD_META2[currentMethod];
|
|
8051
8138
|
const isRgbOnchain = network === "onchain" && !isBtc;
|
|
8052
|
-
return /* @__PURE__ */ (0,
|
|
8053
|
-
showReceiveSummary && /* @__PURE__ */ (0,
|
|
8054
|
-
/* @__PURE__ */ (0,
|
|
8055
|
-
/* @__PURE__ */ (0,
|
|
8056
|
-
/* @__PURE__ */ (0,
|
|
8057
|
-
/* @__PURE__ */ (0,
|
|
8058
|
-
/* @__PURE__ */ (0,
|
|
8139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-3", children: [
|
|
8140
|
+
showReceiveSummary && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "rounded-2xl border border-white/8 bg-white/4 p-3", children: [
|
|
8141
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
|
|
8142
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
|
|
8143
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8144
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-white/45", children: "Asset" }),
|
|
8145
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
|
|
8059
8146
|
] }),
|
|
8060
|
-
/* @__PURE__ */ (0,
|
|
8061
|
-
/* @__PURE__ */ (0,
|
|
8062
|
-
/* @__PURE__ */ (0,
|
|
8147
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8148
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-white/45", children: "Destination account" }),
|
|
8149
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
|
|
8063
8150
|
] }),
|
|
8064
|
-
/* @__PURE__ */ (0,
|
|
8065
|
-
/* @__PURE__ */ (0,
|
|
8066
|
-
/* @__PURE__ */ (0,
|
|
8151
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8152
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-white/45", children: "Transfer method" }),
|
|
8153
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-bold text-white", children: method.label })
|
|
8067
8154
|
] }),
|
|
8068
|
-
/* @__PURE__ */ (0,
|
|
8155
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny text-white/35", children: method.summary })
|
|
8069
8156
|
] })
|
|
8070
8157
|
] }),
|
|
8071
|
-
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
8072
|
-
/* @__PURE__ */ (0,
|
|
8073
|
-
/* @__PURE__ */ (0,
|
|
8158
|
+
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center gap-2.5 rounded-xl border bg-card p-3", children: [
|
|
8159
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
|
|
8160
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
|
|
8074
8161
|
] }),
|
|
8075
|
-
showChannelWarning && /* @__PURE__ */ (0,
|
|
8076
|
-
/* @__PURE__ */ (0,
|
|
8077
|
-
/* @__PURE__ */ (0,
|
|
8162
|
+
showChannelWarning && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8163
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
|
|
8164
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
|
|
8078
8165
|
] }),
|
|
8079
|
-
showLiquidityWarning && /* @__PURE__ */ (0,
|
|
8080
|
-
/* @__PURE__ */ (0,
|
|
8081
|
-
/* @__PURE__ */ (0,
|
|
8166
|
+
showLiquidityWarning && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8167
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
|
|
8168
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "text-tiny text-warning/70", children: [
|
|
8082
8169
|
"No channels with inbound capacity for ",
|
|
8083
8170
|
selectedAsset?.ticker ?? "this asset",
|
|
8084
8171
|
"."
|
|
8085
8172
|
] })
|
|
8086
8173
|
] }),
|
|
8087
|
-
isAutoGenerate && loading && /* @__PURE__ */ (0,
|
|
8088
|
-
/* @__PURE__ */ (0,
|
|
8089
|
-
/* @__PURE__ */ (0,
|
|
8090
|
-
/* @__PURE__ */ (0,
|
|
8174
|
+
isAutoGenerate && loading && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8175
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: cn("flex size-16 items-center justify-center rounded-2xl border", net.bg, net.border), children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
|
|
8176
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
8177
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "text-sm font-bold text-muted-foreground", children: [
|
|
8091
8178
|
"Generating ",
|
|
8092
8179
|
network === "lightning" ? "invoice" : "address",
|
|
8093
8180
|
"..."
|
|
8094
8181
|
] }),
|
|
8095
|
-
/* @__PURE__ */ (0,
|
|
8182
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "text-xs text-white/30", children: [
|
|
8096
8183
|
net.label,
|
|
8097
8184
|
" network"
|
|
8098
8185
|
] })
|
|
8099
8186
|
] })
|
|
8100
8187
|
] }),
|
|
8101
|
-
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0,
|
|
8102
|
-
/* @__PURE__ */ (0,
|
|
8103
|
-
/* @__PURE__ */ (0,
|
|
8188
|
+
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8189
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
|
|
8190
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8104
8191
|
"input",
|
|
8105
8192
|
{
|
|
8106
8193
|
type: "text",
|
|
@@ -8112,15 +8199,15 @@ function DepositPreGeneration({
|
|
|
8112
8199
|
className: "w-full rounded-xl border bg-white/5 px-3 py-2.5 font-mono text-sm text-white transition-all placeholder:text-white/20 focus:border-primary/50 focus:outline-none"
|
|
8113
8200
|
}
|
|
8114
8201
|
),
|
|
8115
|
-
/* @__PURE__ */ (0,
|
|
8202
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs text-white/35", children: "Enter a specific asset ID to receive it, or leave empty to accept any RGB asset to this invoice." })
|
|
8116
8203
|
] }),
|
|
8117
|
-
isRgbOnchain && /* @__PURE__ */ (0,
|
|
8118
|
-
/* @__PURE__ */ (0,
|
|
8119
|
-
/* @__PURE__ */ (0,
|
|
8120
|
-
/* @__PURE__ */ (0,
|
|
8121
|
-
/* @__PURE__ */ (0,
|
|
8204
|
+
isRgbOnchain && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-2.5 rounded-xl border bg-card p-3", children: [
|
|
8205
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8206
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8207
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
|
|
8208
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
|
|
8122
8209
|
] }),
|
|
8123
|
-
/* @__PURE__ */ (0,
|
|
8210
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8124
8211
|
"button",
|
|
8125
8212
|
{
|
|
8126
8213
|
type: "button",
|
|
@@ -8130,7 +8217,7 @@ function DepositPreGeneration({
|
|
|
8130
8217
|
usePrivacy ? "bg-primary" : "bg-white/10"
|
|
8131
8218
|
),
|
|
8132
8219
|
onClick: () => setUsePrivacy(!usePrivacy),
|
|
8133
|
-
children: /* @__PURE__ */ (0,
|
|
8220
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8134
8221
|
"span",
|
|
8135
8222
|
{
|
|
8136
8223
|
className: cn(
|
|
@@ -8142,8 +8229,8 @@ function DepositPreGeneration({
|
|
|
8142
8229
|
}
|
|
8143
8230
|
)
|
|
8144
8231
|
] }),
|
|
8145
|
-
/* @__PURE__ */ (0,
|
|
8146
|
-
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0,
|
|
8232
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny leading-relaxed text-white/45", children: usePrivacy ? "Blinded: the sender never sees which UTXO you receive into. Spends one of your colorable UTXOs as the receiving slot." : "Witness: the sender creates the receiving UTXO for you. No colorable UTXO needed, but the sender sees the receiving output." }),
|
|
8233
|
+
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
8147
8234
|
"div",
|
|
8148
8235
|
{
|
|
8149
8236
|
className: cn(
|
|
@@ -8151,26 +8238,26 @@ function DepositPreGeneration({
|
|
|
8151
8238
|
colorableUtxoCount > 0 ? "border-success/20 bg-success/5 text-success/80" : "border-warning/20 bg-warning/5 text-warning/80"
|
|
8152
8239
|
),
|
|
8153
8240
|
children: [
|
|
8154
|
-
/* @__PURE__ */ (0,
|
|
8155
|
-
/* @__PURE__ */ (0,
|
|
8241
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-medium", children: "Available colorable UTXOs" }),
|
|
8242
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-mono font-bold", children: colorableUtxoCount })
|
|
8156
8243
|
]
|
|
8157
8244
|
}
|
|
8158
8245
|
),
|
|
8159
|
-
usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ (0,
|
|
8246
|
+
usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny text-warning/70", children: "None available \u2014 create a colorable UTXO below to receive privately, or switch off privacy to use a witness receive." })
|
|
8160
8247
|
] }),
|
|
8161
|
-
network === "onchain" && !isBtc && /* @__PURE__ */ (0,
|
|
8162
|
-
/* @__PURE__ */ (0,
|
|
8163
|
-
/* @__PURE__ */ (0,
|
|
8248
|
+
network === "onchain" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8249
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
8250
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
|
|
8164
8251
|
"Amount (",
|
|
8165
8252
|
getUnitLabel(),
|
|
8166
8253
|
") - Optional"
|
|
8167
8254
|
] }),
|
|
8168
|
-
selectedAsset && /* @__PURE__ */ (0,
|
|
8255
|
+
selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "text-xxs text-white/30", children: [
|
|
8169
8256
|
selectedAsset.precision ?? 0,
|
|
8170
8257
|
" decimals"
|
|
8171
8258
|
] })
|
|
8172
8259
|
] }),
|
|
8173
|
-
/* @__PURE__ */ (0,
|
|
8260
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8174
8261
|
"input",
|
|
8175
8262
|
{
|
|
8176
8263
|
type: "text",
|
|
@@ -8182,18 +8269,18 @@ function DepositPreGeneration({
|
|
|
8182
8269
|
}
|
|
8183
8270
|
)
|
|
8184
8271
|
] }),
|
|
8185
|
-
needsColorableUtxos && /* @__PURE__ */ (0,
|
|
8186
|
-
/* @__PURE__ */ (0,
|
|
8187
|
-
/* @__PURE__ */ (0,
|
|
8272
|
+
needsColorableUtxos && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8273
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
|
|
8274
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny text-warning/70", children: "To receive RGB assets on-chain you need at least one uncolored UTXO. Create some now and the invoice will be generated automatically." })
|
|
8188
8275
|
] }),
|
|
8189
|
-
!isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ (0,
|
|
8190
|
-
/* @__PURE__ */ (0,
|
|
8276
|
+
!isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8277
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
|
|
8191
8278
|
"Create Colorable UTXOs"
|
|
8192
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
8193
|
-
/* @__PURE__ */ (0,
|
|
8279
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8280
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
|
|
8194
8281
|
"Generating..."
|
|
8195
|
-
] }) : /* @__PURE__ */ (0,
|
|
8196
|
-
/* @__PURE__ */ (0,
|
|
8282
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8283
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
|
|
8197
8284
|
"Generate Address"
|
|
8198
8285
|
] }) }))
|
|
8199
8286
|
] });
|
|
@@ -8201,7 +8288,7 @@ function DepositPreGeneration({
|
|
|
8201
8288
|
|
|
8202
8289
|
// src/web/components/deposit-asset-selection.tsx
|
|
8203
8290
|
var import_react17 = require("react");
|
|
8204
|
-
var
|
|
8291
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
8205
8292
|
var ADD_ASSET_SUBTITLE = {
|
|
8206
8293
|
RGB: "RGB asset on Bitcoin",
|
|
8207
8294
|
SPARK: "Spark-native asset",
|
|
@@ -8278,8 +8365,8 @@ function DepositAssetSelection({
|
|
|
8278
8365
|
titleHoverClass: "group-hover:text-network-arkade"
|
|
8279
8366
|
}
|
|
8280
8367
|
].filter((option) => option.enabled);
|
|
8281
|
-
return /* @__PURE__ */ (0,
|
|
8282
|
-
/* @__PURE__ */ (0,
|
|
8368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
8369
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8283
8370
|
Button,
|
|
8284
8371
|
{
|
|
8285
8372
|
type: "button",
|
|
@@ -8287,10 +8374,10 @@ function DepositAssetSelection({
|
|
|
8287
8374
|
size: "icon-xl",
|
|
8288
8375
|
onClick: () => setCurrentView("dashboard"),
|
|
8289
8376
|
"aria-label": "Go back",
|
|
8290
|
-
children: /* @__PURE__ */ (0,
|
|
8377
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "arrow_back", size: "xl" })
|
|
8291
8378
|
}
|
|
8292
8379
|
) }),
|
|
8293
|
-
/* @__PURE__ */ (0,
|
|
8380
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8294
8381
|
DotPagination,
|
|
8295
8382
|
{
|
|
8296
8383
|
count: 2,
|
|
@@ -8298,8 +8385,8 @@ function DepositAssetSelection({
|
|
|
8298
8385
|
ariaLabel: "Deposit step 1 of 2: select asset"
|
|
8299
8386
|
}
|
|
8300
8387
|
) }),
|
|
8301
|
-
/* @__PURE__ */ (0,
|
|
8302
|
-
/* @__PURE__ */ (0,
|
|
8388
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "relative", children: [
|
|
8389
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8303
8390
|
Icon,
|
|
8304
8391
|
{
|
|
8305
8392
|
name: "search",
|
|
@@ -8307,7 +8394,7 @@ function DepositAssetSelection({
|
|
|
8307
8394
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-white/30"
|
|
8308
8395
|
}
|
|
8309
8396
|
),
|
|
8310
|
-
/* @__PURE__ */ (0,
|
|
8397
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8311
8398
|
"input",
|
|
8312
8399
|
{
|
|
8313
8400
|
autoFocus: true,
|
|
@@ -8320,8 +8407,8 @@ function DepositAssetSelection({
|
|
|
8320
8407
|
}
|
|
8321
8408
|
)
|
|
8322
8409
|
] }) }),
|
|
8323
|
-
/* @__PURE__ */ (0,
|
|
8324
|
-
btcAsset && /* @__PURE__ */ (0,
|
|
8410
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
|
|
8411
|
+
btcAsset && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8325
8412
|
"button",
|
|
8326
8413
|
{
|
|
8327
8414
|
type: "button",
|
|
@@ -8329,27 +8416,27 @@ function DepositAssetSelection({
|
|
|
8329
8416
|
className: "group flex w-full min-w-0 items-center gap-3 overflow-hidden rounded-2xl bg-white/3 px-4 py-3 text-sm transition-all hover:bg-accent",
|
|
8330
8417
|
onClick: () => onSelectAsset(btcAsset),
|
|
8331
8418
|
children: [
|
|
8332
|
-
/* @__PURE__ */ (0,
|
|
8333
|
-
/* @__PURE__ */ (0,
|
|
8334
|
-
/* @__PURE__ */ (0,
|
|
8335
|
-
/* @__PURE__ */ (0,
|
|
8419
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
|
|
8420
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8421
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
|
|
8422
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
|
|
8336
8423
|
] }),
|
|
8337
|
-
/* @__PURE__ */ (0,
|
|
8338
|
-
/* @__PURE__ */ (0,
|
|
8339
|
-
/* @__PURE__ */ (0,
|
|
8340
|
-
isSparkConnected && /* @__PURE__ */ (0,
|
|
8341
|
-
isArkadeConnected && /* @__PURE__ */ (0,
|
|
8424
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
|
|
8425
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
|
|
8426
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
|
|
8427
|
+
isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
|
|
8428
|
+
isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "Arkade", size: "sm" })
|
|
8342
8429
|
] }),
|
|
8343
|
-
/* @__PURE__ */ (0,
|
|
8430
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
|
|
8344
8431
|
]
|
|
8345
8432
|
}
|
|
8346
8433
|
),
|
|
8347
|
-
noResults ? /* @__PURE__ */ (0,
|
|
8434
|
+
noResults ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "py-8 text-center text-sm text-white/30", children: [
|
|
8348
8435
|
'No assets match "',
|
|
8349
8436
|
searchQuery,
|
|
8350
8437
|
'"'
|
|
8351
|
-
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0,
|
|
8352
|
-
/* @__PURE__ */ (0,
|
|
8438
|
+
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-1.5 pt-1", children: [
|
|
8439
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8353
8440
|
"button",
|
|
8354
8441
|
{
|
|
8355
8442
|
type: "button",
|
|
@@ -8362,17 +8449,17 @@ function DepositAssetSelection({
|
|
|
8362
8449
|
isSearching && "cursor-default"
|
|
8363
8450
|
),
|
|
8364
8451
|
children: [
|
|
8365
|
-
/* @__PURE__ */ (0,
|
|
8366
|
-
/* @__PURE__ */ (0,
|
|
8367
|
-
/* @__PURE__ */ (0,
|
|
8368
|
-
!isSearching && /* @__PURE__ */ (0,
|
|
8452
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
|
|
8453
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "inline-flex size-5 items-center justify-center rounded-full bg-white/10 text-tiny font-bold text-white/70", children: ownedAssetsCount }),
|
|
8454
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex-1" }),
|
|
8455
|
+
!isSearching && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
|
|
8369
8456
|
]
|
|
8370
8457
|
}
|
|
8371
8458
|
),
|
|
8372
|
-
showOwnedAssets && /* @__PURE__ */ (0,
|
|
8459
|
+
showOwnedAssets && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
|
|
8373
8460
|
const protocolBadge = asset.accountId ? PROTOCOL_BADGE[asset.accountId] : null;
|
|
8374
8461
|
const balance = asset.balance ?? 0;
|
|
8375
|
-
return /* @__PURE__ */ (0,
|
|
8462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8376
8463
|
"button",
|
|
8377
8464
|
{
|
|
8378
8465
|
type: "button",
|
|
@@ -8380,11 +8467,11 @@ function DepositAssetSelection({
|
|
|
8380
8467
|
className: "group flex w-full min-w-0 items-center gap-3 overflow-hidden rounded-2xl border border-white/8 bg-white/3 px-4 py-3 text-sm transition-all hover:border-border hover:bg-accent",
|
|
8381
8468
|
onClick: () => onSelectAsset(asset),
|
|
8382
8469
|
children: [
|
|
8383
|
-
/* @__PURE__ */ (0,
|
|
8384
|
-
/* @__PURE__ */ (0,
|
|
8385
|
-
/* @__PURE__ */ (0,
|
|
8386
|
-
/* @__PURE__ */ (0,
|
|
8387
|
-
protocolBadge && /* @__PURE__ */ (0,
|
|
8470
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
|
|
8471
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8472
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
8473
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
|
|
8474
|
+
protocolBadge && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8388
8475
|
"span",
|
|
8389
8476
|
{
|
|
8390
8477
|
className: cn(
|
|
@@ -8395,36 +8482,36 @@ function DepositAssetSelection({
|
|
|
8395
8482
|
}
|
|
8396
8483
|
)
|
|
8397
8484
|
] }),
|
|
8398
|
-
/* @__PURE__ */ (0,
|
|
8485
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
|
|
8399
8486
|
] }),
|
|
8400
|
-
balance > 0 && /* @__PURE__ */ (0,
|
|
8401
|
-
/* @__PURE__ */ (0,
|
|
8402
|
-
/* @__PURE__ */ (0,
|
|
8487
|
+
balance > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex-shrink-0 text-right", children: [
|
|
8488
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "font-mono text-xs font-bold text-white", children: formatAssetBalance(asset) }),
|
|
8489
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
|
|
8403
8490
|
] }),
|
|
8404
|
-
/* @__PURE__ */ (0,
|
|
8491
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-sm text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
|
|
8405
8492
|
]
|
|
8406
8493
|
},
|
|
8407
8494
|
asset.asset_id
|
|
8408
8495
|
);
|
|
8409
8496
|
}) })
|
|
8410
8497
|
] }) : null,
|
|
8411
|
-
!searchQuery && /* @__PURE__ */ (0,
|
|
8498
|
+
!searchQuery && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8412
8499
|
"button",
|
|
8413
8500
|
{
|
|
8414
8501
|
type: "button",
|
|
8415
8502
|
onClick: () => setCurrentView("bridge"),
|
|
8416
8503
|
className: "group flex w-full items-center gap-3 rounded-2xl bg-gradient-to-r from-primary/10 to-primary/5 p-3 transition-all hover:from-primary/20 hover:to-primary/10",
|
|
8417
8504
|
children: [
|
|
8418
|
-
/* @__PURE__ */ (0,
|
|
8419
|
-
/* @__PURE__ */ (0,
|
|
8420
|
-
/* @__PURE__ */ (0,
|
|
8421
|
-
/* @__PURE__ */ (0,
|
|
8505
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
|
|
8506
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex-1 text-left", children: [
|
|
8507
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
|
|
8508
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
|
|
8422
8509
|
] }),
|
|
8423
|
-
/* @__PURE__ */ (0,
|
|
8510
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
|
|
8424
8511
|
]
|
|
8425
8512
|
}
|
|
8426
8513
|
) }),
|
|
8427
|
-
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0,
|
|
8514
|
+
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8428
8515
|
"button",
|
|
8429
8516
|
{
|
|
8430
8517
|
type: "button",
|
|
@@ -8432,27 +8519,27 @@ function DepositAssetSelection({
|
|
|
8432
8519
|
onClick: () => setShowAddAssetModal(true),
|
|
8433
8520
|
className: "group flex w-full items-center gap-3 rounded-2xl border border-white/8 bg-white/3 p-3 transition-all hover:border-border hover:bg-accent",
|
|
8434
8521
|
children: [
|
|
8435
|
-
/* @__PURE__ */ (0,
|
|
8436
|
-
/* @__PURE__ */ (0,
|
|
8437
|
-
/* @__PURE__ */ (0,
|
|
8438
|
-
/* @__PURE__ */ (0,
|
|
8522
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "add", size: "md", className: "text-primary" }) }),
|
|
8523
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex-1 text-left", children: [
|
|
8524
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
|
|
8525
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "text-xxs leading-tight text-white/40", children: [
|
|
8439
8526
|
"Receive a new ",
|
|
8440
8527
|
newAssetOptions.map((o) => o.ticker).join(", "),
|
|
8441
8528
|
" asset"
|
|
8442
8529
|
] })
|
|
8443
8530
|
] }),
|
|
8444
|
-
/* @__PURE__ */ (0,
|
|
8531
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
|
|
8445
8532
|
]
|
|
8446
8533
|
}
|
|
8447
8534
|
) })
|
|
8448
8535
|
] }),
|
|
8449
|
-
/* @__PURE__ */ (0,
|
|
8536
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8450
8537
|
BottomSheet,
|
|
8451
8538
|
{
|
|
8452
8539
|
open: showAddAssetModal,
|
|
8453
8540
|
title: "Add an asset",
|
|
8454
8541
|
onClose: () => setShowAddAssetModal(false),
|
|
8455
|
-
children: /* @__PURE__ */ (0,
|
|
8542
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8456
8543
|
"button",
|
|
8457
8544
|
{
|
|
8458
8545
|
type: "button",
|
|
@@ -8466,12 +8553,12 @@ function DepositAssetSelection({
|
|
|
8466
8553
|
handleAddNewAsset(option.account);
|
|
8467
8554
|
},
|
|
8468
8555
|
children: [
|
|
8469
|
-
/* @__PURE__ */ (0,
|
|
8470
|
-
/* @__PURE__ */ (0,
|
|
8471
|
-
/* @__PURE__ */ (0,
|
|
8472
|
-
/* @__PURE__ */ (0,
|
|
8556
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
|
|
8557
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8558
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
|
|
8559
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
|
|
8473
8560
|
] }),
|
|
8474
|
-
/* @__PURE__ */ (0,
|
|
8561
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
|
|
8475
8562
|
]
|
|
8476
8563
|
},
|
|
8477
8564
|
option.account
|
|
@@ -8482,7 +8569,7 @@ function DepositAssetSelection({
|
|
|
8482
8569
|
}
|
|
8483
8570
|
|
|
8484
8571
|
// src/web/components/deposit-invoice-generation.tsx
|
|
8485
|
-
var
|
|
8572
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
8486
8573
|
var ACCOUNT_TITLES2 = {
|
|
8487
8574
|
RGB: "RGB & Lightning",
|
|
8488
8575
|
SPARK: "Spark",
|
|
@@ -8637,7 +8724,7 @@ function DepositInvoiceGeneration({
|
|
|
8637
8724
|
if (nextMethod) applyMethodSelection(account, nextMethod);
|
|
8638
8725
|
};
|
|
8639
8726
|
if (depositDetected) {
|
|
8640
|
-
return /* @__PURE__ */ (0,
|
|
8727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8641
8728
|
DepositSuccessScreen,
|
|
8642
8729
|
{
|
|
8643
8730
|
handleDone,
|
|
@@ -8654,15 +8741,15 @@ function DepositInvoiceGeneration({
|
|
|
8654
8741
|
const showChannelWarning = selectedAccount === "RGB" && network === "lightning" && !channelsLoading && channels.length === 0 && !isSparkConnected;
|
|
8655
8742
|
const showLiquidityWarning = !isSparkLightning && network === "lightning" && maxDepositAmount === 0 && !channelsLoading && !isBtc;
|
|
8656
8743
|
const isNewRgbAsset = isNewAsset && assetFamily === "RGB";
|
|
8657
|
-
return /* @__PURE__ */ (0,
|
|
8658
|
-
/* @__PURE__ */ (0,
|
|
8744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
8745
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Icon, { name: "arrow_back", size: "xl" }) }) }),
|
|
8659
8746
|
(() => {
|
|
8660
8747
|
const hideDestinationRail = isNewAsset && (network === "spark" || network === "arkade");
|
|
8661
8748
|
if (hideDestinationRail) return null;
|
|
8662
|
-
return /* @__PURE__ */ (0,
|
|
8663
|
-
/* @__PURE__ */ (0,
|
|
8664
|
-
/* @__PURE__ */ (0,
|
|
8665
|
-
/* @__PURE__ */ (0,
|
|
8749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "flex-shrink-0 border-b border-border bg-background px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-2", children: [
|
|
8750
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { children: [
|
|
8751
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
|
|
8752
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8666
8753
|
AccountChoiceChip,
|
|
8667
8754
|
{
|
|
8668
8755
|
account,
|
|
@@ -8687,9 +8774,9 @@ function DepositInvoiceGeneration({
|
|
|
8687
8774
|
account
|
|
8688
8775
|
)) })
|
|
8689
8776
|
] }),
|
|
8690
|
-
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0,
|
|
8691
|
-
/* @__PURE__ */ (0,
|
|
8692
|
-
/* @__PURE__ */ (0,
|
|
8777
|
+
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { children: [
|
|
8778
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
|
|
8779
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: methodOptions.map(({ method, enabled, disabledReason }) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8693
8780
|
MethodChoiceChip,
|
|
8694
8781
|
{
|
|
8695
8782
|
method,
|
|
@@ -8703,7 +8790,7 @@ function DepositInvoiceGeneration({
|
|
|
8703
8790
|
] })
|
|
8704
8791
|
] }) });
|
|
8705
8792
|
})(),
|
|
8706
|
-
/* @__PURE__ */ (0,
|
|
8793
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8707
8794
|
BtcUnifiedReceive,
|
|
8708
8795
|
{
|
|
8709
8796
|
btcSelectedAccount,
|
|
@@ -8723,8 +8810,8 @@ function DepositInvoiceGeneration({
|
|
|
8723
8810
|
setAccountReceiveResult,
|
|
8724
8811
|
handleDone
|
|
8725
8812
|
}
|
|
8726
|
-
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0,
|
|
8727
|
-
/* @__PURE__ */ (0,
|
|
8813
|
+
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8814
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8728
8815
|
"div",
|
|
8729
8816
|
{
|
|
8730
8817
|
className: cn(
|
|
@@ -8732,7 +8819,7 @@ function DepositInvoiceGeneration({
|
|
|
8732
8819
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].bg,
|
|
8733
8820
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].border
|
|
8734
8821
|
),
|
|
8735
|
-
children: /* @__PURE__ */ (0,
|
|
8822
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8736
8823
|
"span",
|
|
8737
8824
|
{
|
|
8738
8825
|
className: cn(
|
|
@@ -8744,11 +8831,11 @@ function DepositInvoiceGeneration({
|
|
|
8744
8831
|
)
|
|
8745
8832
|
}
|
|
8746
8833
|
),
|
|
8747
|
-
/* @__PURE__ */ (0,
|
|
8748
|
-
/* @__PURE__ */ (0,
|
|
8749
|
-
/* @__PURE__ */ (0,
|
|
8834
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
8835
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
|
|
8836
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
|
|
8750
8837
|
] })
|
|
8751
|
-
] }) : !address ? /* @__PURE__ */ (0,
|
|
8838
|
+
] }) : !address ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8752
8839
|
DepositPreGeneration,
|
|
8753
8840
|
{
|
|
8754
8841
|
selectedAsset,
|
|
@@ -8772,7 +8859,7 @@ function DepositInvoiceGeneration({
|
|
|
8772
8859
|
onOpenCreateUtxos,
|
|
8773
8860
|
showReceiveSummary: !isNewRgbAsset
|
|
8774
8861
|
}
|
|
8775
|
-
) : /* @__PURE__ */ (0,
|
|
8862
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8776
8863
|
DepositGeneratedView,
|
|
8777
8864
|
{
|
|
8778
8865
|
network,
|
|
@@ -8922,6 +9009,7 @@ function DepositInvoiceGeneration({
|
|
|
8922
9009
|
StepperNumberInput,
|
|
8923
9010
|
SwapInputCard,
|
|
8924
9011
|
Switch,
|
|
9012
|
+
SwitchRow,
|
|
8925
9013
|
Tabs,
|
|
8926
9014
|
TabsContent,
|
|
8927
9015
|
TabsList,
|