kaleido-ui 0.1.76 → 0.1.78
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 +679 -628
- package/dist/web/index.d.cts +19 -2
- package/dist/web/index.d.ts +19 -2
- package/dist/web/index.js +677 -628
- package/package.json +1 -1
package/dist/web/index.cjs
CHANGED
|
@@ -113,6 +113,7 @@ __export(web_exports, {
|
|
|
113
113
|
NetworkBadge: () => NetworkBadge,
|
|
114
114
|
NetworkInfoDisclosure: () => NetworkInfoDisclosure,
|
|
115
115
|
NetworkStatusChip: () => NetworkStatusChip,
|
|
116
|
+
NostrNetworkIcon: () => NostrNetworkIcon,
|
|
116
117
|
NumberInput: () => NumberInput,
|
|
117
118
|
OptionSelector: () => OptionSelector,
|
|
118
119
|
PageHeader: () => PageHeader,
|
|
@@ -147,6 +148,7 @@ __export(web_exports, {
|
|
|
147
148
|
StepperNumberInput: () => StepperNumberInput,
|
|
148
149
|
SwapInputCard: () => SwapInputCard,
|
|
149
150
|
Switch: () => Switch,
|
|
151
|
+
SwitchRow: () => SwitchRow,
|
|
150
152
|
Tabs: () => Tabs,
|
|
151
153
|
TabsContent: () => TabsContent,
|
|
152
154
|
TabsList: () => TabsList,
|
|
@@ -2163,6 +2165,19 @@ function ArkadeNetworkIcon({
|
|
|
2163
2165
|
}
|
|
2164
2166
|
);
|
|
2165
2167
|
}
|
|
2168
|
+
function NostrNetworkIcon({
|
|
2169
|
+
className = "size-3.5",
|
|
2170
|
+
alt = "Nostr"
|
|
2171
|
+
}) {
|
|
2172
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2173
|
+
"img",
|
|
2174
|
+
{
|
|
2175
|
+
src: "/icons/nostr-icon.svg",
|
|
2176
|
+
alt,
|
|
2177
|
+
className: cn("object-contain", className)
|
|
2178
|
+
}
|
|
2179
|
+
);
|
|
2180
|
+
}
|
|
2166
2181
|
function RgbNetworkIcon({ className = "size-3.5", alt = "RGB" }) {
|
|
2167
2182
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("img", { src: protocolIcons["RGB20"], alt, className: cn("object-contain", className) });
|
|
2168
2183
|
}
|
|
@@ -2857,7 +2872,10 @@ var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
|
2857
2872
|
var SUPPORTED_ACCOUNT_NETWORKS = {
|
|
2858
2873
|
RGB: ["regtest", "testnet", "signet"],
|
|
2859
2874
|
SPARK: ["regtest", "mainnet"],
|
|
2860
|
-
ARKADE: ["signet", "mainnet"]
|
|
2875
|
+
ARKADE: ["signet", "mainnet"],
|
|
2876
|
+
// Nostr is network-agnostic; mainnet is the placeholder consumers pass
|
|
2877
|
+
// (the network chip is typically hidden for NOSTR rows anyway).
|
|
2878
|
+
NOSTR: ["mainnet"]
|
|
2861
2879
|
};
|
|
2862
2880
|
function getAccountNetworkLabel(network) {
|
|
2863
2881
|
switch (network) {
|
|
@@ -2900,6 +2918,9 @@ function AccountHeaderIcons({ accountId }) {
|
|
|
2900
2918
|
if (accountId === "SPARK") {
|
|
2901
2919
|
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "flex size-10 items-center justify-center rounded-full bg-info/10 shadow-inner", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "Spark", className: "size-5 object-contain" }) });
|
|
2902
2920
|
}
|
|
2921
|
+
if (accountId === "NOSTR") {
|
|
2922
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "flex size-10 items-center justify-center rounded-full bg-network-arkade/10 shadow-inner", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(NostrNetworkIcon, { className: "size-5" }) });
|
|
2923
|
+
}
|
|
2903
2924
|
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "flex size-10 items-center justify-center rounded-full bg-network-arkade/10 shadow-inner", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "Arkade", className: "size-5 rounded-sm object-contain" }) });
|
|
2904
2925
|
}
|
|
2905
2926
|
function getAccountStatusUi(status) {
|
|
@@ -3129,7 +3150,8 @@ function ExpandIcon({ expanded }) {
|
|
|
3129
3150
|
var ACCOUNT_ACCENT_BG = {
|
|
3130
3151
|
RGB: "bg-gradient-to-br from-primary/[0.06] via-card to-primary/[0.10]",
|
|
3131
3152
|
SPARK: "bg-gradient-to-br from-info/[0.06] via-card to-info/[0.10]",
|
|
3132
|
-
ARKADE: "bg-gradient-to-br from-network-arkade/[0.06] via-card to-network-arkade/[0.10]"
|
|
3153
|
+
ARKADE: "bg-gradient-to-br from-network-arkade/[0.06] via-card to-network-arkade/[0.10]",
|
|
3154
|
+
NOSTR: "bg-gradient-to-br from-network-arkade/[0.06] via-card to-network-arkade/[0.10]"
|
|
3133
3155
|
};
|
|
3134
3156
|
function AccountSettingsRow({
|
|
3135
3157
|
accountId,
|
|
@@ -5473,10 +5495,37 @@ function SettingItem({
|
|
|
5473
5495
|
);
|
|
5474
5496
|
}
|
|
5475
5497
|
|
|
5476
|
-
// src/web/components/
|
|
5498
|
+
// src/web/components/switch-row.tsx
|
|
5477
5499
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
5500
|
+
function SwitchRow({
|
|
5501
|
+
label,
|
|
5502
|
+
description,
|
|
5503
|
+
checked,
|
|
5504
|
+
disabled,
|
|
5505
|
+
onCheckedChange,
|
|
5506
|
+
className
|
|
5507
|
+
}) {
|
|
5508
|
+
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: [
|
|
5509
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "min-w-0", children: [
|
|
5510
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-sm font-medium text-foreground", children: label }),
|
|
5511
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "mt-0.5 text-xs leading-snug text-muted-foreground", children: description })
|
|
5512
|
+
] }),
|
|
5513
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
5514
|
+
Switch,
|
|
5515
|
+
{
|
|
5516
|
+
checked,
|
|
5517
|
+
disabled,
|
|
5518
|
+
onCheckedChange,
|
|
5519
|
+
"aria-label": label
|
|
5520
|
+
}
|
|
5521
|
+
)
|
|
5522
|
+
] });
|
|
5523
|
+
}
|
|
5524
|
+
|
|
5525
|
+
// src/web/components/section-label.tsx
|
|
5526
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
5478
5527
|
function SectionLabel({ children, className }) {
|
|
5479
|
-
return /* @__PURE__ */ (0,
|
|
5528
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
5480
5529
|
"span",
|
|
5481
5530
|
{
|
|
5482
5531
|
className: cn("text-xxs font-black uppercase tracking-eyebrow-wide text-muted-foreground", className),
|
|
@@ -5486,21 +5535,21 @@ function SectionLabel({ children, className }) {
|
|
|
5486
5535
|
}
|
|
5487
5536
|
|
|
5488
5537
|
// src/web/components/section-header.tsx
|
|
5489
|
-
var
|
|
5538
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
5490
5539
|
function SectionHeader({
|
|
5491
5540
|
children,
|
|
5492
5541
|
right,
|
|
5493
5542
|
as: Tag = "h2",
|
|
5494
5543
|
className
|
|
5495
5544
|
}) {
|
|
5496
|
-
return /* @__PURE__ */ (0,
|
|
5497
|
-
/* @__PURE__ */ (0,
|
|
5545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: cn("flex items-center justify-between gap-3 px-1", className), children: [
|
|
5546
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Tag, { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children }),
|
|
5498
5547
|
right
|
|
5499
5548
|
] });
|
|
5500
5549
|
}
|
|
5501
5550
|
|
|
5502
5551
|
// src/web/components/alert-banner.tsx
|
|
5503
|
-
var
|
|
5552
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
5504
5553
|
var variantStyles = {
|
|
5505
5554
|
error: { container: "bg-danger/40", icon: "text-danger", iconName: "error" },
|
|
5506
5555
|
warning: { container: "bg-warning/40", icon: "text-warning", iconName: "warning" },
|
|
@@ -5509,14 +5558,14 @@ var variantStyles = {
|
|
|
5509
5558
|
};
|
|
5510
5559
|
function AlertBanner({ variant = "info", icon, children, className }) {
|
|
5511
5560
|
const styles = variantStyles[variant];
|
|
5512
|
-
return /* @__PURE__ */ (0,
|
|
5513
|
-
/* @__PURE__ */ (0,
|
|
5514
|
-
/* @__PURE__ */ (0,
|
|
5561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: cn("rounded-xl p-3 flex items-center gap-2", styles.container, className), children: [
|
|
5562
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { name: icon ?? styles.iconName, size: "md", className: cn("shrink-0", styles.icon) }),
|
|
5563
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: cn("text-sm", styles.icon), children })
|
|
5515
5564
|
] });
|
|
5516
5565
|
}
|
|
5517
5566
|
|
|
5518
5567
|
// src/web/components/info-panel.tsx
|
|
5519
|
-
var
|
|
5568
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
5520
5569
|
var toneClass = {
|
|
5521
5570
|
default: {
|
|
5522
5571
|
panel: "border-white/8 bg-white/[0.03]",
|
|
@@ -5557,19 +5606,19 @@ function InfoPanel({
|
|
|
5557
5606
|
className
|
|
5558
5607
|
}) {
|
|
5559
5608
|
const styles = toneClass[tone];
|
|
5560
|
-
const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ (0,
|
|
5561
|
-
return /* @__PURE__ */ (0,
|
|
5609
|
+
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;
|
|
5610
|
+
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: [
|
|
5562
5611
|
renderedIcon,
|
|
5563
|
-
/* @__PURE__ */ (0,
|
|
5564
|
-
title && /* @__PURE__ */ (0,
|
|
5565
|
-
/* @__PURE__ */ (0,
|
|
5612
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
5613
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: cn("text-sm font-bold", styles.title), children: title }),
|
|
5614
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: cn("text-xs leading-relaxed", title ? "mt-1" : "", styles.title), children })
|
|
5566
5615
|
] })
|
|
5567
5616
|
] }) });
|
|
5568
5617
|
}
|
|
5569
5618
|
|
|
5570
5619
|
// src/web/components/error-boundary.tsx
|
|
5571
5620
|
var import_react12 = require("react");
|
|
5572
|
-
var
|
|
5621
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
5573
5622
|
var ErrorBoundary = class extends import_react12.Component {
|
|
5574
5623
|
constructor(props) {
|
|
5575
5624
|
super(props);
|
|
@@ -5583,11 +5632,11 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5583
5632
|
}
|
|
5584
5633
|
render() {
|
|
5585
5634
|
if (this.state.hasError) {
|
|
5586
|
-
return this.props.fallback ?? /* @__PURE__ */ (0,
|
|
5587
|
-
/* @__PURE__ */ (0,
|
|
5588
|
-
/* @__PURE__ */ (0,
|
|
5589
|
-
/* @__PURE__ */ (0,
|
|
5590
|
-
/* @__PURE__ */ (0,
|
|
5635
|
+
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: [
|
|
5636
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
|
|
5637
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
|
|
5638
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
|
|
5639
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
5591
5640
|
"button",
|
|
5592
5641
|
{
|
|
5593
5642
|
onClick: () => {
|
|
@@ -5605,7 +5654,7 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5605
5654
|
};
|
|
5606
5655
|
|
|
5607
5656
|
// src/web/components/recovery-phrase-card.tsx
|
|
5608
|
-
var
|
|
5657
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
5609
5658
|
function RecoveryPhraseCard({
|
|
5610
5659
|
words,
|
|
5611
5660
|
revealed = false,
|
|
@@ -5616,10 +5665,10 @@ function RecoveryPhraseCard({
|
|
|
5616
5665
|
className
|
|
5617
5666
|
}) {
|
|
5618
5667
|
const hasWords = words.length > 0;
|
|
5619
|
-
return /* @__PURE__ */ (0,
|
|
5620
|
-
/* @__PURE__ */ (0,
|
|
5621
|
-
/* @__PURE__ */ (0,
|
|
5622
|
-
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
5668
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("section", { className: cn("space-y-2", className), children: [
|
|
5669
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center justify-between px-0.5", children: [
|
|
5670
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
5671
|
+
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5623
5672
|
Button,
|
|
5624
5673
|
{
|
|
5625
5674
|
type: "button",
|
|
@@ -5628,27 +5677,27 @@ function RecoveryPhraseCard({
|
|
|
5628
5677
|
onClick: () => onRevealChange(!revealed),
|
|
5629
5678
|
className: "h-auto rounded-lg px-2 py-1 text-xs text-muted-foreground hover:text-white",
|
|
5630
5679
|
children: [
|
|
5631
|
-
/* @__PURE__ */ (0,
|
|
5680
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "visibility_off", className: "text-icon-md" }),
|
|
5632
5681
|
"Hide"
|
|
5633
5682
|
]
|
|
5634
5683
|
}
|
|
5635
5684
|
)
|
|
5636
5685
|
] }),
|
|
5637
|
-
/* @__PURE__ */ (0,
|
|
5638
|
-
hasWords ? /* @__PURE__ */ (0,
|
|
5686
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "relative", children: [
|
|
5687
|
+
hasWords ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5639
5688
|
"div",
|
|
5640
5689
|
{
|
|
5641
5690
|
className: cn(
|
|
5642
5691
|
"grid grid-cols-3 gap-2 transition-all duration-300",
|
|
5643
5692
|
!revealed && "pointer-events-none select-none blur-sm"
|
|
5644
5693
|
),
|
|
5645
|
-
children: words.map((word, index) => /* @__PURE__ */ (0,
|
|
5646
|
-
/* @__PURE__ */ (0,
|
|
5647
|
-
/* @__PURE__ */ (0,
|
|
5694
|
+
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: [
|
|
5695
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
|
|
5696
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "font-mono text-sm text-white", children: word })
|
|
5648
5697
|
] }, `${index}-${word}`))
|
|
5649
5698
|
}
|
|
5650
|
-
) : /* @__PURE__ */ (0,
|
|
5651
|
-
hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
5699
|
+
) : /* @__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 }),
|
|
5700
|
+
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)(
|
|
5652
5701
|
Button,
|
|
5653
5702
|
{
|
|
5654
5703
|
type: "button",
|
|
@@ -5656,13 +5705,13 @@ function RecoveryPhraseCard({
|
|
|
5656
5705
|
size: "sm",
|
|
5657
5706
|
onClick: () => onRevealChange(true),
|
|
5658
5707
|
children: [
|
|
5659
|
-
/* @__PURE__ */ (0,
|
|
5708
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
5660
5709
|
"Tap to reveal"
|
|
5661
5710
|
]
|
|
5662
5711
|
}
|
|
5663
5712
|
) })
|
|
5664
5713
|
] }),
|
|
5665
|
-
hasWords && revealed && onCopy && /* @__PURE__ */ (0,
|
|
5714
|
+
hasWords && revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5666
5715
|
Button,
|
|
5667
5716
|
{
|
|
5668
5717
|
type: "button",
|
|
@@ -5671,7 +5720,7 @@ function RecoveryPhraseCard({
|
|
|
5671
5720
|
onClick: onCopy,
|
|
5672
5721
|
className: "w-full",
|
|
5673
5722
|
children: [
|
|
5674
|
-
/* @__PURE__ */ (0,
|
|
5723
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
5675
5724
|
"Copy to clipboard"
|
|
5676
5725
|
]
|
|
5677
5726
|
}
|
|
@@ -5680,7 +5729,7 @@ function RecoveryPhraseCard({
|
|
|
5680
5729
|
}
|
|
5681
5730
|
|
|
5682
5731
|
// src/web/components/settings-selector-row.tsx
|
|
5683
|
-
var
|
|
5732
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
5684
5733
|
function SettingsSelectorRow({
|
|
5685
5734
|
icon,
|
|
5686
5735
|
title,
|
|
@@ -5689,9 +5738,9 @@ function SettingsSelectorRow({
|
|
|
5689
5738
|
className,
|
|
5690
5739
|
iconClassName
|
|
5691
5740
|
}) {
|
|
5692
|
-
return /* @__PURE__ */ (0,
|
|
5693
|
-
/* @__PURE__ */ (0,
|
|
5694
|
-
/* @__PURE__ */ (0,
|
|
5741
|
+
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: [
|
|
5742
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
5743
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
5695
5744
|
"div",
|
|
5696
5745
|
{
|
|
5697
5746
|
className: cn(
|
|
@@ -5701,17 +5750,17 @@ function SettingsSelectorRow({
|
|
|
5701
5750
|
children: icon
|
|
5702
5751
|
}
|
|
5703
5752
|
),
|
|
5704
|
-
/* @__PURE__ */ (0,
|
|
5705
|
-
/* @__PURE__ */ (0,
|
|
5706
|
-
description && /* @__PURE__ */ (0,
|
|
5753
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
5754
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
|
|
5755
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
|
|
5707
5756
|
] })
|
|
5708
5757
|
] }),
|
|
5709
|
-
/* @__PURE__ */ (0,
|
|
5758
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "shrink-0", children: control })
|
|
5710
5759
|
] });
|
|
5711
5760
|
}
|
|
5712
5761
|
|
|
5713
5762
|
// src/web/components/bottom-sheet.tsx
|
|
5714
|
-
var
|
|
5763
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
5715
5764
|
function BottomSheet({
|
|
5716
5765
|
open,
|
|
5717
5766
|
title,
|
|
@@ -5727,7 +5776,7 @@ function BottomSheet({
|
|
|
5727
5776
|
const handleBackdropClick = (event) => {
|
|
5728
5777
|
if (closeOnBackdrop && event.target === event.currentTarget) onClose?.();
|
|
5729
5778
|
};
|
|
5730
|
-
return /* @__PURE__ */ (0,
|
|
5779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
5731
5780
|
"div",
|
|
5732
5781
|
{
|
|
5733
5782
|
className: cn(
|
|
@@ -5735,7 +5784,7 @@ function BottomSheet({
|
|
|
5735
5784
|
className
|
|
5736
5785
|
),
|
|
5737
5786
|
onClick: handleBackdropClick,
|
|
5738
|
-
children: /* @__PURE__ */ (0,
|
|
5787
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
5739
5788
|
"div",
|
|
5740
5789
|
{
|
|
5741
5790
|
className: cn(
|
|
@@ -5743,13 +5792,13 @@ function BottomSheet({
|
|
|
5743
5792
|
contentClassName
|
|
5744
5793
|
),
|
|
5745
5794
|
children: [
|
|
5746
|
-
/* @__PURE__ */ (0,
|
|
5747
|
-
(title || icon) && /* @__PURE__ */ (0,
|
|
5795
|
+
/* @__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" }) }),
|
|
5796
|
+
(title || icon) && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "mt-4 flex items-center gap-2", children: [
|
|
5748
5797
|
icon,
|
|
5749
|
-
/* @__PURE__ */ (0,
|
|
5798
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-sm font-bold text-foreground", children: title })
|
|
5750
5799
|
] }),
|
|
5751
|
-
/* @__PURE__ */ (0,
|
|
5752
|
-
actions && actions.length > 0 && /* @__PURE__ */ (0,
|
|
5800
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: cn((title || icon) && "mt-3"), children }),
|
|
5801
|
+
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)(
|
|
5753
5802
|
Button,
|
|
5754
5803
|
{
|
|
5755
5804
|
type: "button",
|
|
@@ -5759,7 +5808,7 @@ function BottomSheet({
|
|
|
5759
5808
|
onClick: action.onClick,
|
|
5760
5809
|
disabled: action.disabled,
|
|
5761
5810
|
children: [
|
|
5762
|
-
action.icon && /* @__PURE__ */ (0,
|
|
5811
|
+
action.icon && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: action.icon, className: "text-icon-md" }),
|
|
5763
5812
|
action.label
|
|
5764
5813
|
]
|
|
5765
5814
|
},
|
|
@@ -5773,7 +5822,7 @@ function BottomSheet({
|
|
|
5773
5822
|
}
|
|
5774
5823
|
|
|
5775
5824
|
// src/web/components/disclosure-card.tsx
|
|
5776
|
-
var
|
|
5825
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
5777
5826
|
function DisclosureCard({
|
|
5778
5827
|
title,
|
|
5779
5828
|
children,
|
|
@@ -5784,8 +5833,8 @@ function DisclosureCard({
|
|
|
5784
5833
|
triggerClassName,
|
|
5785
5834
|
contentClassName
|
|
5786
5835
|
}) {
|
|
5787
|
-
return /* @__PURE__ */ (0,
|
|
5788
|
-
/* @__PURE__ */ (0,
|
|
5836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className, children: [
|
|
5837
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
5789
5838
|
"button",
|
|
5790
5839
|
{
|
|
5791
5840
|
type: "button",
|
|
@@ -5795,11 +5844,11 @@ function DisclosureCard({
|
|
|
5795
5844
|
triggerClassName
|
|
5796
5845
|
),
|
|
5797
5846
|
children: [
|
|
5798
|
-
/* @__PURE__ */ (0,
|
|
5847
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
5799
5848
|
icon,
|
|
5800
|
-
/* @__PURE__ */ (0,
|
|
5849
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "truncate text-xs font-bold text-foreground", children: title })
|
|
5801
5850
|
] }),
|
|
5802
|
-
/* @__PURE__ */ (0,
|
|
5851
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5803
5852
|
Icon,
|
|
5804
5853
|
{
|
|
5805
5854
|
name: open ? "expand_less" : "expand_more",
|
|
@@ -5809,7 +5858,7 @@ function DisclosureCard({
|
|
|
5809
5858
|
]
|
|
5810
5859
|
}
|
|
5811
5860
|
),
|
|
5812
|
-
open && /* @__PURE__ */ (0,
|
|
5861
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
5813
5862
|
"div",
|
|
5814
5863
|
{
|
|
5815
5864
|
className: cn(
|
|
@@ -5823,7 +5872,7 @@ function DisclosureCard({
|
|
|
5823
5872
|
}
|
|
5824
5873
|
|
|
5825
5874
|
// src/web/components/stepper-number-input.tsx
|
|
5826
|
-
var
|
|
5875
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
5827
5876
|
function StepperNumberInput({
|
|
5828
5877
|
value,
|
|
5829
5878
|
onChange,
|
|
@@ -5840,7 +5889,7 @@ function StepperNumberInput({
|
|
|
5840
5889
|
const bounded = max === void 0 ? boundedMin : Math.min(max, boundedMin);
|
|
5841
5890
|
onChange(Number.isFinite(bounded) ? bounded : min ?? 0);
|
|
5842
5891
|
};
|
|
5843
|
-
return /* @__PURE__ */ (0,
|
|
5892
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
5844
5893
|
"div",
|
|
5845
5894
|
{
|
|
5846
5895
|
className: cn(
|
|
@@ -5848,7 +5897,7 @@ function StepperNumberInput({
|
|
|
5848
5897
|
className
|
|
5849
5898
|
),
|
|
5850
5899
|
children: [
|
|
5851
|
-
/* @__PURE__ */ (0,
|
|
5900
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
5852
5901
|
"button",
|
|
5853
5902
|
{
|
|
5854
5903
|
type: "button",
|
|
@@ -5856,10 +5905,10 @@ function StepperNumberInput({
|
|
|
5856
5905
|
disabled: disabled || min !== void 0 && value <= min,
|
|
5857
5906
|
onClick: () => clamp(value - step),
|
|
5858
5907
|
"aria-label": "Decrease",
|
|
5859
|
-
children: /* @__PURE__ */ (0,
|
|
5908
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: "remove", className: "text-icon-md" })
|
|
5860
5909
|
}
|
|
5861
5910
|
),
|
|
5862
|
-
/* @__PURE__ */ (0,
|
|
5911
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
5863
5912
|
"input",
|
|
5864
5913
|
{
|
|
5865
5914
|
type: "number",
|
|
@@ -5876,7 +5925,7 @@ function StepperNumberInput({
|
|
|
5876
5925
|
)
|
|
5877
5926
|
}
|
|
5878
5927
|
),
|
|
5879
|
-
/* @__PURE__ */ (0,
|
|
5928
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
5880
5929
|
"button",
|
|
5881
5930
|
{
|
|
5882
5931
|
type: "button",
|
|
@@ -5884,7 +5933,7 @@ function StepperNumberInput({
|
|
|
5884
5933
|
disabled: disabled || max !== void 0 && value >= max,
|
|
5885
5934
|
onClick: () => clamp(value + step),
|
|
5886
5935
|
"aria-label": "Increase",
|
|
5887
|
-
children: /* @__PURE__ */ (0,
|
|
5936
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: "add", className: "text-icon-md" })
|
|
5888
5937
|
}
|
|
5889
5938
|
)
|
|
5890
5939
|
]
|
|
@@ -5893,7 +5942,7 @@ function StepperNumberInput({
|
|
|
5893
5942
|
}
|
|
5894
5943
|
|
|
5895
5944
|
// src/web/components/metric-card.tsx
|
|
5896
|
-
var
|
|
5945
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
5897
5946
|
var toneClasses2 = {
|
|
5898
5947
|
primary: "border-primary/20 bg-primary/10 text-primary",
|
|
5899
5948
|
purple: "border-network-arkade/20 bg-network-arkade/10 text-network-arkade",
|
|
@@ -5911,27 +5960,27 @@ function MetricCard({
|
|
|
5911
5960
|
tone = "muted",
|
|
5912
5961
|
className
|
|
5913
5962
|
}) {
|
|
5914
|
-
return /* @__PURE__ */ (0,
|
|
5915
|
-
/* @__PURE__ */ (0,
|
|
5916
|
-
icon && /* @__PURE__ */ (0,
|
|
5917
|
-
/* @__PURE__ */ (0,
|
|
5963
|
+
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: [
|
|
5964
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
5965
|
+
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 }),
|
|
5966
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
|
|
5918
5967
|
] }),
|
|
5919
|
-
/* @__PURE__ */ (0,
|
|
5920
|
-
description && /* @__PURE__ */ (0,
|
|
5968
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "font-mono text-sm font-bold text-foreground", children: value }),
|
|
5969
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-xxs text-white/45", children: description })
|
|
5921
5970
|
] });
|
|
5922
5971
|
}
|
|
5923
5972
|
|
|
5924
5973
|
// src/web/components/filter-chip-group.tsx
|
|
5925
|
-
var
|
|
5974
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
5926
5975
|
function FilterChipGroup({
|
|
5927
5976
|
options,
|
|
5928
5977
|
value,
|
|
5929
5978
|
onChange,
|
|
5930
5979
|
className
|
|
5931
5980
|
}) {
|
|
5932
|
-
return /* @__PURE__ */ (0,
|
|
5981
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
|
|
5933
5982
|
const active = option.value === value;
|
|
5934
|
-
return /* @__PURE__ */ (0,
|
|
5983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
5935
5984
|
"button",
|
|
5936
5985
|
{
|
|
5937
5986
|
type: "button",
|
|
@@ -5945,7 +5994,7 @@ function FilterChipGroup({
|
|
|
5945
5994
|
children: [
|
|
5946
5995
|
option.icon,
|
|
5947
5996
|
option.label,
|
|
5948
|
-
option.count !== void 0 && /* @__PURE__ */ (0,
|
|
5997
|
+
option.count !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
5949
5998
|
"span",
|
|
5950
5999
|
{
|
|
5951
6000
|
className: cn(
|
|
@@ -5963,7 +6012,7 @@ function FilterChipGroup({
|
|
|
5963
6012
|
}
|
|
5964
6013
|
|
|
5965
6014
|
// src/web/components/activity-row.tsx
|
|
5966
|
-
var
|
|
6015
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
5967
6016
|
var directionUi = {
|
|
5968
6017
|
inbound: { icon: "south_west", iconClass: "bg-primary/20 text-primary", amountClass: "text-primary", sign: "+" },
|
|
5969
6018
|
outbound: { icon: "north_east", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "-" },
|
|
@@ -5983,26 +6032,26 @@ function ActivityRow({
|
|
|
5983
6032
|
className
|
|
5984
6033
|
}) {
|
|
5985
6034
|
const ui = directionUi[direction];
|
|
5986
|
-
const content = /* @__PURE__ */ (0,
|
|
5987
|
-
/* @__PURE__ */ (0,
|
|
5988
|
-
/* @__PURE__ */ (0,
|
|
5989
|
-
/* @__PURE__ */ (0,
|
|
5990
|
-
/* @__PURE__ */ (0,
|
|
5991
|
-
/* @__PURE__ */ (0,
|
|
6035
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
|
|
6036
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
6037
|
+
/* @__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 }),
|
|
6038
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex min-w-0 flex-col", children: [
|
|
6039
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
6040
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
|
|
5992
6041
|
networkBadge
|
|
5993
6042
|
] }),
|
|
5994
|
-
(status || timestamp) && /* @__PURE__ */ (0,
|
|
5995
|
-
status && /* @__PURE__ */ (0,
|
|
5996
|
-
timestamp && /* @__PURE__ */ (0,
|
|
6043
|
+
(status || timestamp) && /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "mt-1 flex items-center gap-2", children: [
|
|
6044
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(StatusBadge, { status, className: "px-1.5 py-0.5 text-xxs" }),
|
|
6045
|
+
timestamp && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-xxs text-muted-foreground", children: timestamp })
|
|
5997
6046
|
] })
|
|
5998
6047
|
] })
|
|
5999
6048
|
] }),
|
|
6000
|
-
/* @__PURE__ */ (0,
|
|
6001
|
-
/* @__PURE__ */ (0,
|
|
6049
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "shrink-0 text-right", children: [
|
|
6050
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
|
|
6002
6051
|
ui.sign,
|
|
6003
6052
|
amount
|
|
6004
6053
|
] }),
|
|
6005
|
-
unit && /* @__PURE__ */ (0,
|
|
6054
|
+
unit && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
|
|
6006
6055
|
] })
|
|
6007
6056
|
] });
|
|
6008
6057
|
const rowClassName = cn(
|
|
@@ -6011,23 +6060,23 @@ function ActivityRow({
|
|
|
6011
6060
|
className
|
|
6012
6061
|
);
|
|
6013
6062
|
if (onClick) {
|
|
6014
|
-
return /* @__PURE__ */ (0,
|
|
6063
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("button", { type: "button", onClick, className: rowClassName, children: content });
|
|
6015
6064
|
}
|
|
6016
|
-
return /* @__PURE__ */ (0,
|
|
6065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: rowClassName, children: content });
|
|
6017
6066
|
}
|
|
6018
6067
|
|
|
6019
6068
|
// src/web/components/skeleton.tsx
|
|
6020
|
-
var
|
|
6069
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
6021
6070
|
var toneClass2 = {
|
|
6022
6071
|
primary: "bg-white/10",
|
|
6023
6072
|
secondary: "bg-white/5",
|
|
6024
6073
|
card: "bg-white/[0.06]"
|
|
6025
6074
|
};
|
|
6026
6075
|
function Skeleton({ className, tone = "primary" }) {
|
|
6027
|
-
return /* @__PURE__ */ (0,
|
|
6076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
|
|
6028
6077
|
}
|
|
6029
6078
|
function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
6030
|
-
return /* @__PURE__ */ (0,
|
|
6079
|
+
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)(
|
|
6031
6080
|
"div",
|
|
6032
6081
|
{
|
|
6033
6082
|
className: cn(
|
|
@@ -6035,14 +6084,14 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
6035
6084
|
rowClassName
|
|
6036
6085
|
),
|
|
6037
6086
|
children: [
|
|
6038
|
-
/* @__PURE__ */ (0,
|
|
6039
|
-
/* @__PURE__ */ (0,
|
|
6040
|
-
/* @__PURE__ */ (0,
|
|
6041
|
-
/* @__PURE__ */ (0,
|
|
6087
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
|
|
6088
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
6089
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { className: "h-3 w-28" }),
|
|
6090
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
|
|
6042
6091
|
] }),
|
|
6043
|
-
/* @__PURE__ */ (0,
|
|
6044
|
-
/* @__PURE__ */ (0,
|
|
6045
|
-
/* @__PURE__ */ (0,
|
|
6092
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex flex-col items-end space-y-1.5", children: [
|
|
6093
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { className: "h-3 w-14" }),
|
|
6094
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Skeleton, { tone: "secondary", className: "h-2 w-10" })
|
|
6046
6095
|
] })
|
|
6047
6096
|
]
|
|
6048
6097
|
},
|
|
@@ -6051,7 +6100,7 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
6051
6100
|
}
|
|
6052
6101
|
|
|
6053
6102
|
// src/web/components/secret-reveal-card.tsx
|
|
6054
|
-
var
|
|
6103
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
6055
6104
|
function SecretRevealCard({
|
|
6056
6105
|
value,
|
|
6057
6106
|
revealed,
|
|
@@ -6063,9 +6112,9 @@ function SecretRevealCard({
|
|
|
6063
6112
|
className,
|
|
6064
6113
|
valueClassName
|
|
6065
6114
|
}) {
|
|
6066
|
-
return /* @__PURE__ */ (0,
|
|
6067
|
-
/* @__PURE__ */ (0,
|
|
6068
|
-
/* @__PURE__ */ (0,
|
|
6115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: cn("space-y-3", className), children: [
|
|
6116
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "relative", children: [
|
|
6117
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6069
6118
|
"p",
|
|
6070
6119
|
{
|
|
6071
6120
|
className: cn(
|
|
@@ -6076,40 +6125,40 @@ function SecretRevealCard({
|
|
|
6076
6125
|
children: value
|
|
6077
6126
|
}
|
|
6078
6127
|
) }),
|
|
6079
|
-
!revealed && /* @__PURE__ */ (0,
|
|
6128
|
+
!revealed && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
6080
6129
|
"button",
|
|
6081
6130
|
{
|
|
6082
6131
|
type: "button",
|
|
6083
6132
|
onClick: () => onRevealChange(true),
|
|
6084
6133
|
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",
|
|
6085
6134
|
children: [
|
|
6086
|
-
/* @__PURE__ */ (0,
|
|
6135
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
6087
6136
|
revealLabel
|
|
6088
6137
|
]
|
|
6089
6138
|
}
|
|
6090
6139
|
) })
|
|
6091
6140
|
] }),
|
|
6092
|
-
/* @__PURE__ */ (0,
|
|
6093
|
-
/* @__PURE__ */ (0,
|
|
6141
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex gap-2", children: [
|
|
6142
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
6094
6143
|
"button",
|
|
6095
6144
|
{
|
|
6096
6145
|
type: "button",
|
|
6097
6146
|
onClick: () => onRevealChange(!revealed),
|
|
6098
6147
|
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",
|
|
6099
6148
|
children: [
|
|
6100
|
-
/* @__PURE__ */ (0,
|
|
6149
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
|
|
6101
6150
|
revealed ? hideLabel : revealLabel
|
|
6102
6151
|
]
|
|
6103
6152
|
}
|
|
6104
6153
|
),
|
|
6105
|
-
revealed && onCopy && /* @__PURE__ */ (0,
|
|
6154
|
+
revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
6106
6155
|
"button",
|
|
6107
6156
|
{
|
|
6108
6157
|
type: "button",
|
|
6109
6158
|
onClick: onCopy,
|
|
6110
6159
|
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",
|
|
6111
6160
|
children: [
|
|
6112
|
-
/* @__PURE__ */ (0,
|
|
6161
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
6113
6162
|
copyLabel
|
|
6114
6163
|
]
|
|
6115
6164
|
}
|
|
@@ -6119,7 +6168,7 @@ function SecretRevealCard({
|
|
|
6119
6168
|
}
|
|
6120
6169
|
|
|
6121
6170
|
// src/web/components/settings-section-card.tsx
|
|
6122
|
-
var
|
|
6171
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
6123
6172
|
function SettingsSectionCard({
|
|
6124
6173
|
title,
|
|
6125
6174
|
description,
|
|
@@ -6128,15 +6177,15 @@ function SettingsSectionCard({
|
|
|
6128
6177
|
className,
|
|
6129
6178
|
bodyClassName
|
|
6130
6179
|
}) {
|
|
6131
|
-
return /* @__PURE__ */ (0,
|
|
6132
|
-
/* @__PURE__ */ (0,
|
|
6133
|
-
/* @__PURE__ */ (0,
|
|
6134
|
-
/* @__PURE__ */ (0,
|
|
6135
|
-
description && /* @__PURE__ */ (0,
|
|
6180
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("section", { className: cn("space-y-4 rounded-xl bg-card p-4", className), children: [
|
|
6181
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex items-start justify-between gap-4", children: [
|
|
6182
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6183
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("h2", { className: "text-sm font-bold text-foreground", children: title }),
|
|
6184
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
|
|
6136
6185
|
] }),
|
|
6137
6186
|
badge
|
|
6138
6187
|
] }),
|
|
6139
|
-
/* @__PURE__ */ (0,
|
|
6188
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: bodyClassName, children })
|
|
6140
6189
|
] });
|
|
6141
6190
|
}
|
|
6142
6191
|
var badgeToneClass = {
|
|
@@ -6148,7 +6197,7 @@ var badgeToneClass = {
|
|
|
6148
6197
|
muted: "border-white/10 bg-white/[0.05] text-white/55"
|
|
6149
6198
|
};
|
|
6150
6199
|
function ToneBadge({ children, tone = "muted", className }) {
|
|
6151
|
-
return /* @__PURE__ */ (0,
|
|
6200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
6152
6201
|
"span",
|
|
6153
6202
|
{
|
|
6154
6203
|
className: cn(
|
|
@@ -6162,7 +6211,7 @@ function ToneBadge({ children, tone = "muted", className }) {
|
|
|
6162
6211
|
}
|
|
6163
6212
|
|
|
6164
6213
|
// src/web/components/selectable-card.tsx
|
|
6165
|
-
var
|
|
6214
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
6166
6215
|
function SelectableCard({
|
|
6167
6216
|
selected,
|
|
6168
6217
|
onClick,
|
|
@@ -6174,28 +6223,28 @@ function SelectableCard({
|
|
|
6174
6223
|
children,
|
|
6175
6224
|
className
|
|
6176
6225
|
}) {
|
|
6177
|
-
const content = /* @__PURE__ */ (0,
|
|
6178
|
-
/* @__PURE__ */ (0,
|
|
6179
|
-
indicator && /* @__PURE__ */ (0,
|
|
6226
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
6227
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
6228
|
+
indicator && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6180
6229
|
"div",
|
|
6181
6230
|
{
|
|
6182
6231
|
className: cn(
|
|
6183
6232
|
"mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
6184
6233
|
selected ? "border-primary bg-primary" : "border-white/20"
|
|
6185
6234
|
),
|
|
6186
|
-
children: selected && /* @__PURE__ */ (0,
|
|
6235
|
+
children: selected && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "size-2 rounded-full bg-background" })
|
|
6187
6236
|
}
|
|
6188
6237
|
),
|
|
6189
|
-
/* @__PURE__ */ (0,
|
|
6190
|
-
/* @__PURE__ */ (0,
|
|
6191
|
-
/* @__PURE__ */ (0,
|
|
6238
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6239
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
6240
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "text-body font-bold text-foreground", children: title }),
|
|
6192
6241
|
badge
|
|
6193
6242
|
] }),
|
|
6194
|
-
description && /* @__PURE__ */ (0,
|
|
6243
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
|
|
6195
6244
|
children
|
|
6196
6245
|
] })
|
|
6197
6246
|
] }),
|
|
6198
|
-
preview && /* @__PURE__ */ (0,
|
|
6247
|
+
preview && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "shrink-0 text-right", children: preview })
|
|
6199
6248
|
] });
|
|
6200
6249
|
const cardClassName = cn(
|
|
6201
6250
|
"w-full rounded-2xl border p-4 text-left transition-all duration-200",
|
|
@@ -6203,14 +6252,14 @@ function SelectableCard({
|
|
|
6203
6252
|
className
|
|
6204
6253
|
);
|
|
6205
6254
|
if (onClick) {
|
|
6206
|
-
return /* @__PURE__ */ (0,
|
|
6255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("button", { type: "button", onClick, className: cardClassName, children: content });
|
|
6207
6256
|
}
|
|
6208
|
-
return /* @__PURE__ */ (0,
|
|
6257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: cardClassName, children: content });
|
|
6209
6258
|
}
|
|
6210
6259
|
|
|
6211
6260
|
// src/web/components/mobile-hero-animation.tsx
|
|
6212
6261
|
var import_react13 = require("react");
|
|
6213
|
-
var
|
|
6262
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
6214
6263
|
var PROTOCOLS = [
|
|
6215
6264
|
{ name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
|
|
6216
6265
|
{ name: "Lightning", network: "LN", iconSuffix: "lightning/lightning.svg" },
|
|
@@ -6269,15 +6318,15 @@ var MobileHeroAnimation = ({
|
|
|
6269
6318
|
}, []);
|
|
6270
6319
|
const anim = !reducedMotion && isVisible;
|
|
6271
6320
|
const scale = size / 280;
|
|
6272
|
-
return /* @__PURE__ */ (0,
|
|
6321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6273
6322
|
"div",
|
|
6274
6323
|
{
|
|
6275
6324
|
ref: containerRef,
|
|
6276
6325
|
className,
|
|
6277
6326
|
style: { position: "relative", width: size, height: size },
|
|
6278
6327
|
children: [
|
|
6279
|
-
/* @__PURE__ */ (0,
|
|
6280
|
-
/* @__PURE__ */ (0,
|
|
6328
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("style", { children: KEYFRAMES }),
|
|
6329
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { style: {
|
|
6281
6330
|
position: "absolute",
|
|
6282
6331
|
top: 0,
|
|
6283
6332
|
left: 0,
|
|
@@ -6286,7 +6335,7 @@ var MobileHeroAnimation = ({
|
|
|
6286
6335
|
transformOrigin: "top left",
|
|
6287
6336
|
transform: scale !== 1 ? `scale(${scale})` : void 0
|
|
6288
6337
|
}, children: [
|
|
6289
|
-
/* @__PURE__ */ (0,
|
|
6338
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
|
|
6290
6339
|
"svg",
|
|
6291
6340
|
{
|
|
6292
6341
|
viewBox: "0 0 280 280",
|
|
@@ -6295,35 +6344,35 @@ var MobileHeroAnimation = ({
|
|
|
6295
6344
|
style: { position: "absolute", inset: 0 },
|
|
6296
6345
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6297
6346
|
children: [
|
|
6298
|
-
/* @__PURE__ */ (0,
|
|
6299
|
-
/* @__PURE__ */ (0,
|
|
6300
|
-
/* @__PURE__ */ (0,
|
|
6301
|
-
/* @__PURE__ */ (0,
|
|
6302
|
-
/* @__PURE__ */ (0,
|
|
6347
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("defs", { children: [
|
|
6348
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6349
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6350
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6351
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6303
6352
|
] }),
|
|
6304
|
-
/* @__PURE__ */ (0,
|
|
6305
|
-
/* @__PURE__ */ (0,
|
|
6306
|
-
/* @__PURE__ */ (0,
|
|
6353
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6354
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6355
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6307
6356
|
] }),
|
|
6308
|
-
/* @__PURE__ */ (0,
|
|
6309
|
-
/* @__PURE__ */ (0,
|
|
6310
|
-
/* @__PURE__ */ (0,
|
|
6357
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6358
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6359
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6311
6360
|
] }),
|
|
6312
|
-
/* @__PURE__ */ (0,
|
|
6313
|
-
/* @__PURE__ */ (0,
|
|
6314
|
-
/* @__PURE__ */ (0,
|
|
6315
|
-
/* @__PURE__ */ (0,
|
|
6316
|
-
/* @__PURE__ */ (0,
|
|
6361
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6362
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
|
|
6363
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("feMerge", { children: [
|
|
6364
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "blur" }),
|
|
6365
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6317
6366
|
] })
|
|
6318
6367
|
] })
|
|
6319
6368
|
] }),
|
|
6320
|
-
/* @__PURE__ */ (0,
|
|
6321
|
-
/* @__PURE__ */ (0,
|
|
6322
|
-
/* @__PURE__ */ (0,
|
|
6369
|
+
/* @__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: [
|
|
6370
|
+
/* @__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" }),
|
|
6371
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
|
|
6323
6372
|
] }) }),
|
|
6324
|
-
/* @__PURE__ */ (0,
|
|
6325
|
-
/* @__PURE__ */ (0,
|
|
6326
|
-
anim && /* @__PURE__ */ (0,
|
|
6373
|
+
/* @__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" }),
|
|
6374
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6375
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6327
6376
|
"animateTransform",
|
|
6328
6377
|
{
|
|
6329
6378
|
attributeName: "transform",
|
|
@@ -6344,8 +6393,8 @@ var MobileHeroAnimation = ({
|
|
|
6344
6393
|
const y2 = C + dy * (ORBIT_R - BADGE_HALF);
|
|
6345
6394
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6346
6395
|
const dur = `${2 + i * 0.3}s`;
|
|
6347
|
-
return /* @__PURE__ */ (0,
|
|
6348
|
-
/* @__PURE__ */ (0,
|
|
6396
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6397
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6349
6398
|
"line",
|
|
6350
6399
|
{
|
|
6351
6400
|
x1,
|
|
@@ -6356,29 +6405,29 @@ var MobileHeroAnimation = ({
|
|
|
6356
6405
|
strokeWidth: "0.8",
|
|
6357
6406
|
strokeDasharray: "2 4",
|
|
6358
6407
|
opacity: "0.25",
|
|
6359
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6408
|
+
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" })
|
|
6360
6409
|
}
|
|
6361
6410
|
),
|
|
6362
|
-
/* @__PURE__ */ (0,
|
|
6363
|
-
/* @__PURE__ */ (0,
|
|
6364
|
-
/* @__PURE__ */ (0,
|
|
6365
|
-
/* @__PURE__ */ (0,
|
|
6366
|
-
/* @__PURE__ */ (0,
|
|
6411
|
+
/* @__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: [
|
|
6412
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
|
|
6413
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
|
|
6414
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
|
|
6415
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
|
|
6367
6416
|
] }) })
|
|
6368
6417
|
] }, `line-${i}`);
|
|
6369
6418
|
})
|
|
6370
6419
|
] }),
|
|
6371
|
-
/* @__PURE__ */ (0,
|
|
6372
|
-
/* @__PURE__ */ (0,
|
|
6373
|
-
/* @__PURE__ */ (0,
|
|
6374
|
-
/* @__PURE__ */ (0,
|
|
6420
|
+
/* @__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" }) }),
|
|
6421
|
+
/* @__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: [
|
|
6422
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
|
|
6423
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
6375
6424
|
] }) }),
|
|
6376
|
-
/* @__PURE__ */ (0,
|
|
6377
|
-
/* @__PURE__ */ (0,
|
|
6378
|
-
/* @__PURE__ */ (0,
|
|
6425
|
+
/* @__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: [
|
|
6426
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
6427
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
6379
6428
|
] }) }),
|
|
6380
|
-
/* @__PURE__ */ (0,
|
|
6381
|
-
anim && /* @__PURE__ */ (0,
|
|
6429
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6430
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6382
6431
|
"animateTransform",
|
|
6383
6432
|
{
|
|
6384
6433
|
attributeName: "transform",
|
|
@@ -6390,13 +6439,13 @@ var MobileHeroAnimation = ({
|
|
|
6390
6439
|
additive: "sum"
|
|
6391
6440
|
}
|
|
6392
6441
|
),
|
|
6393
|
-
/* @__PURE__ */ (0,
|
|
6394
|
-
/* @__PURE__ */ (0,
|
|
6395
|
-
/* @__PURE__ */ (0,
|
|
6442
|
+
/* @__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: [
|
|
6443
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
6444
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
6396
6445
|
] }) })
|
|
6397
6446
|
] }) }),
|
|
6398
|
-
/* @__PURE__ */ (0,
|
|
6399
|
-
anim && /* @__PURE__ */ (0,
|
|
6447
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { children: [
|
|
6448
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6400
6449
|
"animateTransform",
|
|
6401
6450
|
{
|
|
6402
6451
|
attributeName: "transform",
|
|
@@ -6408,19 +6457,19 @@ var MobileHeroAnimation = ({
|
|
|
6408
6457
|
additive: "sum"
|
|
6409
6458
|
}
|
|
6410
6459
|
),
|
|
6411
|
-
/* @__PURE__ */ (0,
|
|
6460
|
+
/* @__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" })
|
|
6412
6461
|
] }) }),
|
|
6413
|
-
/* @__PURE__ */ (0,
|
|
6414
|
-
/* @__PURE__ */ (0,
|
|
6415
|
-
/* @__PURE__ */ (0,
|
|
6416
|
-
/* @__PURE__ */ (0,
|
|
6417
|
-
/* @__PURE__ */ (0,
|
|
6418
|
-
/* @__PURE__ */ (0,
|
|
6462
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
|
|
6463
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
|
|
6464
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
|
|
6465
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
|
|
6466
|
+
/* @__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" }),
|
|
6467
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
|
|
6419
6468
|
] })
|
|
6420
6469
|
]
|
|
6421
6470
|
}
|
|
6422
6471
|
),
|
|
6423
|
-
/* @__PURE__ */ (0,
|
|
6472
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { style: {
|
|
6424
6473
|
position: "absolute",
|
|
6425
6474
|
inset: 0,
|
|
6426
6475
|
width: 280,
|
|
@@ -6431,7 +6480,7 @@ var MobileHeroAnimation = ({
|
|
|
6431
6480
|
const x = C + Math.cos(angle) * ORBIT_R - BADGE_HALF;
|
|
6432
6481
|
const y = C + Math.sin(angle) * ORBIT_R - BADGE_HALF;
|
|
6433
6482
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6434
|
-
return /* @__PURE__ */ (0,
|
|
6483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6435
6484
|
"div",
|
|
6436
6485
|
{
|
|
6437
6486
|
style: {
|
|
@@ -6442,7 +6491,7 @@ var MobileHeroAnimation = ({
|
|
|
6442
6491
|
height: BADGE_SIZE,
|
|
6443
6492
|
animation: anim ? "mha-counter-spin 20s linear infinite" : "none"
|
|
6444
6493
|
},
|
|
6445
|
-
children: /* @__PURE__ */ (0,
|
|
6494
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { style: {
|
|
6446
6495
|
width: "100%",
|
|
6447
6496
|
height: "100%",
|
|
6448
6497
|
borderRadius: "50%",
|
|
@@ -6453,7 +6502,7 @@ var MobileHeroAnimation = ({
|
|
|
6453
6502
|
display: "flex",
|
|
6454
6503
|
alignItems: "center",
|
|
6455
6504
|
justifyContent: "center"
|
|
6456
|
-
}, children: /* @__PURE__ */ (0,
|
|
6505
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6457
6506
|
"img",
|
|
6458
6507
|
{
|
|
6459
6508
|
src: iconBasePath ? `${iconBasePath}/${protocol.iconSuffix}` : protocolIcons[protocol.network] ?? protocol.iconSuffix,
|
|
@@ -6473,7 +6522,7 @@ var MobileHeroAnimation = ({
|
|
|
6473
6522
|
|
|
6474
6523
|
// src/web/components/kaleidoscope-hero-animation.tsx
|
|
6475
6524
|
var import_react14 = require("react");
|
|
6476
|
-
var
|
|
6525
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6477
6526
|
var PROTOCOLS2 = [
|
|
6478
6527
|
{ name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
|
|
6479
6528
|
{ name: "Lightning", network: "LN", color: "#fbbf24", glowColor: "rgba(251,191,36,0.5)" },
|
|
@@ -6578,13 +6627,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6578
6627
|
const angle = Math.PI * 2 * i / 7 - Math.PI / 2;
|
|
6579
6628
|
return { x: c + orbitR * Math.cos(angle), y: c + orbitR * Math.sin(angle) };
|
|
6580
6629
|
});
|
|
6581
|
-
return /* @__PURE__ */ (0,
|
|
6630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6582
6631
|
"div",
|
|
6583
6632
|
{
|
|
6584
6633
|
ref: containerRef,
|
|
6585
6634
|
className: `relative ${className}`,
|
|
6586
6635
|
style: size ? { width: size, height: size } : void 0,
|
|
6587
|
-
children: /* @__PURE__ */ (0,
|
|
6636
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6588
6637
|
"svg",
|
|
6589
6638
|
{
|
|
6590
6639
|
viewBox: "0 0 500 500",
|
|
@@ -6593,60 +6642,60 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6593
6642
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6594
6643
|
className: "overflow-visible",
|
|
6595
6644
|
children: [
|
|
6596
|
-
/* @__PURE__ */ (0,
|
|
6597
|
-
/* @__PURE__ */ (0,
|
|
6598
|
-
/* @__PURE__ */ (0,
|
|
6599
|
-
/* @__PURE__ */ (0,
|
|
6645
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("defs", { children: [
|
|
6646
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6647
|
+
/* @__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" }) }),
|
|
6648
|
+
/* @__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" }) })
|
|
6600
6649
|
] }),
|
|
6601
|
-
/* @__PURE__ */ (0,
|
|
6602
|
-
/* @__PURE__ */ (0,
|
|
6603
|
-
/* @__PURE__ */ (0,
|
|
6650
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
|
|
6651
|
+
/* @__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" }) }),
|
|
6652
|
+
/* @__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" }) })
|
|
6604
6653
|
] }),
|
|
6605
|
-
/* @__PURE__ */ (0,
|
|
6606
|
-
/* @__PURE__ */ (0,
|
|
6607
|
-
/* @__PURE__ */ (0,
|
|
6654
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
|
|
6655
|
+
/* @__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" }) }),
|
|
6656
|
+
/* @__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" }) })
|
|
6608
6657
|
] }),
|
|
6609
|
-
/* @__PURE__ */ (0,
|
|
6610
|
-
/* @__PURE__ */ (0,
|
|
6611
|
-
/* @__PURE__ */ (0,
|
|
6658
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6659
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6660
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6612
6661
|
] }),
|
|
6613
|
-
/* @__PURE__ */ (0,
|
|
6614
|
-
/* @__PURE__ */ (0,
|
|
6615
|
-
/* @__PURE__ */ (0,
|
|
6662
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6663
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#F7931A" }),
|
|
6664
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#06b6d4" })
|
|
6616
6665
|
] }),
|
|
6617
|
-
/* @__PURE__ */ (0,
|
|
6618
|
-
/* @__PURE__ */ (0,
|
|
6619
|
-
/* @__PURE__ */ (0,
|
|
6666
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6667
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6668
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6620
6669
|
] }),
|
|
6621
|
-
/* @__PURE__ */ (0,
|
|
6622
|
-
/* @__PURE__ */ (0,
|
|
6623
|
-
/* @__PURE__ */ (0,
|
|
6624
|
-
/* @__PURE__ */ (0,
|
|
6670
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6671
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6672
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6673
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6625
6674
|
] }),
|
|
6626
|
-
/* @__PURE__ */ (0,
|
|
6627
|
-
/* @__PURE__ */ (0,
|
|
6628
|
-
/* @__PURE__ */ (0,
|
|
6629
|
-
/* @__PURE__ */ (0,
|
|
6675
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6676
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
|
|
6677
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
|
|
6678
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
|
|
6630
6679
|
] }),
|
|
6631
|
-
/* @__PURE__ */ (0,
|
|
6632
|
-
/* @__PURE__ */ (0,
|
|
6633
|
-
/* @__PURE__ */ (0,
|
|
6634
|
-
/* @__PURE__ */ (0,
|
|
6635
|
-
/* @__PURE__ */ (0,
|
|
6680
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6681
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
|
|
6682
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("feMerge", { children: [
|
|
6683
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "blur" }),
|
|
6684
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6636
6685
|
] })
|
|
6637
6686
|
] }),
|
|
6638
|
-
/* @__PURE__ */ (0,
|
|
6639
|
-
/* @__PURE__ */ (0,
|
|
6640
|
-
/* @__PURE__ */ (0,
|
|
6641
|
-
/* @__PURE__ */ (0,
|
|
6642
|
-
/* @__PURE__ */ (0,
|
|
6687
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6688
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
|
|
6689
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("feMerge", { children: [
|
|
6690
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "blur" }),
|
|
6691
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6643
6692
|
] })
|
|
6644
6693
|
] })
|
|
6645
6694
|
] }),
|
|
6646
|
-
/* @__PURE__ */ (0,
|
|
6647
|
-
/* @__PURE__ */ (0,
|
|
6648
|
-
/* @__PURE__ */ (0,
|
|
6649
|
-
anim && /* @__PURE__ */ (0,
|
|
6695
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
|
|
6696
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(20), children: [
|
|
6697
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6698
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6650
6699
|
"animateTransform",
|
|
6651
6700
|
{
|
|
6652
6701
|
attributeName: "transform",
|
|
@@ -6659,14 +6708,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6659
6708
|
),
|
|
6660
6709
|
Array.from({ length: 6 }, (_, i) => {
|
|
6661
6710
|
const a = Math.PI / 3 * i;
|
|
6662
|
-
return /* @__PURE__ */ (0,
|
|
6663
|
-
/* @__PURE__ */ (0,
|
|
6664
|
-
/* @__PURE__ */ (0,
|
|
6711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
|
|
6712
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
|
|
6713
|
+
/* @__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" }) })
|
|
6665
6714
|
] }, `ha-${i}`);
|
|
6666
6715
|
}),
|
|
6667
6716
|
Array.from({ length: 6 }, (_, i) => {
|
|
6668
6717
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6669
|
-
return /* @__PURE__ */ (0,
|
|
6718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6670
6719
|
"path",
|
|
6671
6720
|
{
|
|
6672
6721
|
d: triPath(14),
|
|
@@ -6679,7 +6728,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6679
6728
|
}),
|
|
6680
6729
|
Array.from({ length: 12 }, (_, i) => {
|
|
6681
6730
|
const a = Math.PI / 6 * i;
|
|
6682
|
-
return /* @__PURE__ */ (0,
|
|
6731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6683
6732
|
"circle",
|
|
6684
6733
|
{
|
|
6685
6734
|
cx: c + outerR1 * 0.92 * Math.cos(a),
|
|
@@ -6687,14 +6736,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6687
6736
|
r: "1.5",
|
|
6688
6737
|
fill: "url(#kh-grad-a)",
|
|
6689
6738
|
opacity: "0.15",
|
|
6690
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6739
|
+
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" })
|
|
6691
6740
|
},
|
|
6692
6741
|
`od-${i}`
|
|
6693
6742
|
);
|
|
6694
6743
|
})
|
|
6695
6744
|
] }),
|
|
6696
|
-
/* @__PURE__ */ (0,
|
|
6697
|
-
anim && /* @__PURE__ */ (0,
|
|
6745
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6746
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6698
6747
|
"animateTransform",
|
|
6699
6748
|
{
|
|
6700
6749
|
attributeName: "transform",
|
|
@@ -6707,28 +6756,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6707
6756
|
),
|
|
6708
6757
|
Array.from({ length: 6 }, (_, i) => {
|
|
6709
6758
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6710
|
-
return /* @__PURE__ */ (0,
|
|
6711
|
-
/* @__PURE__ */ (0,
|
|
6712
|
-
/* @__PURE__ */ (0,
|
|
6759
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
|
|
6760
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
|
|
6761
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
|
|
6713
6762
|
] }, `hb-${i}`);
|
|
6714
6763
|
}),
|
|
6715
6764
|
Array.from({ length: 6 }, (_, i) => {
|
|
6716
6765
|
const a = Math.PI / 3 * i;
|
|
6717
|
-
return /* @__PURE__ */ (0,
|
|
6766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6718
6767
|
"path",
|
|
6719
6768
|
{
|
|
6720
6769
|
d: diamondPath(8, 16),
|
|
6721
6770
|
transform: `translate(${c + outerR2 * 0.85 * Math.cos(a)},${c + outerR2 * 0.85 * Math.sin(a)}) rotate(${i * 60})`,
|
|
6722
6771
|
fill: "url(#kh-grad-b)",
|
|
6723
6772
|
opacity: "0.08",
|
|
6724
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6773
|
+
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" })
|
|
6725
6774
|
},
|
|
6726
6775
|
`db-${i}`
|
|
6727
6776
|
);
|
|
6728
6777
|
})
|
|
6729
6778
|
] }),
|
|
6730
|
-
/* @__PURE__ */ (0,
|
|
6731
|
-
anim && /* @__PURE__ */ (0,
|
|
6779
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6780
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6732
6781
|
"animateTransform",
|
|
6733
6782
|
{
|
|
6734
6783
|
attributeName: "transform",
|
|
@@ -6742,23 +6791,23 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6742
6791
|
Array.from({ length: 12 }, (_, i) => {
|
|
6743
6792
|
const a = Math.PI / 6 * i;
|
|
6744
6793
|
const r = outerR1 * (0.6 + i % 2 * 0.15);
|
|
6745
|
-
return /* @__PURE__ */ (0,
|
|
6794
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6746
6795
|
"path",
|
|
6747
6796
|
{
|
|
6748
6797
|
d: triPath(10),
|
|
6749
6798
|
transform: `translate(${c + r * Math.cos(a)},${c + r * Math.sin(a)}) rotate(${i * 30 + 15})`,
|
|
6750
6799
|
fill: "url(#kh-grad-c)",
|
|
6751
6800
|
opacity: "0.05",
|
|
6752
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6801
|
+
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" })
|
|
6753
6802
|
},
|
|
6754
6803
|
`tc-${i}`
|
|
6755
6804
|
);
|
|
6756
6805
|
})
|
|
6757
6806
|
] })
|
|
6758
6807
|
] }),
|
|
6759
|
-
/* @__PURE__ */ (0,
|
|
6760
|
-
/* @__PURE__ */ (0,
|
|
6761
|
-
anim && /* @__PURE__ */ (0,
|
|
6808
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(14), children: [
|
|
6809
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6810
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6762
6811
|
"animateTransform",
|
|
6763
6812
|
{
|
|
6764
6813
|
attributeName: "transform",
|
|
@@ -6771,9 +6820,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6771
6820
|
),
|
|
6772
6821
|
Array.from({ length: 12 }, (_, i) => {
|
|
6773
6822
|
const a = Math.PI / 6 * i;
|
|
6774
|
-
return /* @__PURE__ */ (0,
|
|
6775
|
-
/* @__PURE__ */ (0,
|
|
6776
|
-
/* @__PURE__ */ (0,
|
|
6823
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
|
|
6824
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
|
|
6825
|
+
/* @__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" }) })
|
|
6777
6826
|
] }, `mh-${i}`);
|
|
6778
6827
|
})
|
|
6779
6828
|
] }),
|
|
@@ -6784,7 +6833,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6784
6833
|
const y1 = c + midR * Math.sin(a1);
|
|
6785
6834
|
const x2 = c + midR * Math.cos(a2);
|
|
6786
6835
|
const y2 = c + midR * Math.sin(a2);
|
|
6787
|
-
return /* @__PURE__ */ (0,
|
|
6836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6788
6837
|
"path",
|
|
6789
6838
|
{
|
|
6790
6839
|
d: `M${x1},${y1} Q${c},${c} ${x2},${y2}`,
|
|
@@ -6793,17 +6842,17 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6793
6842
|
strokeWidth: "0.5",
|
|
6794
6843
|
strokeDasharray: "3 5",
|
|
6795
6844
|
opacity: "0.1",
|
|
6796
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6845
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6797
6846
|
},
|
|
6798
6847
|
`arc-${i}`
|
|
6799
6848
|
);
|
|
6800
6849
|
})
|
|
6801
6850
|
] }),
|
|
6802
|
-
/* @__PURE__ */ (0,
|
|
6803
|
-
/* @__PURE__ */ (0,
|
|
6804
|
-
/* @__PURE__ */ (0,
|
|
6805
|
-
/* @__PURE__ */ (0,
|
|
6806
|
-
anim && /* @__PURE__ */ (0,
|
|
6851
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(10), children: [
|
|
6852
|
+
/* @__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" }) }),
|
|
6853
|
+
/* @__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" }),
|
|
6854
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6855
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6807
6856
|
"animateTransform",
|
|
6808
6857
|
{
|
|
6809
6858
|
attributeName: "transform",
|
|
@@ -6818,8 +6867,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6818
6867
|
const angle = Math.atan2(pos.y - c, pos.x - c);
|
|
6819
6868
|
const dx = Math.cos(angle);
|
|
6820
6869
|
const dy = Math.sin(angle);
|
|
6821
|
-
return /* @__PURE__ */ (0,
|
|
6822
|
-
/* @__PURE__ */ (0,
|
|
6870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
6871
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6823
6872
|
"line",
|
|
6824
6873
|
{
|
|
6825
6874
|
x1: c + dx * 52,
|
|
@@ -6830,14 +6879,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6830
6879
|
strokeWidth: "0.8",
|
|
6831
6880
|
strokeDasharray: "2 4",
|
|
6832
6881
|
opacity: "0.2",
|
|
6833
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6882
|
+
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" })
|
|
6834
6883
|
}
|
|
6835
6884
|
),
|
|
6836
|
-
/* @__PURE__ */ (0,
|
|
6837
|
-
/* @__PURE__ */ (0,
|
|
6838
|
-
/* @__PURE__ */ (0,
|
|
6839
|
-
/* @__PURE__ */ (0,
|
|
6840
|
-
/* @__PURE__ */ (0,
|
|
6885
|
+
/* @__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: [
|
|
6886
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6887
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6888
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
6889
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
6841
6890
|
] }) })
|
|
6842
6891
|
] }, `conn-${i}`);
|
|
6843
6892
|
}),
|
|
@@ -6845,14 +6894,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6845
6894
|
const pos = iconPositions[i];
|
|
6846
6895
|
const labelWidth = Math.max(proto.name.length * 5.5 + 10, 32);
|
|
6847
6896
|
const isHovered = hoveredProtocol === proto.name;
|
|
6848
|
-
return /* @__PURE__ */ (0,
|
|
6897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
|
|
6849
6898
|
"g",
|
|
6850
6899
|
{
|
|
6851
6900
|
onMouseEnter: () => setHoveredProtocol(proto.name),
|
|
6852
6901
|
onMouseLeave: () => setHoveredProtocol(null),
|
|
6853
6902
|
style: { cursor: "pointer" },
|
|
6854
6903
|
children: [
|
|
6855
|
-
anim && /* @__PURE__ */ (0,
|
|
6904
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6856
6905
|
"animateTransform",
|
|
6857
6906
|
{
|
|
6858
6907
|
attributeName: "transform",
|
|
@@ -6863,7 +6912,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6863
6912
|
repeatCount: "indefinite"
|
|
6864
6913
|
}
|
|
6865
6914
|
),
|
|
6866
|
-
/* @__PURE__ */ (0,
|
|
6915
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6867
6916
|
"circle",
|
|
6868
6917
|
{
|
|
6869
6918
|
cx: "0",
|
|
@@ -6873,13 +6922,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6873
6922
|
stroke: proto.color,
|
|
6874
6923
|
strokeWidth: "1",
|
|
6875
6924
|
opacity: "0",
|
|
6876
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6877
|
-
/* @__PURE__ */ (0,
|
|
6878
|
-
/* @__PURE__ */ (0,
|
|
6925
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
6926
|
+
/* @__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` }),
|
|
6927
|
+
/* @__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` })
|
|
6879
6928
|
] })
|
|
6880
6929
|
}
|
|
6881
6930
|
),
|
|
6882
|
-
/* @__PURE__ */ (0,
|
|
6931
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6883
6932
|
"circle",
|
|
6884
6933
|
{
|
|
6885
6934
|
cx: "0",
|
|
@@ -6889,10 +6938,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6889
6938
|
stroke: proto.color,
|
|
6890
6939
|
strokeWidth: "1",
|
|
6891
6940
|
opacity: "0.15",
|
|
6892
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6941
|
+
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" })
|
|
6893
6942
|
}
|
|
6894
6943
|
),
|
|
6895
|
-
/* @__PURE__ */ (0,
|
|
6944
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6896
6945
|
"circle",
|
|
6897
6946
|
{
|
|
6898
6947
|
cx: "0",
|
|
@@ -6902,10 +6951,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6902
6951
|
stroke: proto.color,
|
|
6903
6952
|
strokeWidth: "1.5",
|
|
6904
6953
|
opacity: "0.25",
|
|
6905
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6954
|
+
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" })
|
|
6906
6955
|
}
|
|
6907
6956
|
),
|
|
6908
|
-
/* @__PURE__ */ (0,
|
|
6957
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6909
6958
|
"circle",
|
|
6910
6959
|
{
|
|
6911
6960
|
cx: "0",
|
|
@@ -6916,8 +6965,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6916
6965
|
strokeWidth: "1"
|
|
6917
6966
|
}
|
|
6918
6967
|
),
|
|
6919
|
-
/* @__PURE__ */ (0,
|
|
6920
|
-
/* @__PURE__ */ (0,
|
|
6968
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
|
|
6969
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6921
6970
|
NetworkBadge,
|
|
6922
6971
|
{
|
|
6923
6972
|
network: proto.network,
|
|
@@ -6925,8 +6974,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6925
6974
|
className: "w-full h-full"
|
|
6926
6975
|
}
|
|
6927
6976
|
) }),
|
|
6928
|
-
/* @__PURE__ */ (0,
|
|
6929
|
-
/* @__PURE__ */ (0,
|
|
6977
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
|
|
6978
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6930
6979
|
"rect",
|
|
6931
6980
|
{
|
|
6932
6981
|
x: -labelWidth / 2,
|
|
@@ -6940,7 +6989,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6940
6989
|
strokeOpacity: 0.4
|
|
6941
6990
|
}
|
|
6942
6991
|
),
|
|
6943
|
-
/* @__PURE__ */ (0,
|
|
6992
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6944
6993
|
"text",
|
|
6945
6994
|
{
|
|
6946
6995
|
x: "0",
|
|
@@ -6960,9 +7009,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6960
7009
|
})
|
|
6961
7010
|
] })
|
|
6962
7011
|
] }),
|
|
6963
|
-
/* @__PURE__ */ (0,
|
|
6964
|
-
/* @__PURE__ */ (0,
|
|
6965
|
-
anim && /* @__PURE__ */ (0,
|
|
7012
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: px(5), children: [
|
|
7013
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
7014
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6966
7015
|
"animateTransform",
|
|
6967
7016
|
{
|
|
6968
7017
|
attributeName: "transform",
|
|
@@ -6975,28 +7024,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6975
7024
|
),
|
|
6976
7025
|
Array.from({ length: 6 }, (_, i) => {
|
|
6977
7026
|
const a = Math.PI / 3 * i;
|
|
6978
|
-
return /* @__PURE__ */ (0,
|
|
7027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6979
7028
|
"path",
|
|
6980
7029
|
{
|
|
6981
7030
|
d: diamondPath(10, 22),
|
|
6982
7031
|
transform: `translate(${c + innerR * Math.cos(a)},${c + innerR * Math.sin(a)}) rotate(${i * 60})`,
|
|
6983
7032
|
fill: "url(#kh-gp)",
|
|
6984
7033
|
opacity: "0.15",
|
|
6985
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7034
|
+
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" })
|
|
6986
7035
|
},
|
|
6987
7036
|
`d-${i}`
|
|
6988
7037
|
);
|
|
6989
7038
|
}),
|
|
6990
7039
|
Array.from({ length: 6 }, (_, i) => {
|
|
6991
7040
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6992
|
-
return /* @__PURE__ */ (0,
|
|
7041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6993
7042
|
"path",
|
|
6994
7043
|
{
|
|
6995
7044
|
d: triPath(8),
|
|
6996
7045
|
transform: `translate(${c + innerR * 0.75 * Math.cos(a)},${c + innerR * 0.75 * Math.sin(a)}) rotate(${i * 60 + 30})`,
|
|
6997
7046
|
fill: "url(#kh-oc)",
|
|
6998
7047
|
opacity: "0.1",
|
|
6999
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7048
|
+
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" })
|
|
7000
7049
|
},
|
|
7001
7050
|
`it-${i}`
|
|
7002
7051
|
);
|
|
@@ -7004,7 +7053,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7004
7053
|
Array.from({ length: 12 }, (_, i) => {
|
|
7005
7054
|
const a = Math.PI / 6 * i;
|
|
7006
7055
|
const r = innerR * (i % 2 === 0 ? 0.55 : 0.65);
|
|
7007
|
-
return /* @__PURE__ */ (0,
|
|
7056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7008
7057
|
"circle",
|
|
7009
7058
|
{
|
|
7010
7059
|
cx: c + r * Math.cos(a),
|
|
@@ -7012,14 +7061,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7012
7061
|
r: i % 2 === 0 ? 2 : 1.5,
|
|
7013
7062
|
fill: "url(#kh-oc)",
|
|
7014
7063
|
opacity: "0.2",
|
|
7015
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7064
|
+
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" })
|
|
7016
7065
|
},
|
|
7017
7066
|
`id-${i}`
|
|
7018
7067
|
);
|
|
7019
7068
|
})
|
|
7020
7069
|
] }),
|
|
7021
|
-
/* @__PURE__ */ (0,
|
|
7022
|
-
anim && /* @__PURE__ */ (0,
|
|
7070
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
7071
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7023
7072
|
"animateTransform",
|
|
7024
7073
|
{
|
|
7025
7074
|
attributeName: "transform",
|
|
@@ -7032,27 +7081,27 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7032
7081
|
),
|
|
7033
7082
|
Array.from({ length: 6 }, (_, i) => {
|
|
7034
7083
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
7035
|
-
return /* @__PURE__ */ (0,
|
|
7084
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7036
7085
|
"path",
|
|
7037
7086
|
{
|
|
7038
7087
|
d: hexPath2(6),
|
|
7039
7088
|
transform: `translate(${c + innerR * 0.42 * Math.cos(a)},${c + innerR * 0.42 * Math.sin(a)})`,
|
|
7040
7089
|
fill: "url(#kh-bp)",
|
|
7041
7090
|
opacity: "0.1",
|
|
7042
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7091
|
+
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" })
|
|
7043
7092
|
},
|
|
7044
7093
|
`ih-${i}`
|
|
7045
7094
|
);
|
|
7046
7095
|
})
|
|
7047
7096
|
] })
|
|
7048
7097
|
] }),
|
|
7049
|
-
/* @__PURE__ */ (0,
|
|
7098
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
|
|
7050
7099
|
const a = Math.PI * 2 * i / 16;
|
|
7051
7100
|
const baseR = 60 + i % 4 * 45;
|
|
7052
7101
|
const x = c + baseR * Math.cos(a);
|
|
7053
7102
|
const y = c + baseR * Math.sin(a);
|
|
7054
7103
|
const colors2 = ["#0e9dff", "#8a5cf6", "#22c55e", "#F7931A", "#06b6d4", "#15E99A"];
|
|
7055
|
-
return /* @__PURE__ */ (0,
|
|
7104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7056
7105
|
"circle",
|
|
7057
7106
|
{
|
|
7058
7107
|
cx: x,
|
|
@@ -7060,26 +7109,26 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7060
7109
|
r: 1 + i % 3 * 0.5,
|
|
7061
7110
|
fill: colors2[i % colors2.length],
|
|
7062
7111
|
opacity: "0",
|
|
7063
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7064
|
-
/* @__PURE__ */ (0,
|
|
7065
|
-
/* @__PURE__ */ (0,
|
|
7066
|
-
/* @__PURE__ */ (0,
|
|
7112
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7113
|
+
/* @__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` }),
|
|
7114
|
+
/* @__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` }),
|
|
7115
|
+
/* @__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` })
|
|
7067
7116
|
] })
|
|
7068
7117
|
},
|
|
7069
7118
|
`p-${i}`
|
|
7070
7119
|
);
|
|
7071
7120
|
}) }),
|
|
7072
|
-
/* @__PURE__ */ (0,
|
|
7073
|
-
/* @__PURE__ */ (0,
|
|
7074
|
-
/* @__PURE__ */ (0,
|
|
7075
|
-
/* @__PURE__ */ (0,
|
|
7076
|
-
/* @__PURE__ */ (0,
|
|
7121
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { children: [
|
|
7122
|
+
/* @__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" }) }),
|
|
7123
|
+
/* @__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: [
|
|
7124
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
|
|
7125
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
7077
7126
|
] }) }),
|
|
7078
|
-
/* @__PURE__ */ (0,
|
|
7079
|
-
/* @__PURE__ */ (0,
|
|
7080
|
-
/* @__PURE__ */ (0,
|
|
7127
|
+
/* @__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: [
|
|
7128
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
7129
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
7081
7130
|
] }) }),
|
|
7082
|
-
/* @__PURE__ */ (0,
|
|
7131
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7083
7132
|
"path",
|
|
7084
7133
|
{
|
|
7085
7134
|
d: hexPath2(50),
|
|
@@ -7089,13 +7138,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7089
7138
|
strokeWidth: "1.5",
|
|
7090
7139
|
opacity: "0.4",
|
|
7091
7140
|
filter: "url(#kh-glow)",
|
|
7092
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7093
|
-
/* @__PURE__ */ (0,
|
|
7094
|
-
/* @__PURE__ */ (0,
|
|
7141
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_jsx_runtime73.Fragment, { children: [
|
|
7142
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
7143
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
7095
7144
|
] })
|
|
7096
7145
|
}
|
|
7097
7146
|
),
|
|
7098
|
-
/* @__PURE__ */ (0,
|
|
7147
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
7099
7148
|
"path",
|
|
7100
7149
|
{
|
|
7101
7150
|
d: hexPath2(46),
|
|
@@ -7105,21 +7154,21 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7105
7154
|
strokeWidth: "0.5"
|
|
7106
7155
|
}
|
|
7107
7156
|
),
|
|
7108
|
-
/* @__PURE__ */ (0,
|
|
7109
|
-
/* @__PURE__ */ (0,
|
|
7110
|
-
/* @__PURE__ */ (0,
|
|
7111
|
-
/* @__PURE__ */ (0,
|
|
7112
|
-
/* @__PURE__ */ (0,
|
|
7113
|
-
/* @__PURE__ */ (0,
|
|
7114
|
-
/* @__PURE__ */ (0,
|
|
7115
|
-
/* @__PURE__ */ (0,
|
|
7116
|
-
/* @__PURE__ */ (0,
|
|
7117
|
-
/* @__PURE__ */ (0,
|
|
7118
|
-
/* @__PURE__ */ (0,
|
|
7119
|
-
/* @__PURE__ */ (0,
|
|
7120
|
-
/* @__PURE__ */ (0,
|
|
7121
|
-
/* @__PURE__ */ (0,
|
|
7122
|
-
/* @__PURE__ */ (0,
|
|
7157
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
|
|
7158
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
|
|
7159
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
|
|
7160
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
|
|
7161
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
|
|
7162
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
|
|
7163
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
|
|
7164
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
|
|
7165
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
|
|
7166
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
|
|
7167
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
|
|
7168
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
|
|
7169
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
|
|
7170
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
|
|
7171
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
|
|
7123
7172
|
] })
|
|
7124
7173
|
] })
|
|
7125
7174
|
]
|
|
@@ -7253,7 +7302,7 @@ var colors = {
|
|
|
7253
7302
|
};
|
|
7254
7303
|
|
|
7255
7304
|
// src/web/components/deposit-ui-shared.tsx
|
|
7256
|
-
var
|
|
7305
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
7257
7306
|
var GLOW_ALPHA = "26";
|
|
7258
7307
|
function qrGlowStyle(hex) {
|
|
7259
7308
|
return { boxShadow: `0 0 30px ${hex}${GLOW_ALPHA}` };
|
|
@@ -7270,7 +7319,7 @@ var NETWORK_CONFIG = {
|
|
|
7270
7319
|
// On-chain uses a chain-link glyph rather than the ₿ coin — the coin reads
|
|
7271
7320
|
// as "the BTC asset", whereas this row is specifically the *on-chain* (L1)
|
|
7272
7321
|
// receive rail alongside Lightning/Spark/Arkade, so a chain mark disambiguates.
|
|
7273
|
-
icon: /* @__PURE__ */ (0,
|
|
7322
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
|
|
7274
7323
|
},
|
|
7275
7324
|
lightning: {
|
|
7276
7325
|
label: "Lightning",
|
|
@@ -7280,7 +7329,7 @@ var NETWORK_CONFIG = {
|
|
|
7280
7329
|
border: "border-network-lightning/40",
|
|
7281
7330
|
qrBorder: "border-network-lightning/30",
|
|
7282
7331
|
qrGlow: qrGlowStyle(colors.network.lightning),
|
|
7283
|
-
icon: /* @__PURE__ */ (0,
|
|
7332
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
|
|
7284
7333
|
},
|
|
7285
7334
|
spark: {
|
|
7286
7335
|
label: "Spark",
|
|
@@ -7290,7 +7339,7 @@ var NETWORK_CONFIG = {
|
|
|
7290
7339
|
border: "border-info/40",
|
|
7291
7340
|
qrBorder: "border-info/30",
|
|
7292
7341
|
qrGlow: qrGlowStyle(colors.info),
|
|
7293
|
-
icon: /* @__PURE__ */ (0,
|
|
7342
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
|
|
7294
7343
|
},
|
|
7295
7344
|
arkade: {
|
|
7296
7345
|
label: "Arkade",
|
|
@@ -7300,7 +7349,7 @@ var NETWORK_CONFIG = {
|
|
|
7300
7349
|
border: "border-network-arkade/40",
|
|
7301
7350
|
qrBorder: "border-network-arkade/30",
|
|
7302
7351
|
qrGlow: qrGlowStyle(colors.network.arkade),
|
|
7303
|
-
icon: /* @__PURE__ */ (0,
|
|
7352
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
|
|
7304
7353
|
}
|
|
7305
7354
|
};
|
|
7306
7355
|
var ACCOUNT_META = {
|
|
@@ -7309,14 +7358,14 @@ var ACCOUNT_META = {
|
|
|
7309
7358
|
accentBg: "bg-primary/10",
|
|
7310
7359
|
accentText: "text-primary",
|
|
7311
7360
|
accentBorder: "border-primary/30",
|
|
7312
|
-
icon: /* @__PURE__ */ (0,
|
|
7361
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
|
|
7313
7362
|
},
|
|
7314
7363
|
SPARK: {
|
|
7315
7364
|
shortLabel: "Spark",
|
|
7316
7365
|
accentBg: "bg-info/10",
|
|
7317
7366
|
accentText: "text-info",
|
|
7318
7367
|
accentBorder: "border-info/30",
|
|
7319
|
-
icon: /* @__PURE__ */ (0,
|
|
7368
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7320
7369
|
"img",
|
|
7321
7370
|
{
|
|
7322
7371
|
src: "/icons/spark/Asterisk/Spark Asterisk White.svg",
|
|
@@ -7330,7 +7379,7 @@ var ACCOUNT_META = {
|
|
|
7330
7379
|
accentBg: "bg-network-arkade/10",
|
|
7331
7380
|
accentText: "text-network-arkade",
|
|
7332
7381
|
accentBorder: "border-network-arkade/30",
|
|
7333
|
-
icon: /* @__PURE__ */ (0,
|
|
7382
|
+
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" })
|
|
7334
7383
|
}
|
|
7335
7384
|
};
|
|
7336
7385
|
var METHOD_META = {
|
|
@@ -7347,7 +7396,7 @@ function InvoiceStatusBanner({
|
|
|
7347
7396
|
isInvoiceFailedOrExpired,
|
|
7348
7397
|
invoiceStatus
|
|
7349
7398
|
}) {
|
|
7350
|
-
return /* @__PURE__ */ (0,
|
|
7399
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7351
7400
|
"div",
|
|
7352
7401
|
{
|
|
7353
7402
|
className: cn(
|
|
@@ -7355,17 +7404,17 @@ function InvoiceStatusBanner({
|
|
|
7355
7404
|
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"
|
|
7356
7405
|
),
|
|
7357
7406
|
children: [
|
|
7358
|
-
isInvoicePending && /* @__PURE__ */ (0,
|
|
7359
|
-
/* @__PURE__ */ (0,
|
|
7360
|
-
/* @__PURE__ */ (0,
|
|
7407
|
+
isInvoicePending && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
7408
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
|
|
7409
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Waiting for payment..." })
|
|
7361
7410
|
] }),
|
|
7362
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7363
|
-
/* @__PURE__ */ (0,
|
|
7364
|
-
/* @__PURE__ */ (0,
|
|
7411
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
7412
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
|
|
7413
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: "Payment received!" })
|
|
7365
7414
|
] }),
|
|
7366
|
-
isInvoiceFailedOrExpired && /* @__PURE__ */ (0,
|
|
7367
|
-
/* @__PURE__ */ (0,
|
|
7368
|
-
/* @__PURE__ */ (0,
|
|
7415
|
+
isInvoiceFailedOrExpired && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
7416
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
|
|
7417
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("span", { children: [
|
|
7369
7418
|
"Invoice ",
|
|
7370
7419
|
invoiceStatus?.toLowerCase() === "expired" ? "expired" : "failed"
|
|
7371
7420
|
] })
|
|
@@ -7375,20 +7424,20 @@ function InvoiceStatusBanner({
|
|
|
7375
7424
|
);
|
|
7376
7425
|
}
|
|
7377
7426
|
function PaidOverlay() {
|
|
7378
|
-
return /* @__PURE__ */ (0,
|
|
7379
|
-
/* @__PURE__ */ (0,
|
|
7380
|
-
/* @__PURE__ */ (0,
|
|
7427
|
+
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: [
|
|
7428
|
+
/* @__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" }) }),
|
|
7429
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "text-sm font-bold text-primary", children: "Received!" })
|
|
7381
7430
|
] }) });
|
|
7382
7431
|
}
|
|
7383
7432
|
function CopyIcon({ copied }) {
|
|
7384
|
-
return /* @__PURE__ */ (0,
|
|
7433
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
7385
7434
|
"div",
|
|
7386
7435
|
{
|
|
7387
7436
|
className: cn(
|
|
7388
7437
|
"flex-shrink-0 rounded-lg p-2 transition-all",
|
|
7389
7438
|
copied ? "bg-primary/15 text-primary" : "bg-white/5 text-white/40 group-hover:bg-primary/10 group-hover:text-primary"
|
|
7390
7439
|
),
|
|
7391
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
7440
|
+
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" })
|
|
7392
7441
|
}
|
|
7393
7442
|
);
|
|
7394
7443
|
}
|
|
@@ -7399,7 +7448,7 @@ function AccountChoiceChip({
|
|
|
7399
7448
|
label
|
|
7400
7449
|
}) {
|
|
7401
7450
|
const meta = ACCOUNT_META[account];
|
|
7402
|
-
return /* @__PURE__ */ (0,
|
|
7451
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7403
7452
|
"button",
|
|
7404
7453
|
{
|
|
7405
7454
|
type: "button",
|
|
@@ -7411,7 +7460,7 @@ function AccountChoiceChip({
|
|
|
7411
7460
|
),
|
|
7412
7461
|
children: [
|
|
7413
7462
|
meta.icon,
|
|
7414
|
-
/* @__PURE__ */ (0,
|
|
7463
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: label ?? meta.shortLabel })
|
|
7415
7464
|
]
|
|
7416
7465
|
}
|
|
7417
7466
|
);
|
|
@@ -7460,8 +7509,8 @@ function NetworkInfoDisclosure({
|
|
|
7460
7509
|
}) {
|
|
7461
7510
|
const [open, setOpen] = (0, import_react15.useState)(false);
|
|
7462
7511
|
if (networks.length === 0) return null;
|
|
7463
|
-
return /* @__PURE__ */ (0,
|
|
7464
|
-
/* @__PURE__ */ (0,
|
|
7512
|
+
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: [
|
|
7513
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7465
7514
|
"button",
|
|
7466
7515
|
{
|
|
7467
7516
|
type: "button",
|
|
@@ -7469,24 +7518,24 @@ function NetworkInfoDisclosure({
|
|
|
7469
7518
|
"aria-expanded": open,
|
|
7470
7519
|
className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left transition-colors hover:bg-white/4",
|
|
7471
7520
|
children: [
|
|
7472
|
-
/* @__PURE__ */ (0,
|
|
7473
|
-
/* @__PURE__ */ (0,
|
|
7474
|
-
/* @__PURE__ */ (0,
|
|
7521
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Icon, { name: "info", size: "xs", className: "text-white/40" }),
|
|
7522
|
+
/* @__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?" }),
|
|
7523
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
|
|
7475
7524
|
]
|
|
7476
7525
|
}
|
|
7477
7526
|
),
|
|
7478
|
-
open && /* @__PURE__ */ (0,
|
|
7527
|
+
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) => {
|
|
7479
7528
|
const info = NETWORK_INFO[network];
|
|
7480
7529
|
const cfg = NETWORK_CONFIG[network];
|
|
7481
|
-
return /* @__PURE__ */ (0,
|
|
7482
|
-
/* @__PURE__ */ (0,
|
|
7483
|
-
/* @__PURE__ */ (0,
|
|
7484
|
-
/* @__PURE__ */ (0,
|
|
7530
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "space-y-1", children: [
|
|
7531
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
7532
|
+
/* @__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 }),
|
|
7533
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
|
|
7485
7534
|
] }),
|
|
7486
|
-
/* @__PURE__ */ (0,
|
|
7487
|
-
/* @__PURE__ */ (0,
|
|
7488
|
-
/* @__PURE__ */ (0,
|
|
7489
|
-
/* @__PURE__ */ (0,
|
|
7535
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
|
|
7536
|
+
/* @__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: [
|
|
7537
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "mt-[1px] text-white/30", children: "-" }),
|
|
7538
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { children: bullet })
|
|
7490
7539
|
] }, bullet)) })
|
|
7491
7540
|
] }, network);
|
|
7492
7541
|
}) })
|
|
@@ -7500,7 +7549,7 @@ function MethodChoiceChip({
|
|
|
7500
7549
|
onClick
|
|
7501
7550
|
}) {
|
|
7502
7551
|
const meta = METHOD_META[method];
|
|
7503
|
-
return /* @__PURE__ */ (0,
|
|
7552
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
7504
7553
|
"button",
|
|
7505
7554
|
{
|
|
7506
7555
|
type: "button",
|
|
@@ -7513,14 +7562,14 @@ function MethodChoiceChip({
|
|
|
7513
7562
|
),
|
|
7514
7563
|
children: [
|
|
7515
7564
|
meta.label,
|
|
7516
|
-
!enabled && disabledReason && /* @__PURE__ */ (0,
|
|
7565
|
+
!enabled && disabledReason && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
|
|
7517
7566
|
]
|
|
7518
7567
|
}
|
|
7519
7568
|
);
|
|
7520
7569
|
}
|
|
7521
7570
|
|
|
7522
7571
|
// src/web/components/deposit-success-screen.tsx
|
|
7523
|
-
var
|
|
7572
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
7524
7573
|
function DepositSuccessScreen({
|
|
7525
7574
|
handleDone,
|
|
7526
7575
|
displayTicker,
|
|
@@ -7533,20 +7582,20 @@ function DepositSuccessScreen({
|
|
|
7533
7582
|
const isInstant = network === "lightning" || network === "spark";
|
|
7534
7583
|
const title = isInstant ? "Payment Received!" : "Deposit Detected!";
|
|
7535
7584
|
const subtitle = isInstant ? `Your ${displayTicker} has arrived via ${networkLabel}.` : `Incoming deposit detected via ${networkLabel}. Funds will be available after confirmation.`;
|
|
7536
|
-
return /* @__PURE__ */ (0,
|
|
7537
|
-
/* @__PURE__ */ (0,
|
|
7538
|
-
/* @__PURE__ */ (0,
|
|
7539
|
-
/* @__PURE__ */ (0,
|
|
7585
|
+
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: [
|
|
7586
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "relative mb-8", children: [
|
|
7587
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
|
|
7588
|
+
/* @__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" }) })
|
|
7540
7589
|
] }),
|
|
7541
|
-
/* @__PURE__ */ (0,
|
|
7542
|
-
/* @__PURE__ */ (0,
|
|
7543
|
-
/* @__PURE__ */ (0,
|
|
7544
|
-
/* @__PURE__ */ (0,
|
|
7545
|
-
/* @__PURE__ */ (0,
|
|
7546
|
-
/* @__PURE__ */ (0,
|
|
7547
|
-
/* @__PURE__ */ (0,
|
|
7590
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
|
|
7591
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
|
|
7592
|
+
/* @__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: [
|
|
7593
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(AssetIcon, { ticker: displayTicker, size: 36 }),
|
|
7594
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("div", { className: "text-left", children: [
|
|
7595
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "text-sm font-bold text-white", children: displayTicker }),
|
|
7596
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
|
|
7548
7597
|
] }),
|
|
7549
|
-
/* @__PURE__ */ (0,
|
|
7598
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
|
|
7550
7599
|
"div",
|
|
7551
7600
|
{
|
|
7552
7601
|
className: cn(
|
|
@@ -7557,27 +7606,27 @@ function DepositSuccessScreen({
|
|
|
7557
7606
|
),
|
|
7558
7607
|
children: [
|
|
7559
7608
|
net.icon,
|
|
7560
|
-
/* @__PURE__ */ (0,
|
|
7609
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { children: networkLabel })
|
|
7561
7610
|
]
|
|
7562
7611
|
}
|
|
7563
7612
|
)
|
|
7564
7613
|
] }),
|
|
7565
|
-
/* @__PURE__ */ (0,
|
|
7566
|
-
/* @__PURE__ */ (0,
|
|
7614
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
|
|
7615
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
|
|
7567
7616
|
"Back to Wallet"
|
|
7568
7617
|
] })
|
|
7569
7618
|
] }) });
|
|
7570
7619
|
}
|
|
7571
7620
|
|
|
7572
7621
|
// src/web/components/deposit-network-default-modal.tsx
|
|
7573
|
-
var
|
|
7622
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
7574
7623
|
var NETWORK_OPTIONS = {
|
|
7575
7624
|
RGB: {
|
|
7576
7625
|
network: "onchain",
|
|
7577
7626
|
account: "RGB",
|
|
7578
7627
|
label: "On-chain / Lightning",
|
|
7579
7628
|
description: "Classic Bitcoin address or Lightning invoice via the RLN node.",
|
|
7580
|
-
icon: /* @__PURE__ */ (0,
|
|
7629
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
|
|
7581
7630
|
accentBg: "bg-network-bitcoin/10",
|
|
7582
7631
|
accentBorder: "border-network-bitcoin/30",
|
|
7583
7632
|
accentText: "text-network-bitcoin"
|
|
@@ -7587,7 +7636,7 @@ var NETWORK_OPTIONS = {
|
|
|
7587
7636
|
account: "SPARK",
|
|
7588
7637
|
label: "Spark",
|
|
7589
7638
|
description: "Receive directly into your Spark account. Fast and free.",
|
|
7590
|
-
icon: /* @__PURE__ */ (0,
|
|
7639
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
|
|
7591
7640
|
accentBg: "bg-info/10",
|
|
7592
7641
|
accentBorder: "border-info/30",
|
|
7593
7642
|
accentText: "text-info"
|
|
@@ -7597,7 +7646,7 @@ var NETWORK_OPTIONS = {
|
|
|
7597
7646
|
account: "ARKADE",
|
|
7598
7647
|
label: "Arkade",
|
|
7599
7648
|
description: "Receive directly into your Arkade account. Low fees, near-instant settlement.",
|
|
7600
|
-
icon: /* @__PURE__ */ (0,
|
|
7649
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
|
|
7601
7650
|
accentBg: "bg-network-arkade/10",
|
|
7602
7651
|
accentBorder: "border-network-arkade/30",
|
|
7603
7652
|
accentText: "text-network-arkade"
|
|
@@ -7612,20 +7661,20 @@ function DepositNetworkDefaultModal({
|
|
|
7612
7661
|
}) {
|
|
7613
7662
|
if (!open) return null;
|
|
7614
7663
|
const options = availableAccounts.map((id) => NETWORK_OPTIONS[id]).filter(Boolean);
|
|
7615
|
-
return /* @__PURE__ */ (0,
|
|
7616
|
-
/* @__PURE__ */ (0,
|
|
7617
|
-
/* @__PURE__ */ (0,
|
|
7618
|
-
/* @__PURE__ */ (0,
|
|
7619
|
-
/* @__PURE__ */ (0,
|
|
7664
|
+
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: [
|
|
7665
|
+
/* @__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" }) }),
|
|
7666
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { children: [
|
|
7667
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
|
|
7668
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("p", { className: "mt-0.5 text-tiny text-white/45", children: [
|
|
7620
7669
|
"Pick how you would like to receive",
|
|
7621
7670
|
" ",
|
|
7622
|
-
/* @__PURE__ */ (0,
|
|
7671
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
|
|
7623
7672
|
" by default. You can always switch in the deposit screen."
|
|
7624
7673
|
] })
|
|
7625
7674
|
] }),
|
|
7626
|
-
/* @__PURE__ */ (0,
|
|
7675
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "space-y-2", children: options.map((option) => {
|
|
7627
7676
|
const isSuggested = option.account === suggestedAccount;
|
|
7628
|
-
return /* @__PURE__ */ (0,
|
|
7677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7629
7678
|
"button",
|
|
7630
7679
|
{
|
|
7631
7680
|
type: "button",
|
|
@@ -7635,7 +7684,7 @@ function DepositNetworkDefaultModal({
|
|
|
7635
7684
|
isSuggested ? cn("border-2", option.accentBorder, option.accentBg) : "border border-white/8 bg-white/4 hover:bg-white/8"
|
|
7636
7685
|
),
|
|
7637
7686
|
children: [
|
|
7638
|
-
/* @__PURE__ */ (0,
|
|
7687
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7639
7688
|
"div",
|
|
7640
7689
|
{
|
|
7641
7690
|
className: cn(
|
|
@@ -7646,10 +7695,10 @@ function DepositNetworkDefaultModal({
|
|
|
7646
7695
|
children: option.icon
|
|
7647
7696
|
}
|
|
7648
7697
|
),
|
|
7649
|
-
/* @__PURE__ */ (0,
|
|
7650
|
-
/* @__PURE__ */ (0,
|
|
7651
|
-
/* @__PURE__ */ (0,
|
|
7652
|
-
isSuggested && /* @__PURE__ */ (0,
|
|
7698
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
7699
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
7700
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
|
|
7701
|
+
isSuggested && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7653
7702
|
"span",
|
|
7654
7703
|
{
|
|
7655
7704
|
className: cn(
|
|
@@ -7661,9 +7710,9 @@ function DepositNetworkDefaultModal({
|
|
|
7661
7710
|
}
|
|
7662
7711
|
)
|
|
7663
7712
|
] }),
|
|
7664
|
-
/* @__PURE__ */ (0,
|
|
7713
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
|
|
7665
7714
|
] }),
|
|
7666
|
-
/* @__PURE__ */ (0,
|
|
7715
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7667
7716
|
"span",
|
|
7668
7717
|
{
|
|
7669
7718
|
className: cn(
|
|
@@ -7683,7 +7732,7 @@ function DepositNetworkDefaultModal({
|
|
|
7683
7732
|
|
|
7684
7733
|
// src/web/components/btc-unified-receive.tsx
|
|
7685
7734
|
var import_react16 = require("react");
|
|
7686
|
-
var
|
|
7735
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
7687
7736
|
function formatSatsForRow(value) {
|
|
7688
7737
|
if (!value || value <= 0 || !Number.isFinite(value)) return null;
|
|
7689
7738
|
return `${value.toLocaleString("en-US")} sats`;
|
|
@@ -7715,46 +7764,46 @@ function BtcUnifiedReceive({
|
|
|
7715
7764
|
setInvoiceStatus(null);
|
|
7716
7765
|
setAccountReceiveResult(null);
|
|
7717
7766
|
};
|
|
7718
|
-
return /* @__PURE__ */ (0,
|
|
7719
|
-
/* @__PURE__ */ (0,
|
|
7720
|
-
/* @__PURE__ */ (0,
|
|
7721
|
-
/* @__PURE__ */ (0,
|
|
7722
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7767
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7768
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7769
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "relative flex flex-col items-center p-2", children: [
|
|
7770
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
|
|
7771
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(PaidOverlay, {})
|
|
7723
7772
|
] }),
|
|
7724
|
-
/* @__PURE__ */ (0,
|
|
7725
|
-
/* @__PURE__ */ (0,
|
|
7773
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center justify-center gap-2.5", children: [
|
|
7774
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7726
7775
|
Button,
|
|
7727
7776
|
{
|
|
7728
7777
|
variant: "surface",
|
|
7729
7778
|
size: "icon-xl",
|
|
7730
7779
|
"aria-label": `Copy ${accountReceiveResult.qrLabel}`,
|
|
7731
7780
|
onClick: () => void copyToClipboard(accountReceiveResult.qrValue),
|
|
7732
|
-
children: /* @__PURE__ */ (0,
|
|
7781
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
|
|
7733
7782
|
}
|
|
7734
7783
|
),
|
|
7735
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
7784
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7736
7785
|
Button,
|
|
7737
7786
|
{
|
|
7738
7787
|
variant: "surface",
|
|
7739
7788
|
size: "icon-xl",
|
|
7740
7789
|
"aria-label": "New address",
|
|
7741
7790
|
onClick: handleNewAddress,
|
|
7742
|
-
children: /* @__PURE__ */ (0,
|
|
7791
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: "refresh", size: "lg" })
|
|
7743
7792
|
}
|
|
7744
7793
|
),
|
|
7745
|
-
/* @__PURE__ */ (0,
|
|
7794
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7746
7795
|
Button,
|
|
7747
7796
|
{
|
|
7748
7797
|
variant: "surface",
|
|
7749
7798
|
size: "icon-xl",
|
|
7750
7799
|
"aria-label": "Edit amount and description",
|
|
7751
7800
|
onClick: () => setShowEdit(true),
|
|
7752
|
-
children: /* @__PURE__ */ (0,
|
|
7801
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: "edit", size: "lg" })
|
|
7753
7802
|
}
|
|
7754
7803
|
)
|
|
7755
7804
|
] })
|
|
7756
7805
|
] }),
|
|
7757
|
-
invoiceStatus && /* @__PURE__ */ (0,
|
|
7806
|
+
invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7758
7807
|
InvoiceStatusBanner,
|
|
7759
7808
|
{
|
|
7760
7809
|
isInvoicePending,
|
|
@@ -7763,11 +7812,11 @@ function BtcUnifiedReceive({
|
|
|
7763
7812
|
invoiceStatus
|
|
7764
7813
|
}
|
|
7765
7814
|
),
|
|
7766
|
-
/* @__PURE__ */ (0,
|
|
7767
|
-
/* @__PURE__ */ (0,
|
|
7815
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-1.5", children: [
|
|
7816
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
|
|
7768
7817
|
accountReceiveResult.addresses.map((address) => {
|
|
7769
7818
|
const network = NETWORK_CONFIG[address.network];
|
|
7770
|
-
return /* @__PURE__ */ (0,
|
|
7819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7771
7820
|
"div",
|
|
7772
7821
|
{
|
|
7773
7822
|
className: cn(
|
|
@@ -7777,35 +7826,35 @@ function BtcUnifiedReceive({
|
|
|
7777
7826
|
style: { borderLeftWidth: 3, borderLeftColor: network.color },
|
|
7778
7827
|
onClick: () => void copyToClipboard(address.value),
|
|
7779
7828
|
children: [
|
|
7780
|
-
/* @__PURE__ */ (0,
|
|
7781
|
-
/* @__PURE__ */ (0,
|
|
7782
|
-
/* @__PURE__ */ (0,
|
|
7783
|
-
/* @__PURE__ */ (0,
|
|
7829
|
+
/* @__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 }),
|
|
7830
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
7831
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
7832
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
|
|
7784
7833
|
(() => {
|
|
7785
7834
|
const amountLabel = formatSatsForRow(address.amountSats);
|
|
7786
|
-
return amountLabel ? /* @__PURE__ */ (0,
|
|
7835
|
+
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;
|
|
7787
7836
|
})()
|
|
7788
7837
|
] }),
|
|
7789
|
-
/* @__PURE__ */ (0,
|
|
7838
|
+
/* @__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 })
|
|
7790
7839
|
] }),
|
|
7791
|
-
/* @__PURE__ */ (0,
|
|
7840
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(CopyIcon, { copied: copied === address.value })
|
|
7792
7841
|
]
|
|
7793
7842
|
},
|
|
7794
7843
|
address.network
|
|
7795
7844
|
);
|
|
7796
7845
|
})
|
|
7797
7846
|
] }),
|
|
7798
|
-
/* @__PURE__ */ (0,
|
|
7847
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7799
7848
|
BottomSheet,
|
|
7800
7849
|
{
|
|
7801
7850
|
open: showEdit,
|
|
7802
7851
|
title: "Edit request",
|
|
7803
|
-
icon: /* @__PURE__ */ (0,
|
|
7852
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Icon, { name: "edit", size: "md" }),
|
|
7804
7853
|
onClose: () => setShowEdit(false),
|
|
7805
|
-
children: /* @__PURE__ */ (0,
|
|
7806
|
-
/* @__PURE__ */ (0,
|
|
7807
|
-
/* @__PURE__ */ (0,
|
|
7808
|
-
/* @__PURE__ */ (0,
|
|
7854
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-4", children: [
|
|
7855
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-1.5", children: [
|
|
7856
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
|
|
7857
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7809
7858
|
"input",
|
|
7810
7859
|
{
|
|
7811
7860
|
type: "text",
|
|
@@ -7816,14 +7865,14 @@ function BtcUnifiedReceive({
|
|
|
7816
7865
|
inputMode: "decimal"
|
|
7817
7866
|
}
|
|
7818
7867
|
),
|
|
7819
|
-
amount && loading && /* @__PURE__ */ (0,
|
|
7820
|
-
/* @__PURE__ */ (0,
|
|
7868
|
+
amount && loading && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
|
|
7869
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7821
7870
|
"Updating invoice..."
|
|
7822
7871
|
] })
|
|
7823
7872
|
] }),
|
|
7824
|
-
onDescriptionChange && /* @__PURE__ */ (0,
|
|
7825
|
-
/* @__PURE__ */ (0,
|
|
7826
|
-
/* @__PURE__ */ (0,
|
|
7873
|
+
onDescriptionChange && /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "space-y-1.5", children: [
|
|
7874
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
|
|
7875
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
7827
7876
|
"input",
|
|
7828
7877
|
{
|
|
7829
7878
|
type: "text",
|
|
@@ -7834,7 +7883,7 @@ function BtcUnifiedReceive({
|
|
|
7834
7883
|
}
|
|
7835
7884
|
)
|
|
7836
7885
|
] }),
|
|
7837
|
-
/* @__PURE__ */ (0,
|
|
7886
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
|
|
7838
7887
|
] })
|
|
7839
7888
|
}
|
|
7840
7889
|
)
|
|
@@ -7842,7 +7891,7 @@ function BtcUnifiedReceive({
|
|
|
7842
7891
|
}
|
|
7843
7892
|
|
|
7844
7893
|
// src/web/components/deposit-generated-view.tsx
|
|
7845
|
-
var
|
|
7894
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
7846
7895
|
function parseAssetAmount(amountString, asset) {
|
|
7847
7896
|
const value = Number(amountString);
|
|
7848
7897
|
if (!Number.isFinite(value)) return 0;
|
|
@@ -7883,10 +7932,10 @@ function DepositGeneratedView({
|
|
|
7883
7932
|
showRegenerate = true,
|
|
7884
7933
|
onRegenerate
|
|
7885
7934
|
}) {
|
|
7886
|
-
return /* @__PURE__ */ (0,
|
|
7887
|
-
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0,
|
|
7888
|
-
/* @__PURE__ */ (0,
|
|
7889
|
-
/* @__PURE__ */ (0,
|
|
7935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
7936
|
+
(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: [
|
|
7937
|
+
/* @__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)" }) }),
|
|
7938
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7890
7939
|
"input",
|
|
7891
7940
|
{
|
|
7892
7941
|
type: "text",
|
|
@@ -7897,16 +7946,16 @@ function DepositGeneratedView({
|
|
|
7897
7946
|
inputMode: "decimal"
|
|
7898
7947
|
}
|
|
7899
7948
|
),
|
|
7900
|
-
amount && /* @__PURE__ */ (0,
|
|
7901
|
-
/* @__PURE__ */ (0,
|
|
7949
|
+
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: [
|
|
7950
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7902
7951
|
"Updating ",
|
|
7903
7952
|
network === "arkade" ? "URI" : "invoice",
|
|
7904
7953
|
"..."
|
|
7905
7954
|
] }) : network === "arkade" ? `Unified URI for ${amount} ${getUnitLabel()}` : `Invoice for ${amount} ${getUnitLabel()}` })
|
|
7906
7955
|
] }),
|
|
7907
|
-
network === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
7908
|
-
/* @__PURE__ */ (0,
|
|
7909
|
-
/* @__PURE__ */ (0,
|
|
7956
|
+
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: [
|
|
7957
|
+
/* @__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)" }) }),
|
|
7958
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7910
7959
|
"input",
|
|
7911
7960
|
{
|
|
7912
7961
|
type: "text",
|
|
@@ -7917,19 +7966,19 @@ function DepositGeneratedView({
|
|
|
7917
7966
|
inputMode: "decimal"
|
|
7918
7967
|
}
|
|
7919
7968
|
),
|
|
7920
|
-
amount && /* @__PURE__ */ (0,
|
|
7921
|
-
/* @__PURE__ */ (0,
|
|
7969
|
+
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: [
|
|
7970
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
7922
7971
|
"Updating invoice..."
|
|
7923
7972
|
] }) : `Invoice for ${amount} ${getUnitLabel()}` }),
|
|
7924
|
-
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0,
|
|
7973
|
+
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: [
|
|
7925
7974
|
"Exceeds max: ",
|
|
7926
7975
|
formatAssetAmount(maxDepositAmount, selectedAsset),
|
|
7927
7976
|
" ",
|
|
7928
7977
|
getUnitLabel()
|
|
7929
7978
|
] })
|
|
7930
7979
|
] }),
|
|
7931
|
-
/* @__PURE__ */ (0,
|
|
7932
|
-
/* @__PURE__ */ (0,
|
|
7980
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
7981
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7933
7982
|
"div",
|
|
7934
7983
|
{
|
|
7935
7984
|
className: cn(
|
|
@@ -7938,7 +7987,7 @@ function DepositGeneratedView({
|
|
|
7938
7987
|
),
|
|
7939
7988
|
style: net.qrGlow,
|
|
7940
7989
|
children: [
|
|
7941
|
-
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0,
|
|
7990
|
+
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7942
7991
|
"div",
|
|
7943
7992
|
{
|
|
7944
7993
|
className: cn(
|
|
@@ -7948,21 +7997,21 @@ function DepositGeneratedView({
|
|
|
7948
7997
|
),
|
|
7949
7998
|
children: [
|
|
7950
7999
|
net.icon,
|
|
7951
|
-
/* @__PURE__ */ (0,
|
|
8000
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { children: net.label })
|
|
7952
8001
|
]
|
|
7953
8002
|
}
|
|
7954
8003
|
),
|
|
7955
|
-
/* @__PURE__ */ (0,
|
|
7956
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
8004
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(QrCode, { value: address, size: 188 }),
|
|
8005
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(PaidOverlay, {}),
|
|
7957
8006
|
loading && !isInvoicePaid && // Loading scrim — sits over the QR while a fresh address/invoice
|
|
7958
8007
|
// is being fetched (e.g. after the New Address button).
|
|
7959
|
-
/* @__PURE__ */ (0,
|
|
8008
|
+
/* @__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" }) })
|
|
7960
8009
|
]
|
|
7961
8010
|
}
|
|
7962
8011
|
),
|
|
7963
8012
|
(() => {
|
|
7964
8013
|
const isAddressCopied = copied === address;
|
|
7965
|
-
return /* @__PURE__ */ (0,
|
|
8014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7966
8015
|
"button",
|
|
7967
8016
|
{
|
|
7968
8017
|
type: "button",
|
|
@@ -7975,14 +8024,14 @@ function DepositGeneratedView({
|
|
|
7975
8024
|
void copyToClipboard(address);
|
|
7976
8025
|
},
|
|
7977
8026
|
children: [
|
|
7978
|
-
/* @__PURE__ */ (0,
|
|
8027
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
|
|
7979
8028
|
isAddressCopied ? "Copied" : network === "lightning" ? "Copy Invoice" : "Copy Address"
|
|
7980
8029
|
]
|
|
7981
8030
|
}
|
|
7982
8031
|
);
|
|
7983
8032
|
})()
|
|
7984
8033
|
] }),
|
|
7985
|
-
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0,
|
|
8034
|
+
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
7986
8035
|
InvoiceStatusBanner,
|
|
7987
8036
|
{
|
|
7988
8037
|
isInvoicePending,
|
|
@@ -7991,7 +8040,7 @@ function DepositGeneratedView({
|
|
|
7991
8040
|
invoiceStatus
|
|
7992
8041
|
}
|
|
7993
8042
|
),
|
|
7994
|
-
/* @__PURE__ */ (0,
|
|
8043
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7995
8044
|
"div",
|
|
7996
8045
|
{
|
|
7997
8046
|
"data-testid": "deposit-generated-address",
|
|
@@ -8004,16 +8053,16 @@ function DepositGeneratedView({
|
|
|
8004
8053
|
style: { borderLeftWidth: 3, borderLeftColor: net.color },
|
|
8005
8054
|
onClick: () => void copyToClipboard(address),
|
|
8006
8055
|
children: [
|
|
8007
|
-
/* @__PURE__ */ (0,
|
|
8008
|
-
/* @__PURE__ */ (0,
|
|
8009
|
-
/* @__PURE__ */ (0,
|
|
8010
|
-
/* @__PURE__ */ (0,
|
|
8056
|
+
/* @__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 }),
|
|
8057
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8058
|
+
/* @__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 }) }),
|
|
8059
|
+
/* @__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 })
|
|
8011
8060
|
] }),
|
|
8012
|
-
/* @__PURE__ */ (0,
|
|
8061
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(CopyIcon, { copied: copied === address })
|
|
8013
8062
|
]
|
|
8014
8063
|
}
|
|
8015
8064
|
),
|
|
8016
|
-
recipientId && /* @__PURE__ */ (0,
|
|
8065
|
+
recipientId && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
8017
8066
|
"div",
|
|
8018
8067
|
{
|
|
8019
8068
|
className: cn(
|
|
@@ -8023,16 +8072,16 @@ function DepositGeneratedView({
|
|
|
8023
8072
|
style: { borderLeftWidth: 3, borderLeftColor: "var(--primary)" },
|
|
8024
8073
|
onClick: () => void copyToClipboard(recipientId),
|
|
8025
8074
|
children: [
|
|
8026
|
-
/* @__PURE__ */ (0,
|
|
8027
|
-
/* @__PURE__ */ (0,
|
|
8028
|
-
/* @__PURE__ */ (0,
|
|
8029
|
-
/* @__PURE__ */ (0,
|
|
8075
|
+
/* @__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" }) }),
|
|
8076
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8077
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
|
|
8078
|
+
/* @__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 })
|
|
8030
8079
|
] }),
|
|
8031
|
-
/* @__PURE__ */ (0,
|
|
8080
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(CopyIcon, { copied: copied === recipientId })
|
|
8032
8081
|
]
|
|
8033
8082
|
}
|
|
8034
8083
|
),
|
|
8035
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
8084
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
8036
8085
|
"button",
|
|
8037
8086
|
{
|
|
8038
8087
|
type: "button",
|
|
@@ -8050,7 +8099,7 @@ function DepositGeneratedView({
|
|
|
8050
8099
|
setInvoiceStatus(null);
|
|
8051
8100
|
},
|
|
8052
8101
|
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",
|
|
8053
|
-
children: /* @__PURE__ */ (0,
|
|
8102
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
8054
8103
|
"span",
|
|
8055
8104
|
{
|
|
8056
8105
|
className: cn("material-symbols-outlined text-icon-md", loading && "animate-spin"),
|
|
@@ -8063,7 +8112,7 @@ function DepositGeneratedView({
|
|
|
8063
8112
|
}
|
|
8064
8113
|
|
|
8065
8114
|
// src/web/components/deposit-pre-generation.tsx
|
|
8066
|
-
var
|
|
8115
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
8067
8116
|
var ACCOUNT_TITLES = {
|
|
8068
8117
|
RGB: "RGB & Lightning",
|
|
8069
8118
|
SPARK: "Spark",
|
|
@@ -8108,58 +8157,58 @@ function DepositPreGeneration({
|
|
|
8108
8157
|
}) {
|
|
8109
8158
|
const method = METHOD_META2[currentMethod];
|
|
8110
8159
|
const isRgbOnchain = network === "onchain" && !isBtc;
|
|
8111
|
-
return /* @__PURE__ */ (0,
|
|
8112
|
-
showReceiveSummary && /* @__PURE__ */ (0,
|
|
8113
|
-
/* @__PURE__ */ (0,
|
|
8114
|
-
/* @__PURE__ */ (0,
|
|
8115
|
-
/* @__PURE__ */ (0,
|
|
8116
|
-
/* @__PURE__ */ (0,
|
|
8117
|
-
/* @__PURE__ */ (0,
|
|
8160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-3", children: [
|
|
8161
|
+
showReceiveSummary && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "rounded-2xl border border-white/8 bg-white/4 p-3", children: [
|
|
8162
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
|
|
8163
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
|
|
8164
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8165
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-white/45", children: "Asset" }),
|
|
8166
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
|
|
8118
8167
|
] }),
|
|
8119
|
-
/* @__PURE__ */ (0,
|
|
8120
|
-
/* @__PURE__ */ (0,
|
|
8121
|
-
/* @__PURE__ */ (0,
|
|
8168
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8169
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-white/45", children: "Destination account" }),
|
|
8170
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
|
|
8122
8171
|
] }),
|
|
8123
|
-
/* @__PURE__ */ (0,
|
|
8124
|
-
/* @__PURE__ */ (0,
|
|
8125
|
-
/* @__PURE__ */ (0,
|
|
8172
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8173
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-white/45", children: "Transfer method" }),
|
|
8174
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-bold text-white", children: method.label })
|
|
8126
8175
|
] }),
|
|
8127
|
-
/* @__PURE__ */ (0,
|
|
8176
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny text-white/35", children: method.summary })
|
|
8128
8177
|
] })
|
|
8129
8178
|
] }),
|
|
8130
|
-
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
8131
|
-
/* @__PURE__ */ (0,
|
|
8132
|
-
/* @__PURE__ */ (0,
|
|
8179
|
+
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: [
|
|
8180
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
|
|
8181
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
|
|
8133
8182
|
] }),
|
|
8134
|
-
showChannelWarning && /* @__PURE__ */ (0,
|
|
8135
|
-
/* @__PURE__ */ (0,
|
|
8136
|
-
/* @__PURE__ */ (0,
|
|
8183
|
+
showChannelWarning && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8184
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
|
|
8185
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
|
|
8137
8186
|
] }),
|
|
8138
|
-
showLiquidityWarning && /* @__PURE__ */ (0,
|
|
8139
|
-
/* @__PURE__ */ (0,
|
|
8140
|
-
/* @__PURE__ */ (0,
|
|
8187
|
+
showLiquidityWarning && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8188
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
|
|
8189
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "text-tiny text-warning/70", children: [
|
|
8141
8190
|
"No channels with inbound capacity for ",
|
|
8142
8191
|
selectedAsset?.ticker ?? "this asset",
|
|
8143
8192
|
"."
|
|
8144
8193
|
] })
|
|
8145
8194
|
] }),
|
|
8146
|
-
isAutoGenerate && loading && /* @__PURE__ */ (0,
|
|
8147
|
-
/* @__PURE__ */ (0,
|
|
8148
|
-
/* @__PURE__ */ (0,
|
|
8149
|
-
/* @__PURE__ */ (0,
|
|
8195
|
+
isAutoGenerate && loading && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8196
|
+
/* @__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" }) }),
|
|
8197
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
8198
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "text-sm font-bold text-muted-foreground", children: [
|
|
8150
8199
|
"Generating ",
|
|
8151
8200
|
network === "lightning" ? "invoice" : "address",
|
|
8152
8201
|
"..."
|
|
8153
8202
|
] }),
|
|
8154
|
-
/* @__PURE__ */ (0,
|
|
8203
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "text-xs text-white/30", children: [
|
|
8155
8204
|
net.label,
|
|
8156
8205
|
" network"
|
|
8157
8206
|
] })
|
|
8158
8207
|
] })
|
|
8159
8208
|
] }),
|
|
8160
|
-
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0,
|
|
8161
|
-
/* @__PURE__ */ (0,
|
|
8162
|
-
/* @__PURE__ */ (0,
|
|
8209
|
+
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8210
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
|
|
8211
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8163
8212
|
"input",
|
|
8164
8213
|
{
|
|
8165
8214
|
type: "text",
|
|
@@ -8171,15 +8220,15 @@ function DepositPreGeneration({
|
|
|
8171
8220
|
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"
|
|
8172
8221
|
}
|
|
8173
8222
|
),
|
|
8174
|
-
/* @__PURE__ */ (0,
|
|
8223
|
+
/* @__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." })
|
|
8175
8224
|
] }),
|
|
8176
|
-
isRgbOnchain && /* @__PURE__ */ (0,
|
|
8177
|
-
/* @__PURE__ */ (0,
|
|
8178
|
-
/* @__PURE__ */ (0,
|
|
8179
|
-
/* @__PURE__ */ (0,
|
|
8180
|
-
/* @__PURE__ */ (0,
|
|
8225
|
+
isRgbOnchain && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-2.5 rounded-xl border bg-card p-3", children: [
|
|
8226
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8227
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8228
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
|
|
8229
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
|
|
8181
8230
|
] }),
|
|
8182
|
-
/* @__PURE__ */ (0,
|
|
8231
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8183
8232
|
"button",
|
|
8184
8233
|
{
|
|
8185
8234
|
type: "button",
|
|
@@ -8189,7 +8238,7 @@ function DepositPreGeneration({
|
|
|
8189
8238
|
usePrivacy ? "bg-primary" : "bg-white/10"
|
|
8190
8239
|
),
|
|
8191
8240
|
onClick: () => setUsePrivacy(!usePrivacy),
|
|
8192
|
-
children: /* @__PURE__ */ (0,
|
|
8241
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8193
8242
|
"span",
|
|
8194
8243
|
{
|
|
8195
8244
|
className: cn(
|
|
@@ -8201,8 +8250,8 @@ function DepositPreGeneration({
|
|
|
8201
8250
|
}
|
|
8202
8251
|
)
|
|
8203
8252
|
] }),
|
|
8204
|
-
/* @__PURE__ */ (0,
|
|
8205
|
-
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0,
|
|
8253
|
+
/* @__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." }),
|
|
8254
|
+
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
8206
8255
|
"div",
|
|
8207
8256
|
{
|
|
8208
8257
|
className: cn(
|
|
@@ -8210,26 +8259,26 @@ function DepositPreGeneration({
|
|
|
8210
8259
|
colorableUtxoCount > 0 ? "border-success/20 bg-success/5 text-success/80" : "border-warning/20 bg-warning/5 text-warning/80"
|
|
8211
8260
|
),
|
|
8212
8261
|
children: [
|
|
8213
|
-
/* @__PURE__ */ (0,
|
|
8214
|
-
/* @__PURE__ */ (0,
|
|
8262
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-medium", children: "Available colorable UTXOs" }),
|
|
8263
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "font-mono font-bold", children: colorableUtxoCount })
|
|
8215
8264
|
]
|
|
8216
8265
|
}
|
|
8217
8266
|
),
|
|
8218
|
-
usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ (0,
|
|
8267
|
+
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." })
|
|
8219
8268
|
] }),
|
|
8220
|
-
network === "onchain" && !isBtc && /* @__PURE__ */ (0,
|
|
8221
|
-
/* @__PURE__ */ (0,
|
|
8222
|
-
/* @__PURE__ */ (0,
|
|
8269
|
+
network === "onchain" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8270
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
8271
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
|
|
8223
8272
|
"Amount (",
|
|
8224
8273
|
getUnitLabel(),
|
|
8225
8274
|
") - Optional"
|
|
8226
8275
|
] }),
|
|
8227
|
-
selectedAsset && /* @__PURE__ */ (0,
|
|
8276
|
+
selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "text-xxs text-white/30", children: [
|
|
8228
8277
|
selectedAsset.precision ?? 0,
|
|
8229
8278
|
" decimals"
|
|
8230
8279
|
] })
|
|
8231
8280
|
] }),
|
|
8232
|
-
/* @__PURE__ */ (0,
|
|
8281
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8233
8282
|
"input",
|
|
8234
8283
|
{
|
|
8235
8284
|
type: "text",
|
|
@@ -8241,18 +8290,18 @@ function DepositPreGeneration({
|
|
|
8241
8290
|
}
|
|
8242
8291
|
)
|
|
8243
8292
|
] }),
|
|
8244
|
-
needsColorableUtxos && /* @__PURE__ */ (0,
|
|
8245
|
-
/* @__PURE__ */ (0,
|
|
8246
|
-
/* @__PURE__ */ (0,
|
|
8293
|
+
needsColorableUtxos && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8294
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
|
|
8295
|
+
/* @__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." })
|
|
8247
8296
|
] }),
|
|
8248
|
-
!isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ (0,
|
|
8249
|
-
/* @__PURE__ */ (0,
|
|
8297
|
+
!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: [
|
|
8298
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
|
|
8250
8299
|
"Create Colorable UTXOs"
|
|
8251
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
8252
|
-
/* @__PURE__ */ (0,
|
|
8300
|
+
] }) }) : /* @__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: [
|
|
8301
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
|
|
8253
8302
|
"Generating..."
|
|
8254
|
-
] }) : /* @__PURE__ */ (0,
|
|
8255
|
-
/* @__PURE__ */ (0,
|
|
8303
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8304
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
|
|
8256
8305
|
"Generate Address"
|
|
8257
8306
|
] }) }))
|
|
8258
8307
|
] });
|
|
@@ -8260,7 +8309,7 @@ function DepositPreGeneration({
|
|
|
8260
8309
|
|
|
8261
8310
|
// src/web/components/deposit-asset-selection.tsx
|
|
8262
8311
|
var import_react17 = require("react");
|
|
8263
|
-
var
|
|
8312
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
8264
8313
|
var ADD_ASSET_SUBTITLE = {
|
|
8265
8314
|
RGB: "RGB asset on Bitcoin",
|
|
8266
8315
|
SPARK: "Spark-native asset",
|
|
@@ -8337,8 +8386,8 @@ function DepositAssetSelection({
|
|
|
8337
8386
|
titleHoverClass: "group-hover:text-network-arkade"
|
|
8338
8387
|
}
|
|
8339
8388
|
].filter((option) => option.enabled);
|
|
8340
|
-
return /* @__PURE__ */ (0,
|
|
8341
|
-
/* @__PURE__ */ (0,
|
|
8389
|
+
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: [
|
|
8390
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8342
8391
|
Button,
|
|
8343
8392
|
{
|
|
8344
8393
|
type: "button",
|
|
@@ -8346,10 +8395,10 @@ function DepositAssetSelection({
|
|
|
8346
8395
|
size: "icon-xl",
|
|
8347
8396
|
onClick: () => setCurrentView("dashboard"),
|
|
8348
8397
|
"aria-label": "Go back",
|
|
8349
|
-
children: /* @__PURE__ */ (0,
|
|
8398
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "arrow_back", size: "xl" })
|
|
8350
8399
|
}
|
|
8351
8400
|
) }),
|
|
8352
|
-
/* @__PURE__ */ (0,
|
|
8401
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8353
8402
|
DotPagination,
|
|
8354
8403
|
{
|
|
8355
8404
|
count: 2,
|
|
@@ -8357,8 +8406,8 @@ function DepositAssetSelection({
|
|
|
8357
8406
|
ariaLabel: "Deposit step 1 of 2: select asset"
|
|
8358
8407
|
}
|
|
8359
8408
|
) }),
|
|
8360
|
-
/* @__PURE__ */ (0,
|
|
8361
|
-
/* @__PURE__ */ (0,
|
|
8409
|
+
/* @__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: [
|
|
8410
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8362
8411
|
Icon,
|
|
8363
8412
|
{
|
|
8364
8413
|
name: "search",
|
|
@@ -8366,7 +8415,7 @@ function DepositAssetSelection({
|
|
|
8366
8415
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-white/30"
|
|
8367
8416
|
}
|
|
8368
8417
|
),
|
|
8369
|
-
/* @__PURE__ */ (0,
|
|
8418
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8370
8419
|
"input",
|
|
8371
8420
|
{
|
|
8372
8421
|
autoFocus: true,
|
|
@@ -8379,8 +8428,8 @@ function DepositAssetSelection({
|
|
|
8379
8428
|
}
|
|
8380
8429
|
)
|
|
8381
8430
|
] }) }),
|
|
8382
|
-
/* @__PURE__ */ (0,
|
|
8383
|
-
btcAsset && /* @__PURE__ */ (0,
|
|
8431
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
|
|
8432
|
+
btcAsset && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8384
8433
|
"button",
|
|
8385
8434
|
{
|
|
8386
8435
|
type: "button",
|
|
@@ -8388,27 +8437,27 @@ function DepositAssetSelection({
|
|
|
8388
8437
|
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",
|
|
8389
8438
|
onClick: () => onSelectAsset(btcAsset),
|
|
8390
8439
|
children: [
|
|
8391
|
-
/* @__PURE__ */ (0,
|
|
8392
|
-
/* @__PURE__ */ (0,
|
|
8393
|
-
/* @__PURE__ */ (0,
|
|
8394
|
-
/* @__PURE__ */ (0,
|
|
8440
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
|
|
8441
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8442
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
|
|
8443
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
|
|
8395
8444
|
] }),
|
|
8396
|
-
/* @__PURE__ */ (0,
|
|
8397
|
-
/* @__PURE__ */ (0,
|
|
8398
|
-
/* @__PURE__ */ (0,
|
|
8399
|
-
isSparkConnected && /* @__PURE__ */ (0,
|
|
8400
|
-
isArkadeConnected && /* @__PURE__ */ (0,
|
|
8445
|
+
/* @__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: [
|
|
8446
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
|
|
8447
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
|
|
8448
|
+
isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
|
|
8449
|
+
isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(NetworkBadge, { network: "Arkade", size: "sm" })
|
|
8401
8450
|
] }),
|
|
8402
|
-
/* @__PURE__ */ (0,
|
|
8451
|
+
/* @__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" })
|
|
8403
8452
|
]
|
|
8404
8453
|
}
|
|
8405
8454
|
),
|
|
8406
|
-
noResults ? /* @__PURE__ */ (0,
|
|
8455
|
+
noResults ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "py-8 text-center text-sm text-white/30", children: [
|
|
8407
8456
|
'No assets match "',
|
|
8408
8457
|
searchQuery,
|
|
8409
8458
|
'"'
|
|
8410
|
-
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0,
|
|
8411
|
-
/* @__PURE__ */ (0,
|
|
8459
|
+
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-1.5 pt-1", children: [
|
|
8460
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8412
8461
|
"button",
|
|
8413
8462
|
{
|
|
8414
8463
|
type: "button",
|
|
@@ -8421,17 +8470,17 @@ function DepositAssetSelection({
|
|
|
8421
8470
|
isSearching && "cursor-default"
|
|
8422
8471
|
),
|
|
8423
8472
|
children: [
|
|
8424
|
-
/* @__PURE__ */ (0,
|
|
8425
|
-
/* @__PURE__ */ (0,
|
|
8426
|
-
/* @__PURE__ */ (0,
|
|
8427
|
-
!isSearching && /* @__PURE__ */ (0,
|
|
8473
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
|
|
8474
|
+
/* @__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 }),
|
|
8475
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex-1" }),
|
|
8476
|
+
!isSearching && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
|
|
8428
8477
|
]
|
|
8429
8478
|
}
|
|
8430
8479
|
),
|
|
8431
|
-
showOwnedAssets && /* @__PURE__ */ (0,
|
|
8480
|
+
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) => {
|
|
8432
8481
|
const protocolBadge = asset.accountId ? PROTOCOL_BADGE[asset.accountId] : null;
|
|
8433
8482
|
const balance = asset.balance ?? 0;
|
|
8434
|
-
return /* @__PURE__ */ (0,
|
|
8483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8435
8484
|
"button",
|
|
8436
8485
|
{
|
|
8437
8486
|
type: "button",
|
|
@@ -8439,11 +8488,11 @@ function DepositAssetSelection({
|
|
|
8439
8488
|
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",
|
|
8440
8489
|
onClick: () => onSelectAsset(asset),
|
|
8441
8490
|
children: [
|
|
8442
|
-
/* @__PURE__ */ (0,
|
|
8443
|
-
/* @__PURE__ */ (0,
|
|
8444
|
-
/* @__PURE__ */ (0,
|
|
8445
|
-
/* @__PURE__ */ (0,
|
|
8446
|
-
protocolBadge && /* @__PURE__ */ (0,
|
|
8491
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
|
|
8492
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8493
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
8494
|
+
/* @__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 }),
|
|
8495
|
+
protocolBadge && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8447
8496
|
"span",
|
|
8448
8497
|
{
|
|
8449
8498
|
className: cn(
|
|
@@ -8454,36 +8503,36 @@ function DepositAssetSelection({
|
|
|
8454
8503
|
}
|
|
8455
8504
|
)
|
|
8456
8505
|
] }),
|
|
8457
|
-
/* @__PURE__ */ (0,
|
|
8506
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
|
|
8458
8507
|
] }),
|
|
8459
|
-
balance > 0 && /* @__PURE__ */ (0,
|
|
8460
|
-
/* @__PURE__ */ (0,
|
|
8461
|
-
/* @__PURE__ */ (0,
|
|
8508
|
+
balance > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex-shrink-0 text-right", children: [
|
|
8509
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "font-mono text-xs font-bold text-white", children: formatAssetBalance(asset) }),
|
|
8510
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
|
|
8462
8511
|
] }),
|
|
8463
|
-
/* @__PURE__ */ (0,
|
|
8512
|
+
/* @__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" })
|
|
8464
8513
|
]
|
|
8465
8514
|
},
|
|
8466
8515
|
asset.asset_id
|
|
8467
8516
|
);
|
|
8468
8517
|
}) })
|
|
8469
8518
|
] }) : null,
|
|
8470
|
-
!searchQuery && /* @__PURE__ */ (0,
|
|
8519
|
+
!searchQuery && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8471
8520
|
"button",
|
|
8472
8521
|
{
|
|
8473
8522
|
type: "button",
|
|
8474
8523
|
onClick: () => setCurrentView("bridge"),
|
|
8475
8524
|
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",
|
|
8476
8525
|
children: [
|
|
8477
|
-
/* @__PURE__ */ (0,
|
|
8478
|
-
/* @__PURE__ */ (0,
|
|
8479
|
-
/* @__PURE__ */ (0,
|
|
8480
|
-
/* @__PURE__ */ (0,
|
|
8526
|
+
/* @__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" }) }),
|
|
8527
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex-1 text-left", children: [
|
|
8528
|
+
/* @__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" }),
|
|
8529
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
|
|
8481
8530
|
] }),
|
|
8482
|
-
/* @__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" })
|
|
8483
8532
|
]
|
|
8484
8533
|
}
|
|
8485
8534
|
) }),
|
|
8486
|
-
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0,
|
|
8535
|
+
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8487
8536
|
"button",
|
|
8488
8537
|
{
|
|
8489
8538
|
type: "button",
|
|
@@ -8491,27 +8540,27 @@ function DepositAssetSelection({
|
|
|
8491
8540
|
onClick: () => setShowAddAssetModal(true),
|
|
8492
8541
|
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",
|
|
8493
8542
|
children: [
|
|
8494
|
-
/* @__PURE__ */ (0,
|
|
8495
|
-
/* @__PURE__ */ (0,
|
|
8496
|
-
/* @__PURE__ */ (0,
|
|
8497
|
-
/* @__PURE__ */ (0,
|
|
8543
|
+
/* @__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" }) }),
|
|
8544
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex-1 text-left", children: [
|
|
8545
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
|
|
8546
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "text-xxs leading-tight text-white/40", children: [
|
|
8498
8547
|
"Receive a new ",
|
|
8499
8548
|
newAssetOptions.map((o) => o.ticker).join(", "),
|
|
8500
8549
|
" asset"
|
|
8501
8550
|
] })
|
|
8502
8551
|
] }),
|
|
8503
|
-
/* @__PURE__ */ (0,
|
|
8552
|
+
/* @__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" })
|
|
8504
8553
|
]
|
|
8505
8554
|
}
|
|
8506
8555
|
) })
|
|
8507
8556
|
] }),
|
|
8508
|
-
/* @__PURE__ */ (0,
|
|
8557
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8509
8558
|
BottomSheet,
|
|
8510
8559
|
{
|
|
8511
8560
|
open: showAddAssetModal,
|
|
8512
8561
|
title: "Add an asset",
|
|
8513
8562
|
onClose: () => setShowAddAssetModal(false),
|
|
8514
|
-
children: /* @__PURE__ */ (0,
|
|
8563
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8515
8564
|
"button",
|
|
8516
8565
|
{
|
|
8517
8566
|
type: "button",
|
|
@@ -8525,12 +8574,12 @@ function DepositAssetSelection({
|
|
|
8525
8574
|
handleAddNewAsset(option.account);
|
|
8526
8575
|
},
|
|
8527
8576
|
children: [
|
|
8528
|
-
/* @__PURE__ */ (0,
|
|
8529
|
-
/* @__PURE__ */ (0,
|
|
8530
|
-
/* @__PURE__ */ (0,
|
|
8531
|
-
/* @__PURE__ */ (0,
|
|
8577
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
|
|
8578
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8579
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
|
|
8580
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
|
|
8532
8581
|
] }),
|
|
8533
|
-
/* @__PURE__ */ (0,
|
|
8582
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
|
|
8534
8583
|
]
|
|
8535
8584
|
},
|
|
8536
8585
|
option.account
|
|
@@ -8541,7 +8590,7 @@ function DepositAssetSelection({
|
|
|
8541
8590
|
}
|
|
8542
8591
|
|
|
8543
8592
|
// src/web/components/deposit-invoice-generation.tsx
|
|
8544
|
-
var
|
|
8593
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
8545
8594
|
var ACCOUNT_TITLES2 = {
|
|
8546
8595
|
RGB: "RGB & Lightning",
|
|
8547
8596
|
SPARK: "Spark",
|
|
@@ -8696,7 +8745,7 @@ function DepositInvoiceGeneration({
|
|
|
8696
8745
|
if (nextMethod) applyMethodSelection(account, nextMethod);
|
|
8697
8746
|
};
|
|
8698
8747
|
if (depositDetected) {
|
|
8699
|
-
return /* @__PURE__ */ (0,
|
|
8748
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8700
8749
|
DepositSuccessScreen,
|
|
8701
8750
|
{
|
|
8702
8751
|
handleDone,
|
|
@@ -8713,15 +8762,15 @@ function DepositInvoiceGeneration({
|
|
|
8713
8762
|
const showChannelWarning = selectedAccount === "RGB" && network === "lightning" && !channelsLoading && channels.length === 0 && !isSparkConnected;
|
|
8714
8763
|
const showLiquidityWarning = !isSparkLightning && network === "lightning" && maxDepositAmount === 0 && !channelsLoading && !isBtc;
|
|
8715
8764
|
const isNewRgbAsset = isNewAsset && assetFamily === "RGB";
|
|
8716
|
-
return /* @__PURE__ */ (0,
|
|
8717
|
-
/* @__PURE__ */ (0,
|
|
8765
|
+
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: [
|
|
8766
|
+
/* @__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" }) }) }),
|
|
8718
8767
|
(() => {
|
|
8719
8768
|
const hideDestinationRail = isNewAsset && (network === "spark" || network === "arkade");
|
|
8720
8769
|
if (hideDestinationRail) return null;
|
|
8721
|
-
return /* @__PURE__ */ (0,
|
|
8722
|
-
/* @__PURE__ */ (0,
|
|
8723
|
-
/* @__PURE__ */ (0,
|
|
8724
|
-
/* @__PURE__ */ (0,
|
|
8770
|
+
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: [
|
|
8771
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { children: [
|
|
8772
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
|
|
8773
|
+
/* @__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)(
|
|
8725
8774
|
AccountChoiceChip,
|
|
8726
8775
|
{
|
|
8727
8776
|
account,
|
|
@@ -8746,9 +8795,9 @@ function DepositInvoiceGeneration({
|
|
|
8746
8795
|
account
|
|
8747
8796
|
)) })
|
|
8748
8797
|
] }),
|
|
8749
|
-
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0,
|
|
8750
|
-
/* @__PURE__ */ (0,
|
|
8751
|
-
/* @__PURE__ */ (0,
|
|
8798
|
+
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { children: [
|
|
8799
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
|
|
8800
|
+
/* @__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)(
|
|
8752
8801
|
MethodChoiceChip,
|
|
8753
8802
|
{
|
|
8754
8803
|
method,
|
|
@@ -8762,7 +8811,7 @@ function DepositInvoiceGeneration({
|
|
|
8762
8811
|
] })
|
|
8763
8812
|
] }) });
|
|
8764
8813
|
})(),
|
|
8765
|
-
/* @__PURE__ */ (0,
|
|
8814
|
+
/* @__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)(
|
|
8766
8815
|
BtcUnifiedReceive,
|
|
8767
8816
|
{
|
|
8768
8817
|
btcSelectedAccount,
|
|
@@ -8782,8 +8831,8 @@ function DepositInvoiceGeneration({
|
|
|
8782
8831
|
setAccountReceiveResult,
|
|
8783
8832
|
handleDone
|
|
8784
8833
|
}
|
|
8785
|
-
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0,
|
|
8786
|
-
/* @__PURE__ */ (0,
|
|
8834
|
+
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8835
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8787
8836
|
"div",
|
|
8788
8837
|
{
|
|
8789
8838
|
className: cn(
|
|
@@ -8791,7 +8840,7 @@ function DepositInvoiceGeneration({
|
|
|
8791
8840
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].bg,
|
|
8792
8841
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].border
|
|
8793
8842
|
),
|
|
8794
|
-
children: /* @__PURE__ */ (0,
|
|
8843
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8795
8844
|
"span",
|
|
8796
8845
|
{
|
|
8797
8846
|
className: cn(
|
|
@@ -8803,11 +8852,11 @@ function DepositInvoiceGeneration({
|
|
|
8803
8852
|
)
|
|
8804
8853
|
}
|
|
8805
8854
|
),
|
|
8806
|
-
/* @__PURE__ */ (0,
|
|
8807
|
-
/* @__PURE__ */ (0,
|
|
8808
|
-
/* @__PURE__ */ (0,
|
|
8855
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
8856
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
|
|
8857
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
|
|
8809
8858
|
] })
|
|
8810
|
-
] }) : !address ? /* @__PURE__ */ (0,
|
|
8859
|
+
] }) : !address ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8811
8860
|
DepositPreGeneration,
|
|
8812
8861
|
{
|
|
8813
8862
|
selectedAsset,
|
|
@@ -8831,7 +8880,7 @@ function DepositInvoiceGeneration({
|
|
|
8831
8880
|
onOpenCreateUtxos,
|
|
8832
8881
|
showReceiveSummary: !isNewRgbAsset
|
|
8833
8882
|
}
|
|
8834
|
-
) : /* @__PURE__ */ (0,
|
|
8883
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8835
8884
|
DepositGeneratedView,
|
|
8836
8885
|
{
|
|
8837
8886
|
network,
|
|
@@ -8947,6 +8996,7 @@ function DepositInvoiceGeneration({
|
|
|
8947
8996
|
NetworkBadge,
|
|
8948
8997
|
NetworkInfoDisclosure,
|
|
8949
8998
|
NetworkStatusChip,
|
|
8999
|
+
NostrNetworkIcon,
|
|
8950
9000
|
NumberInput,
|
|
8951
9001
|
OptionSelector,
|
|
8952
9002
|
PageHeader,
|
|
@@ -8981,6 +9031,7 @@ function DepositInvoiceGeneration({
|
|
|
8981
9031
|
StepperNumberInput,
|
|
8982
9032
|
SwapInputCard,
|
|
8983
9033
|
Switch,
|
|
9034
|
+
SwitchRow,
|
|
8984
9035
|
Tabs,
|
|
8985
9036
|
TabsContent,
|
|
8986
9037
|
TabsList,
|