kaleido-ui 0.1.109 → 0.1.110
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 +798 -634
- package/dist/web/index.d.cts +48 -2
- package/dist/web/index.d.ts +48 -2
- package/dist/web/index.js +796 -635
- package/package.json +1 -1
package/dist/web/index.cjs
CHANGED
|
@@ -55,6 +55,7 @@ __export(web_exports, {
|
|
|
55
55
|
ArkadeNetworkIcon: () => ArkadeNetworkIcon,
|
|
56
56
|
AssetCard: () => AssetCard,
|
|
57
57
|
AssetIcon: () => AssetIcon,
|
|
58
|
+
AssetInfoChip: () => AssetInfoChip,
|
|
58
59
|
AssetSelector: () => AssetSelector,
|
|
59
60
|
BalanceBreakdown: () => BalanceBreakdown,
|
|
60
61
|
BottomNav: () => BottomNav,
|
|
@@ -96,6 +97,7 @@ __export(web_exports, {
|
|
|
96
97
|
HeadlineGradient: () => HeadlineGradient,
|
|
97
98
|
Icon: () => Icon,
|
|
98
99
|
Icons: () => Icons,
|
|
100
|
+
InfoChip: () => InfoChip,
|
|
99
101
|
InfoPanel: () => InfoPanel,
|
|
100
102
|
InlineAction: () => InlineAction,
|
|
101
103
|
InlineSelector: () => InlineSelector,
|
|
@@ -112,6 +114,7 @@ __export(web_exports, {
|
|
|
112
114
|
MobileHeroAnimation: () => MobileHeroAnimation,
|
|
113
115
|
NETWORK_CONFIG: () => NETWORK_CONFIG,
|
|
114
116
|
NetworkBadge: () => NetworkBadge,
|
|
117
|
+
NetworkInfoChip: () => NetworkInfoChip,
|
|
115
118
|
NetworkInfoDisclosure: () => NetworkInfoDisclosure,
|
|
116
119
|
NetworkStatusChip: () => NetworkStatusChip,
|
|
117
120
|
NostrNetworkIcon: () => NostrNetworkIcon,
|
|
@@ -5597,7 +5600,6 @@ function PageHeader({
|
|
|
5597
5600
|
subtitle,
|
|
5598
5601
|
right,
|
|
5599
5602
|
className,
|
|
5600
|
-
titleAlign = "center",
|
|
5601
5603
|
onBack,
|
|
5602
5604
|
backLabel = "Go back",
|
|
5603
5605
|
borderClassName
|
|
@@ -5614,33 +5616,44 @@ function PageHeader({
|
|
|
5614
5616
|
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Icon, { name: "arrow_back", size: "xl" })
|
|
5615
5617
|
}
|
|
5616
5618
|
) : null;
|
|
5617
|
-
const
|
|
5618
|
-
backButton,
|
|
5619
|
-
left
|
|
5620
|
-
] }) : backButton ?? left;
|
|
5621
|
-
const titleBlock = title ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: cn("min-w-0", titleAlign === "center" ? "max-w-xs text-center" : "text-left"), children: [
|
|
5619
|
+
const titleBlock = title ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "min-w-0 text-left", children: [
|
|
5622
5620
|
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "truncate font-bold text-body text-foreground", children: title }),
|
|
5623
5621
|
subtitle && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mt-1 truncate text-xs text-muted-foreground", children: subtitle })
|
|
5624
5622
|
] }) : null;
|
|
5625
|
-
return /* @__PURE__ */ (0, import_jsx_runtime52.
|
|
5623
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("header", { className: cn(
|
|
5626
5624
|
"sticky top-0 z-[var(--z-header)] flex min-h-14 shrink-0 items-center bg-background px-4 py-2 shadow-header backdrop-blur-xl",
|
|
5627
5625
|
borderClassName && "border-b",
|
|
5628
5626
|
borderClassName,
|
|
5629
5627
|
className
|
|
5630
|
-
), children:
|
|
5631
|
-
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5628
|
+
), children: [
|
|
5629
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
5630
|
+
"div",
|
|
5631
|
+
{
|
|
5632
|
+
"data-slot": "page-header-leading",
|
|
5633
|
+
className: cn(
|
|
5634
|
+
"flex min-w-0 items-center",
|
|
5635
|
+
title ? "flex-1 gap-3" : "shrink-0"
|
|
5636
|
+
),
|
|
5637
|
+
children: [
|
|
5638
|
+
title && left,
|
|
5639
|
+
backButton,
|
|
5640
|
+
!title && left,
|
|
5641
|
+
titleBlock
|
|
5642
|
+
]
|
|
5643
|
+
}
|
|
5644
|
+
),
|
|
5645
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
5646
|
+
"div",
|
|
5647
|
+
{
|
|
5648
|
+
"data-slot": "page-header-actions",
|
|
5649
|
+
className: cn(
|
|
5650
|
+
"flex min-w-0 items-center justify-end gap-2",
|
|
5651
|
+
title ? "ml-3 shrink-0" : "ml-auto"
|
|
5652
|
+
),
|
|
5653
|
+
children: right
|
|
5654
|
+
}
|
|
5655
|
+
)
|
|
5656
|
+
] });
|
|
5644
5657
|
}
|
|
5645
5658
|
|
|
5646
5659
|
// src/web/components/extension-page-frame.tsx
|
|
@@ -5878,9 +5891,157 @@ function InfoPanel({
|
|
|
5878
5891
|
] }) });
|
|
5879
5892
|
}
|
|
5880
5893
|
|
|
5894
|
+
// src/web/components/info-chip.tsx
|
|
5895
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
5896
|
+
var defaultStatusLabel = {
|
|
5897
|
+
success: "Success",
|
|
5898
|
+
warning: "Warning",
|
|
5899
|
+
danger: "Error",
|
|
5900
|
+
info: "Info"
|
|
5901
|
+
};
|
|
5902
|
+
var leadingToneClass = {
|
|
5903
|
+
success: "bg-success/10 text-success",
|
|
5904
|
+
warning: "bg-warning/10 text-warning",
|
|
5905
|
+
danger: "bg-danger/10 text-danger",
|
|
5906
|
+
info: "bg-info/10 text-info"
|
|
5907
|
+
};
|
|
5908
|
+
var statusToneClass = {
|
|
5909
|
+
success: "border-success/25 bg-success/10 text-success",
|
|
5910
|
+
warning: "border-warning/25 bg-warning/10 text-warning",
|
|
5911
|
+
danger: "border-danger/25 bg-danger/10 text-danger",
|
|
5912
|
+
info: "border-info/25 bg-info/10 text-info"
|
|
5913
|
+
};
|
|
5914
|
+
var statusDotClass = {
|
|
5915
|
+
success: "bg-success",
|
|
5916
|
+
warning: "bg-warning",
|
|
5917
|
+
danger: "bg-danger",
|
|
5918
|
+
info: "bg-info"
|
|
5919
|
+
};
|
|
5920
|
+
function InfoChip({
|
|
5921
|
+
leading,
|
|
5922
|
+
label,
|
|
5923
|
+
value,
|
|
5924
|
+
status,
|
|
5925
|
+
statusLabel,
|
|
5926
|
+
onEdit,
|
|
5927
|
+
editLabel,
|
|
5928
|
+
editDisabled,
|
|
5929
|
+
className,
|
|
5930
|
+
valueClassName,
|
|
5931
|
+
"data-testid": dataTestId,
|
|
5932
|
+
"data-info-kind": dataInfoKind
|
|
5933
|
+
}) {
|
|
5934
|
+
const readableStatus = status ? statusLabel ?? defaultStatusLabel[status] : null;
|
|
5935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5936
|
+
"div",
|
|
5937
|
+
{
|
|
5938
|
+
"data-slot": "info-chip",
|
|
5939
|
+
"data-status": status,
|
|
5940
|
+
"data-info-kind": dataInfoKind,
|
|
5941
|
+
"data-testid": dataTestId,
|
|
5942
|
+
className: cn(
|
|
5943
|
+
"flex w-full max-w-full items-center gap-3 rounded-xl border border-white/10 bg-surface-card px-3 py-2.5",
|
|
5944
|
+
className
|
|
5945
|
+
),
|
|
5946
|
+
children: [
|
|
5947
|
+
leading && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5948
|
+
"span",
|
|
5949
|
+
{
|
|
5950
|
+
"aria-hidden": "true",
|
|
5951
|
+
className: cn(
|
|
5952
|
+
"flex size-9 shrink-0 items-center justify-center rounded-full bg-accent text-muted-foreground [&_svg]:size-icon-lg",
|
|
5953
|
+
status && leadingToneClass[status]
|
|
5954
|
+
),
|
|
5955
|
+
children: leading
|
|
5956
|
+
}
|
|
5957
|
+
),
|
|
5958
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("dl", { className: "min-w-0 flex-1", children: [
|
|
5959
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("dt", { className: "truncate text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: label }),
|
|
5960
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("dd", { className: "mt-0.5 flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1", children: [
|
|
5961
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5962
|
+
"span",
|
|
5963
|
+
{
|
|
5964
|
+
className: cn(
|
|
5965
|
+
"min-w-0 max-w-full [overflow-wrap:anywhere] text-sm font-semibold leading-5 text-foreground",
|
|
5966
|
+
valueClassName
|
|
5967
|
+
),
|
|
5968
|
+
children: value
|
|
5969
|
+
}
|
|
5970
|
+
),
|
|
5971
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
5972
|
+
"span",
|
|
5973
|
+
{
|
|
5974
|
+
className: cn(
|
|
5975
|
+
"inline-flex max-w-full items-center gap-1.5 rounded-full border px-2 py-0.5 text-xxs font-bold leading-4",
|
|
5976
|
+
statusToneClass[status]
|
|
5977
|
+
),
|
|
5978
|
+
children: [
|
|
5979
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { "aria-hidden": "true", className: cn("size-1.5 shrink-0 rounded-full", statusDotClass[status]) }),
|
|
5980
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "truncate", children: readableStatus })
|
|
5981
|
+
]
|
|
5982
|
+
}
|
|
5983
|
+
)
|
|
5984
|
+
] })
|
|
5985
|
+
] }),
|
|
5986
|
+
onEdit && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
5987
|
+
Button,
|
|
5988
|
+
{
|
|
5989
|
+
type: "button",
|
|
5990
|
+
variant: "ghost",
|
|
5991
|
+
size: "icon-lg",
|
|
5992
|
+
onClick: onEdit,
|
|
5993
|
+
disabled: editDisabled,
|
|
5994
|
+
"aria-label": editLabel,
|
|
5995
|
+
title: editLabel,
|
|
5996
|
+
className: "shrink-0",
|
|
5997
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Icon, { name: "edit", size: "sm", "aria-hidden": "true" })
|
|
5998
|
+
}
|
|
5999
|
+
)
|
|
6000
|
+
]
|
|
6001
|
+
}
|
|
6002
|
+
);
|
|
6003
|
+
}
|
|
6004
|
+
function NetworkInfoChip({
|
|
6005
|
+
network,
|
|
6006
|
+
label = "Network",
|
|
6007
|
+
value = network,
|
|
6008
|
+
iconBasePath,
|
|
6009
|
+
...infoChipProps
|
|
6010
|
+
}) {
|
|
6011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6012
|
+
InfoChip,
|
|
6013
|
+
{
|
|
6014
|
+
...infoChipProps,
|
|
6015
|
+
"data-info-kind": "network",
|
|
6016
|
+
leading: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(NetworkBadge, { network, iconBasePath, size: "md" }),
|
|
6017
|
+
label,
|
|
6018
|
+
value
|
|
6019
|
+
}
|
|
6020
|
+
);
|
|
6021
|
+
}
|
|
6022
|
+
function AssetInfoChip({
|
|
6023
|
+
ticker,
|
|
6024
|
+
label = "Asset",
|
|
6025
|
+
value = ticker,
|
|
6026
|
+
logoUri,
|
|
6027
|
+
cdnBaseUrl,
|
|
6028
|
+
...infoChipProps
|
|
6029
|
+
}) {
|
|
6030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
6031
|
+
InfoChip,
|
|
6032
|
+
{
|
|
6033
|
+
...infoChipProps,
|
|
6034
|
+
"data-info-kind": "asset",
|
|
6035
|
+
leading: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(AssetIcon, { ticker, logoUri, cdnBaseUrl, size: 28 }),
|
|
6036
|
+
label,
|
|
6037
|
+
value
|
|
6038
|
+
}
|
|
6039
|
+
);
|
|
6040
|
+
}
|
|
6041
|
+
|
|
5881
6042
|
// src/web/components/error-boundary.tsx
|
|
5882
6043
|
var import_react12 = require("react");
|
|
5883
|
-
var
|
|
6044
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
5884
6045
|
var ErrorBoundary = class extends import_react12.Component {
|
|
5885
6046
|
constructor(props) {
|
|
5886
6047
|
super(props);
|
|
@@ -5894,11 +6055,11 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5894
6055
|
}
|
|
5895
6056
|
render() {
|
|
5896
6057
|
if (this.state.hasError) {
|
|
5897
|
-
return this.props.fallback ?? /* @__PURE__ */ (0,
|
|
5898
|
-
/* @__PURE__ */ (0,
|
|
5899
|
-
/* @__PURE__ */ (0,
|
|
5900
|
-
/* @__PURE__ */ (0,
|
|
5901
|
-
/* @__PURE__ */ (0,
|
|
6058
|
+
return this.props.fallback ?? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "min-h-screen bg-background text-foreground font-display flex flex-col items-center justify-center p-6 gap-4", children: [
|
|
6059
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "material-symbols-outlined text-danger text-icon-5xl", children: "error" }),
|
|
6060
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("h2", { className: "text-lg font-bold", children: "Something went wrong" }),
|
|
6061
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "text-sm text-muted-foreground text-center", children: this.state.error?.message ?? "An unexpected error occurred." }),
|
|
6062
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
5902
6063
|
"button",
|
|
5903
6064
|
{
|
|
5904
6065
|
onClick: () => {
|
|
@@ -5916,7 +6077,7 @@ var ErrorBoundary = class extends import_react12.Component {
|
|
|
5916
6077
|
};
|
|
5917
6078
|
|
|
5918
6079
|
// src/web/components/recovery-phrase-card.tsx
|
|
5919
|
-
var
|
|
6080
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
5920
6081
|
function RecoveryPhraseCard({
|
|
5921
6082
|
words,
|
|
5922
6083
|
revealed = false,
|
|
@@ -5927,10 +6088,10 @@ function RecoveryPhraseCard({
|
|
|
5927
6088
|
className
|
|
5928
6089
|
}) {
|
|
5929
6090
|
const hasWords = words.length > 0;
|
|
5930
|
-
return /* @__PURE__ */ (0,
|
|
5931
|
-
/* @__PURE__ */ (0,
|
|
5932
|
-
/* @__PURE__ */ (0,
|
|
5933
|
-
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
6091
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("section", { className: cn("space-y-2", className), children: [
|
|
6092
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center justify-between px-0.5", children: [
|
|
6093
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-xs font-bold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
6094
|
+
hasWords && revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
5934
6095
|
Button,
|
|
5935
6096
|
{
|
|
5936
6097
|
type: "button",
|
|
@@ -5939,27 +6100,27 @@ function RecoveryPhraseCard({
|
|
|
5939
6100
|
onClick: () => onRevealChange(!revealed),
|
|
5940
6101
|
className: "h-auto rounded-lg px-2 py-1 text-xs text-muted-foreground hover:text-white",
|
|
5941
6102
|
children: [
|
|
5942
|
-
/* @__PURE__ */ (0,
|
|
6103
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: "visibility_off", className: "text-icon-md" }),
|
|
5943
6104
|
"Hide"
|
|
5944
6105
|
]
|
|
5945
6106
|
}
|
|
5946
6107
|
)
|
|
5947
6108
|
] }),
|
|
5948
|
-
/* @__PURE__ */ (0,
|
|
5949
|
-
hasWords ? /* @__PURE__ */ (0,
|
|
6109
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "relative", children: [
|
|
6110
|
+
hasWords ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
5950
6111
|
"div",
|
|
5951
6112
|
{
|
|
5952
6113
|
className: cn(
|
|
5953
6114
|
"grid grid-cols-3 gap-2 transition-all duration-300",
|
|
5954
6115
|
!revealed && "pointer-events-none select-none blur-sm"
|
|
5955
6116
|
),
|
|
5956
|
-
children: words.map((word, index) => /* @__PURE__ */ (0,
|
|
5957
|
-
/* @__PURE__ */ (0,
|
|
5958
|
-
/* @__PURE__ */ (0,
|
|
6117
|
+
children: words.map((word, index) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center gap-2 rounded-xl bg-card px-3 py-2.5", children: [
|
|
6118
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "w-4 shrink-0 text-xs font-bold text-muted-foreground", children: index + 1 }),
|
|
6119
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "font-mono text-sm text-white", children: word })
|
|
5959
6120
|
] }, `${index}-${word}`))
|
|
5960
6121
|
}
|
|
5961
|
-
) : /* @__PURE__ */ (0,
|
|
5962
|
-
hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0,
|
|
6122
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "rounded-xl bg-warning/10 px-4 py-3 text-sm text-warning", children: emptyMessage }),
|
|
6123
|
+
hasWords && !revealed && onRevealChange && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
5963
6124
|
Button,
|
|
5964
6125
|
{
|
|
5965
6126
|
type: "button",
|
|
@@ -5967,13 +6128,13 @@ function RecoveryPhraseCard({
|
|
|
5967
6128
|
size: "sm",
|
|
5968
6129
|
onClick: () => onRevealChange(true),
|
|
5969
6130
|
children: [
|
|
5970
|
-
/* @__PURE__ */ (0,
|
|
6131
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
5971
6132
|
"Tap to reveal"
|
|
5972
6133
|
]
|
|
5973
6134
|
}
|
|
5974
6135
|
) })
|
|
5975
6136
|
] }),
|
|
5976
|
-
hasWords && revealed && onCopy && /* @__PURE__ */ (0,
|
|
6137
|
+
hasWords && revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
5977
6138
|
Button,
|
|
5978
6139
|
{
|
|
5979
6140
|
type: "button",
|
|
@@ -5982,7 +6143,7 @@ function RecoveryPhraseCard({
|
|
|
5982
6143
|
onClick: onCopy,
|
|
5983
6144
|
className: "w-full",
|
|
5984
6145
|
children: [
|
|
5985
|
-
/* @__PURE__ */ (0,
|
|
6146
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
5986
6147
|
"Copy to clipboard"
|
|
5987
6148
|
]
|
|
5988
6149
|
}
|
|
@@ -5991,7 +6152,7 @@ function RecoveryPhraseCard({
|
|
|
5991
6152
|
}
|
|
5992
6153
|
|
|
5993
6154
|
// src/web/components/settings-selector-row.tsx
|
|
5994
|
-
var
|
|
6155
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
5995
6156
|
function SettingsSelectorRow({
|
|
5996
6157
|
icon,
|
|
5997
6158
|
title,
|
|
@@ -6000,9 +6161,9 @@ function SettingsSelectorRow({
|
|
|
6000
6161
|
className,
|
|
6001
6162
|
iconClassName
|
|
6002
6163
|
}) {
|
|
6003
|
-
return /* @__PURE__ */ (0,
|
|
6004
|
-
/* @__PURE__ */ (0,
|
|
6005
|
-
/* @__PURE__ */ (0,
|
|
6164
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: cn("flex items-start justify-between gap-3 rounded-2xl bg-card p-5", className), children: [
|
|
6165
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
6166
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
6006
6167
|
"div",
|
|
6007
6168
|
{
|
|
6008
6169
|
className: cn(
|
|
@@ -6012,17 +6173,17 @@ function SettingsSelectorRow({
|
|
|
6012
6173
|
children: icon
|
|
6013
6174
|
}
|
|
6014
6175
|
),
|
|
6015
|
-
/* @__PURE__ */ (0,
|
|
6016
|
-
/* @__PURE__ */ (0,
|
|
6017
|
-
description && /* @__PURE__ */ (0,
|
|
6176
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
6177
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-body font-bold tracking-wide text-foreground", children: title }),
|
|
6178
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "mt-0.5 text-sm font-medium text-muted-foreground", children: description })
|
|
6018
6179
|
] })
|
|
6019
6180
|
] }),
|
|
6020
|
-
/* @__PURE__ */ (0,
|
|
6181
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "shrink-0", children: control })
|
|
6021
6182
|
] });
|
|
6022
6183
|
}
|
|
6023
6184
|
|
|
6024
6185
|
// src/web/components/bottom-sheet.tsx
|
|
6025
|
-
var
|
|
6186
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
6026
6187
|
function BottomSheet({
|
|
6027
6188
|
open,
|
|
6028
6189
|
title,
|
|
@@ -6038,7 +6199,7 @@ function BottomSheet({
|
|
|
6038
6199
|
const handleBackdropClick = (event) => {
|
|
6039
6200
|
if (closeOnBackdrop && event.target === event.currentTarget) onClose?.();
|
|
6040
6201
|
};
|
|
6041
|
-
return /* @__PURE__ */ (0,
|
|
6202
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6042
6203
|
"div",
|
|
6043
6204
|
{
|
|
6044
6205
|
className: cn(
|
|
@@ -6046,7 +6207,7 @@ function BottomSheet({
|
|
|
6046
6207
|
className
|
|
6047
6208
|
),
|
|
6048
6209
|
onClick: handleBackdropClick,
|
|
6049
|
-
children: /* @__PURE__ */ (0,
|
|
6210
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
6050
6211
|
"div",
|
|
6051
6212
|
{
|
|
6052
6213
|
className: cn(
|
|
@@ -6054,13 +6215,13 @@ function BottomSheet({
|
|
|
6054
6215
|
contentClassName
|
|
6055
6216
|
),
|
|
6056
6217
|
children: [
|
|
6057
|
-
/* @__PURE__ */ (0,
|
|
6058
|
-
(title || icon) && /* @__PURE__ */ (0,
|
|
6218
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "-mt-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
6219
|
+
(title || icon) && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "mt-4 flex items-center gap-2", children: [
|
|
6059
6220
|
icon,
|
|
6060
|
-
/* @__PURE__ */ (0,
|
|
6221
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "text-sm font-bold text-foreground", children: title })
|
|
6061
6222
|
] }),
|
|
6062
|
-
/* @__PURE__ */ (0,
|
|
6063
|
-
actions && actions.length > 0 && /* @__PURE__ */ (0,
|
|
6223
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: cn((title || icon) && "mt-3"), children }),
|
|
6224
|
+
actions && actions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "mt-4 flex gap-2", children: actions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
6064
6225
|
Button,
|
|
6065
6226
|
{
|
|
6066
6227
|
type: "button",
|
|
@@ -6070,7 +6231,7 @@ function BottomSheet({
|
|
|
6070
6231
|
onClick: action.onClick,
|
|
6071
6232
|
disabled: action.disabled,
|
|
6072
6233
|
children: [
|
|
6073
|
-
action.icon && /* @__PURE__ */ (0,
|
|
6234
|
+
action.icon && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: action.icon, className: "text-icon-md" }),
|
|
6074
6235
|
action.label
|
|
6075
6236
|
]
|
|
6076
6237
|
},
|
|
@@ -6084,7 +6245,7 @@ function BottomSheet({
|
|
|
6084
6245
|
}
|
|
6085
6246
|
|
|
6086
6247
|
// src/web/components/disclosure-card.tsx
|
|
6087
|
-
var
|
|
6248
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
6088
6249
|
function DisclosureCard({
|
|
6089
6250
|
title,
|
|
6090
6251
|
children,
|
|
@@ -6095,8 +6256,8 @@ function DisclosureCard({
|
|
|
6095
6256
|
triggerClassName,
|
|
6096
6257
|
contentClassName
|
|
6097
6258
|
}) {
|
|
6098
|
-
return /* @__PURE__ */ (0,
|
|
6099
|
-
/* @__PURE__ */ (0,
|
|
6259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className, children: [
|
|
6260
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
6100
6261
|
"button",
|
|
6101
6262
|
{
|
|
6102
6263
|
type: "button",
|
|
@@ -6106,11 +6267,11 @@ function DisclosureCard({
|
|
|
6106
6267
|
triggerClassName
|
|
6107
6268
|
),
|
|
6108
6269
|
children: [
|
|
6109
|
-
/* @__PURE__ */ (0,
|
|
6270
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
6110
6271
|
icon,
|
|
6111
|
-
/* @__PURE__ */ (0,
|
|
6272
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { className: "truncate text-xs font-bold text-foreground", children: title })
|
|
6112
6273
|
] }),
|
|
6113
|
-
/* @__PURE__ */ (0,
|
|
6274
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6114
6275
|
Icon,
|
|
6115
6276
|
{
|
|
6116
6277
|
name: open ? "expand_less" : "expand_more",
|
|
@@ -6120,7 +6281,7 @@ function DisclosureCard({
|
|
|
6120
6281
|
]
|
|
6121
6282
|
}
|
|
6122
6283
|
),
|
|
6123
|
-
open && /* @__PURE__ */ (0,
|
|
6284
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
6124
6285
|
"div",
|
|
6125
6286
|
{
|
|
6126
6287
|
className: cn(
|
|
@@ -6134,7 +6295,7 @@ function DisclosureCard({
|
|
|
6134
6295
|
}
|
|
6135
6296
|
|
|
6136
6297
|
// src/web/components/stepper-number-input.tsx
|
|
6137
|
-
var
|
|
6298
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
6138
6299
|
function StepperNumberInput({
|
|
6139
6300
|
value,
|
|
6140
6301
|
onChange,
|
|
@@ -6151,7 +6312,7 @@ function StepperNumberInput({
|
|
|
6151
6312
|
const bounded = max === void 0 ? boundedMin : Math.min(max, boundedMin);
|
|
6152
6313
|
onChange(Number.isFinite(bounded) ? bounded : min ?? 0);
|
|
6153
6314
|
};
|
|
6154
|
-
return /* @__PURE__ */ (0,
|
|
6315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
|
|
6155
6316
|
"div",
|
|
6156
6317
|
{
|
|
6157
6318
|
className: cn(
|
|
@@ -6159,7 +6320,7 @@ function StepperNumberInput({
|
|
|
6159
6320
|
className
|
|
6160
6321
|
),
|
|
6161
6322
|
children: [
|
|
6162
|
-
/* @__PURE__ */ (0,
|
|
6323
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6163
6324
|
"button",
|
|
6164
6325
|
{
|
|
6165
6326
|
type: "button",
|
|
@@ -6167,10 +6328,10 @@ function StepperNumberInput({
|
|
|
6167
6328
|
disabled: disabled || min !== void 0 && value <= min,
|
|
6168
6329
|
onClick: () => clamp(value - step),
|
|
6169
6330
|
"aria-label": "Decrease",
|
|
6170
|
-
children: /* @__PURE__ */ (0,
|
|
6331
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Icon, { name: "remove", className: "text-icon-md" })
|
|
6171
6332
|
}
|
|
6172
6333
|
),
|
|
6173
|
-
/* @__PURE__ */ (0,
|
|
6334
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6174
6335
|
"input",
|
|
6175
6336
|
{
|
|
6176
6337
|
type: "number",
|
|
@@ -6187,7 +6348,7 @@ function StepperNumberInput({
|
|
|
6187
6348
|
)
|
|
6188
6349
|
}
|
|
6189
6350
|
),
|
|
6190
|
-
/* @__PURE__ */ (0,
|
|
6351
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6191
6352
|
"button",
|
|
6192
6353
|
{
|
|
6193
6354
|
type: "button",
|
|
@@ -6195,7 +6356,7 @@ function StepperNumberInput({
|
|
|
6195
6356
|
disabled: disabled || max !== void 0 && value >= max,
|
|
6196
6357
|
onClick: () => clamp(value + step),
|
|
6197
6358
|
"aria-label": "Increase",
|
|
6198
|
-
children: /* @__PURE__ */ (0,
|
|
6359
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Icon, { name: "add", className: "text-icon-md" })
|
|
6199
6360
|
}
|
|
6200
6361
|
)
|
|
6201
6362
|
]
|
|
@@ -6204,7 +6365,7 @@ function StepperNumberInput({
|
|
|
6204
6365
|
}
|
|
6205
6366
|
|
|
6206
6367
|
// src/web/components/metric-card.tsx
|
|
6207
|
-
var
|
|
6368
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
6208
6369
|
var toneClasses2 = {
|
|
6209
6370
|
primary: "bg-primary/10 text-primary",
|
|
6210
6371
|
purple: "bg-network-arkade/10 text-network-arkade",
|
|
@@ -6222,27 +6383,27 @@ function MetricCard({
|
|
|
6222
6383
|
tone = "muted",
|
|
6223
6384
|
className
|
|
6224
6385
|
}) {
|
|
6225
|
-
return /* @__PURE__ */ (0,
|
|
6226
|
-
/* @__PURE__ */ (0,
|
|
6227
|
-
icon && /* @__PURE__ */ (0,
|
|
6228
|
-
/* @__PURE__ */ (0,
|
|
6386
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: cn("space-y-1 rounded-xl bg-card/70 p-2.5", className), children: [
|
|
6387
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
6388
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: cn("flex size-5 items-center justify-center rounded-md", toneClasses2[tone]), children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Icon, { name: icon, className: "text-icon-xs" }) : icon }),
|
|
6389
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "text-xxs font-bold uppercase tracking-widest text-white/45", children: label })
|
|
6229
6390
|
] }),
|
|
6230
|
-
/* @__PURE__ */ (0,
|
|
6231
|
-
description && /* @__PURE__ */ (0,
|
|
6391
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "text-sm font-bold tabular-nums text-foreground", children: value }),
|
|
6392
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "text-xxs text-white/45", children: description })
|
|
6232
6393
|
] });
|
|
6233
6394
|
}
|
|
6234
6395
|
|
|
6235
6396
|
// src/web/components/filter-chip-group.tsx
|
|
6236
|
-
var
|
|
6397
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
6237
6398
|
function FilterChipGroup({
|
|
6238
6399
|
options,
|
|
6239
6400
|
value,
|
|
6240
6401
|
onChange,
|
|
6241
6402
|
className
|
|
6242
6403
|
}) {
|
|
6243
|
-
return /* @__PURE__ */ (0,
|
|
6404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: cn("flex gap-1.5 overflow-x-auto no-scrollbar", className), children: options.map((option) => {
|
|
6244
6405
|
const active = option.value === value;
|
|
6245
|
-
return /* @__PURE__ */ (0,
|
|
6406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
6246
6407
|
"button",
|
|
6247
6408
|
{
|
|
6248
6409
|
type: "button",
|
|
@@ -6256,7 +6417,7 @@ function FilterChipGroup({
|
|
|
6256
6417
|
children: [
|
|
6257
6418
|
option.icon,
|
|
6258
6419
|
option.label,
|
|
6259
|
-
option.count !== void 0 && /* @__PURE__ */ (0,
|
|
6420
|
+
option.count !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
6260
6421
|
"span",
|
|
6261
6422
|
{
|
|
6262
6423
|
className: cn(
|
|
@@ -6274,7 +6435,7 @@ function FilterChipGroup({
|
|
|
6274
6435
|
}
|
|
6275
6436
|
|
|
6276
6437
|
// src/web/components/activity-row.tsx
|
|
6277
|
-
var
|
|
6438
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
6278
6439
|
var directionUi = {
|
|
6279
6440
|
inbound: { icon: "south_west", iconClass: "bg-primary/20 text-primary", amountClass: "text-primary", sign: "+" },
|
|
6280
6441
|
outbound: { icon: "north_east", iconClass: "bg-white/10 text-muted-foreground", amountClass: "text-foreground", sign: "-" },
|
|
@@ -6294,29 +6455,29 @@ function ActivityRow({
|
|
|
6294
6455
|
className
|
|
6295
6456
|
}) {
|
|
6296
6457
|
const ui = directionUi[direction];
|
|
6297
|
-
const content = /* @__PURE__ */ (0,
|
|
6298
|
-
/* @__PURE__ */ (0,
|
|
6299
|
-
/* @__PURE__ */ (0,
|
|
6458
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_jsx_runtime69.Fragment, { children: [
|
|
6459
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
6460
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
6300
6461
|
StatusIconBadge,
|
|
6301
6462
|
{
|
|
6302
6463
|
status,
|
|
6303
|
-
icon: /* @__PURE__ */ (0,
|
|
6464
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: cn("flex size-10 items-center justify-center rounded-xl shadow-inner", ui.iconClass), children: typeof icon === "string" || !icon ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Icon, { name: icon ?? ui.icon, className: "text-icon-xl" }) : icon })
|
|
6304
6465
|
}
|
|
6305
6466
|
),
|
|
6306
|
-
/* @__PURE__ */ (0,
|
|
6307
|
-
/* @__PURE__ */ (0,
|
|
6308
|
-
/* @__PURE__ */ (0,
|
|
6467
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex min-w-0 flex-col", children: [
|
|
6468
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
6469
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "truncate text-sm font-bold tracking-wide text-foreground", children: title }),
|
|
6309
6470
|
networkBadge
|
|
6310
6471
|
] }),
|
|
6311
|
-
timestamp && /* @__PURE__ */ (0,
|
|
6472
|
+
timestamp && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "mt-1 flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-xxs text-muted-foreground", children: timestamp }) })
|
|
6312
6473
|
] })
|
|
6313
6474
|
] }),
|
|
6314
|
-
/* @__PURE__ */ (0,
|
|
6315
|
-
/* @__PURE__ */ (0,
|
|
6475
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "shrink-0 text-right", children: [
|
|
6476
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("p", { className: cn("text-sm font-bold tracking-wide", ui.amountClass), children: [
|
|
6316
6477
|
ui.sign,
|
|
6317
6478
|
amount
|
|
6318
6479
|
] }),
|
|
6319
|
-
unit && /* @__PURE__ */ (0,
|
|
6480
|
+
unit && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("p", { className: "mt-0.5 text-xxs font-bold uppercase tracking-wider text-muted-foreground", children: unit })
|
|
6320
6481
|
] })
|
|
6321
6482
|
] });
|
|
6322
6483
|
const rowClassName = cn(
|
|
@@ -6325,23 +6486,23 @@ function ActivityRow({
|
|
|
6325
6486
|
className
|
|
6326
6487
|
);
|
|
6327
6488
|
if (onClick) {
|
|
6328
|
-
return /* @__PURE__ */ (0,
|
|
6489
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("button", { type: "button", onClick, className: rowClassName, children: content });
|
|
6329
6490
|
}
|
|
6330
|
-
return /* @__PURE__ */ (0,
|
|
6491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: rowClassName, children: content });
|
|
6331
6492
|
}
|
|
6332
6493
|
|
|
6333
6494
|
// src/web/components/skeleton.tsx
|
|
6334
|
-
var
|
|
6495
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
6335
6496
|
var toneClass2 = {
|
|
6336
6497
|
primary: "bg-white/10",
|
|
6337
6498
|
secondary: "bg-white/5",
|
|
6338
6499
|
card: "bg-white/[0.06]"
|
|
6339
6500
|
};
|
|
6340
6501
|
function Skeleton({ className, tone = "primary" }) {
|
|
6341
|
-
return /* @__PURE__ */ (0,
|
|
6502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { "aria-hidden": true, className: cn("animate-pulse rounded", toneClass2[tone], className) });
|
|
6342
6503
|
}
|
|
6343
6504
|
function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
6344
|
-
return /* @__PURE__ */ (0,
|
|
6505
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: cn("space-y-2", className), children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
|
|
6345
6506
|
"div",
|
|
6346
6507
|
{
|
|
6347
6508
|
className: cn(
|
|
@@ -6349,14 +6510,14 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
6349
6510
|
rowClassName
|
|
6350
6511
|
),
|
|
6351
6512
|
children: [
|
|
6352
|
-
/* @__PURE__ */ (0,
|
|
6353
|
-
/* @__PURE__ */ (0,
|
|
6354
|
-
/* @__PURE__ */ (0,
|
|
6355
|
-
/* @__PURE__ */ (0,
|
|
6513
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { className: "size-10 shrink-0 rounded-xl" }),
|
|
6514
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex-1 space-y-2", children: [
|
|
6515
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { className: "h-3 w-28" }),
|
|
6516
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { tone: "secondary", className: "h-2.5 w-20" })
|
|
6356
6517
|
] }),
|
|
6357
|
-
/* @__PURE__ */ (0,
|
|
6358
|
-
/* @__PURE__ */ (0,
|
|
6359
|
-
/* @__PURE__ */ (0,
|
|
6518
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex flex-col items-end space-y-1.5", children: [
|
|
6519
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { className: "h-3 w-14" }),
|
|
6520
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Skeleton, { tone: "secondary", className: "h-2 w-10" })
|
|
6360
6521
|
] })
|
|
6361
6522
|
]
|
|
6362
6523
|
},
|
|
@@ -6365,7 +6526,7 @@ function ListSkeletonRows({ rows = 3, className, rowClassName }) {
|
|
|
6365
6526
|
}
|
|
6366
6527
|
|
|
6367
6528
|
// src/web/components/secret-reveal-card.tsx
|
|
6368
|
-
var
|
|
6529
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
6369
6530
|
function SecretRevealCard({
|
|
6370
6531
|
value,
|
|
6371
6532
|
revealed,
|
|
@@ -6377,9 +6538,9 @@ function SecretRevealCard({
|
|
|
6377
6538
|
className,
|
|
6378
6539
|
valueClassName
|
|
6379
6540
|
}) {
|
|
6380
|
-
return /* @__PURE__ */ (0,
|
|
6381
|
-
/* @__PURE__ */ (0,
|
|
6382
|
-
/* @__PURE__ */ (0,
|
|
6541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: cn("space-y-3", className), children: [
|
|
6542
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "relative", children: [
|
|
6543
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "rounded-xl bg-card px-3 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
6383
6544
|
"p",
|
|
6384
6545
|
{
|
|
6385
6546
|
className: cn(
|
|
@@ -6390,40 +6551,40 @@ function SecretRevealCard({
|
|
|
6390
6551
|
children: value
|
|
6391
6552
|
}
|
|
6392
6553
|
) }),
|
|
6393
|
-
!revealed && /* @__PURE__ */ (0,
|
|
6554
|
+
!revealed && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
6394
6555
|
"button",
|
|
6395
6556
|
{
|
|
6396
6557
|
type: "button",
|
|
6397
6558
|
onClick: () => onRevealChange(true),
|
|
6398
6559
|
className: "flex items-center gap-2 rounded-xl bg-card px-4 py-2 text-sm font-bold text-foreground shadow-lg transition-all hover:bg-accent",
|
|
6399
6560
|
children: [
|
|
6400
|
-
/* @__PURE__ */ (0,
|
|
6561
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { name: "visibility", className: "text-icon-lg" }),
|
|
6401
6562
|
revealLabel
|
|
6402
6563
|
]
|
|
6403
6564
|
}
|
|
6404
6565
|
) })
|
|
6405
6566
|
] }),
|
|
6406
|
-
/* @__PURE__ */ (0,
|
|
6407
|
-
/* @__PURE__ */ (0,
|
|
6567
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex gap-2", children: [
|
|
6568
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
6408
6569
|
"button",
|
|
6409
6570
|
{
|
|
6410
6571
|
type: "button",
|
|
6411
6572
|
onClick: () => onRevealChange(!revealed),
|
|
6412
6573
|
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",
|
|
6413
6574
|
children: [
|
|
6414
|
-
/* @__PURE__ */ (0,
|
|
6575
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { name: revealed ? "visibility_off" : "visibility", className: "text-icon-lg" }),
|
|
6415
6576
|
revealed ? hideLabel : revealLabel
|
|
6416
6577
|
]
|
|
6417
6578
|
}
|
|
6418
6579
|
),
|
|
6419
|
-
revealed && onCopy && /* @__PURE__ */ (0,
|
|
6580
|
+
revealed && onCopy && /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
|
|
6420
6581
|
"button",
|
|
6421
6582
|
{
|
|
6422
6583
|
type: "button",
|
|
6423
6584
|
onClick: onCopy,
|
|
6424
6585
|
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",
|
|
6425
6586
|
children: [
|
|
6426
|
-
/* @__PURE__ */ (0,
|
|
6587
|
+
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Icon, { name: "content_copy", className: "text-icon-lg" }),
|
|
6427
6588
|
copyLabel
|
|
6428
6589
|
]
|
|
6429
6590
|
}
|
|
@@ -6433,7 +6594,7 @@ function SecretRevealCard({
|
|
|
6433
6594
|
}
|
|
6434
6595
|
|
|
6435
6596
|
// src/web/components/settings-section-card.tsx
|
|
6436
|
-
var
|
|
6597
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
6437
6598
|
function SettingsSectionCard({
|
|
6438
6599
|
title,
|
|
6439
6600
|
description,
|
|
@@ -6442,15 +6603,15 @@ function SettingsSectionCard({
|
|
|
6442
6603
|
className,
|
|
6443
6604
|
bodyClassName
|
|
6444
6605
|
}) {
|
|
6445
|
-
return /* @__PURE__ */ (0,
|
|
6446
|
-
/* @__PURE__ */ (0,
|
|
6447
|
-
/* @__PURE__ */ (0,
|
|
6448
|
-
/* @__PURE__ */ (0,
|
|
6449
|
-
description && /* @__PURE__ */ (0,
|
|
6606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("section", { className: cn("space-y-4 rounded-xl bg-card/70 p-4", className), children: [
|
|
6607
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-start justify-between gap-4", children: [
|
|
6608
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6609
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("h2", { className: "text-sm font-bold text-foreground", children: title }),
|
|
6610
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { className: "mt-1 text-xs text-muted-foreground", children: description })
|
|
6450
6611
|
] }),
|
|
6451
6612
|
badge
|
|
6452
6613
|
] }),
|
|
6453
|
-
/* @__PURE__ */ (0,
|
|
6614
|
+
/* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: bodyClassName, children })
|
|
6454
6615
|
] });
|
|
6455
6616
|
}
|
|
6456
6617
|
var badgeToneClass = {
|
|
@@ -6462,7 +6623,7 @@ var badgeToneClass = {
|
|
|
6462
6623
|
muted: "border-white/10 bg-white/[0.05] text-white/55"
|
|
6463
6624
|
};
|
|
6464
6625
|
function ToneBadge({ children, tone = "muted", className }) {
|
|
6465
|
-
return /* @__PURE__ */ (0,
|
|
6626
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
6466
6627
|
"span",
|
|
6467
6628
|
{
|
|
6468
6629
|
className: cn(
|
|
@@ -6476,7 +6637,7 @@ function ToneBadge({ children, tone = "muted", className }) {
|
|
|
6476
6637
|
}
|
|
6477
6638
|
|
|
6478
6639
|
// src/web/components/selectable-card.tsx
|
|
6479
|
-
var
|
|
6640
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
6480
6641
|
function SelectableCard({
|
|
6481
6642
|
selected,
|
|
6482
6643
|
onClick,
|
|
@@ -6488,28 +6649,28 @@ function SelectableCard({
|
|
|
6488
6649
|
children,
|
|
6489
6650
|
className
|
|
6490
6651
|
}) {
|
|
6491
|
-
const content = /* @__PURE__ */ (0,
|
|
6492
|
-
/* @__PURE__ */ (0,
|
|
6493
|
-
indicator && /* @__PURE__ */ (0,
|
|
6652
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-start justify-between gap-3", children: [
|
|
6653
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex min-w-0 flex-1 items-start gap-3", children: [
|
|
6654
|
+
indicator && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
6494
6655
|
"div",
|
|
6495
6656
|
{
|
|
6496
6657
|
className: cn(
|
|
6497
6658
|
"mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
6498
6659
|
selected ? "border-primary bg-primary" : "border-white/20"
|
|
6499
6660
|
),
|
|
6500
|
-
children: selected && /* @__PURE__ */ (0,
|
|
6661
|
+
children: selected && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "size-2 rounded-full bg-background" })
|
|
6501
6662
|
}
|
|
6502
6663
|
),
|
|
6503
|
-
/* @__PURE__ */ (0,
|
|
6504
|
-
/* @__PURE__ */ (0,
|
|
6505
|
-
/* @__PURE__ */ (0,
|
|
6664
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
6665
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
6666
|
+
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-body font-bold text-foreground", children: title }),
|
|
6506
6667
|
badge
|
|
6507
6668
|
] }),
|
|
6508
|
-
description && /* @__PURE__ */ (0,
|
|
6669
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "mt-0.5 text-xs leading-relaxed text-muted-foreground", children: description }),
|
|
6509
6670
|
children
|
|
6510
6671
|
] })
|
|
6511
6672
|
] }),
|
|
6512
|
-
preview && /* @__PURE__ */ (0,
|
|
6673
|
+
preview && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "shrink-0 text-right", children: preview })
|
|
6513
6674
|
] });
|
|
6514
6675
|
const cardClassName = cn(
|
|
6515
6676
|
"w-full rounded-2xl border p-4 text-left transition-all duration-200",
|
|
@@ -6517,14 +6678,14 @@ function SelectableCard({
|
|
|
6517
6678
|
className
|
|
6518
6679
|
);
|
|
6519
6680
|
if (onClick) {
|
|
6520
|
-
return /* @__PURE__ */ (0,
|
|
6681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("button", { type: "button", onClick, className: cardClassName, children: content });
|
|
6521
6682
|
}
|
|
6522
|
-
return /* @__PURE__ */ (0,
|
|
6683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: cardClassName, children: content });
|
|
6523
6684
|
}
|
|
6524
6685
|
|
|
6525
6686
|
// src/web/components/mobile-hero-animation.tsx
|
|
6526
6687
|
var import_react13 = require("react");
|
|
6527
|
-
var
|
|
6688
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
6528
6689
|
var PROTOCOLS = [
|
|
6529
6690
|
{ name: "Bitcoin", network: "Bitcoin", iconSuffix: "bitcoin/bitcoin-logo.svg" },
|
|
6530
6691
|
{ name: "Lightning", network: "LN", iconSuffix: "lightning/lightning.svg" },
|
|
@@ -6583,15 +6744,15 @@ var MobileHeroAnimation = ({
|
|
|
6583
6744
|
}, []);
|
|
6584
6745
|
const anim = !reducedMotion && isVisible;
|
|
6585
6746
|
const scale = size / 280;
|
|
6586
|
-
return /* @__PURE__ */ (0,
|
|
6747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
6587
6748
|
"div",
|
|
6588
6749
|
{
|
|
6589
6750
|
ref: containerRef,
|
|
6590
6751
|
className,
|
|
6591
6752
|
style: { position: "relative", width: size, height: size },
|
|
6592
6753
|
children: [
|
|
6593
|
-
/* @__PURE__ */ (0,
|
|
6594
|
-
/* @__PURE__ */ (0,
|
|
6754
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("style", { children: KEYFRAMES }),
|
|
6755
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { style: {
|
|
6595
6756
|
position: "absolute",
|
|
6596
6757
|
top: 0,
|
|
6597
6758
|
left: 0,
|
|
@@ -6600,7 +6761,7 @@ var MobileHeroAnimation = ({
|
|
|
6600
6761
|
transformOrigin: "top left",
|
|
6601
6762
|
transform: scale !== 1 ? `scale(${scale})` : void 0
|
|
6602
6763
|
}, children: [
|
|
6603
|
-
/* @__PURE__ */ (0,
|
|
6764
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
|
|
6604
6765
|
"svg",
|
|
6605
6766
|
{
|
|
6606
6767
|
viewBox: "0 0 280 280",
|
|
@@ -6609,34 +6770,34 @@ var MobileHeroAnimation = ({
|
|
|
6609
6770
|
style: { position: "absolute", inset: 0 },
|
|
6610
6771
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6611
6772
|
children: [
|
|
6612
|
-
/* @__PURE__ */ (0,
|
|
6613
|
-
/* @__PURE__ */ (0,
|
|
6614
|
-
/* @__PURE__ */ (0,
|
|
6615
|
-
/* @__PURE__ */ (0,
|
|
6616
|
-
/* @__PURE__ */ (0,
|
|
6773
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("defs", { children: [
|
|
6774
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("radialGradient", { id: "mh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
6775
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
6776
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
6777
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6617
6778
|
] }),
|
|
6618
|
-
/* @__PURE__ */ (0,
|
|
6619
|
-
/* @__PURE__ */ (0,
|
|
6620
|
-
/* @__PURE__ */ (0,
|
|
6779
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "mh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6780
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
6781
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6621
6782
|
] }),
|
|
6622
|
-
/* @__PURE__ */ (0,
|
|
6623
|
-
/* @__PURE__ */ (0,
|
|
6624
|
-
/* @__PURE__ */ (0,
|
|
6783
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("linearGradient", { id: "mh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6784
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
6785
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6625
6786
|
] }),
|
|
6626
|
-
/* @__PURE__ */ (0,
|
|
6627
|
-
/* @__PURE__ */ (0,
|
|
6628
|
-
/* @__PURE__ */ (0,
|
|
6629
|
-
/* @__PURE__ */ (0,
|
|
6630
|
-
/* @__PURE__ */ (0,
|
|
6787
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("filter", { id: "mh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
6788
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feGaussianBlur", { stdDeviation: "2.5", result: "blur" }),
|
|
6789
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("feMerge", { children: [
|
|
6790
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "blur" }),
|
|
6791
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6631
6792
|
] })
|
|
6632
6793
|
] })
|
|
6633
6794
|
] }),
|
|
6634
|
-
/* @__PURE__ */ (0,
|
|
6635
|
-
/* @__PURE__ */ (0,
|
|
6636
|
-
/* @__PURE__ */ (0,
|
|
6795
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.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_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
6796
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: `${ORBIT_R};${Math.round(ORBIT_R * 1.12)};${ORBIT_R}`, dur: "2.5s", repeatCount: "indefinite" }),
|
|
6797
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.4;0;0.4", dur: "2.5s", repeatCount: "indefinite" })
|
|
6637
6798
|
] }) }),
|
|
6638
|
-
/* @__PURE__ */ (0,
|
|
6639
|
-
/* @__PURE__ */ (0,
|
|
6799
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: 80, fill: "none", stroke: "rgba(255,255,255,0.1)", strokeWidth: "1", strokeDasharray: "4 4" }),
|
|
6800
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6640
6801
|
"g",
|
|
6641
6802
|
{
|
|
6642
6803
|
style: {
|
|
@@ -6654,8 +6815,8 @@ var MobileHeroAnimation = ({
|
|
|
6654
6815
|
const y2 = C + dy * (ORBIT_R - BADGE_HALF);
|
|
6655
6816
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6656
6817
|
const dur = `${2 + i * 0.3}s`;
|
|
6657
|
-
return /* @__PURE__ */ (0,
|
|
6658
|
-
/* @__PURE__ */ (0,
|
|
6818
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
|
|
6819
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6659
6820
|
"line",
|
|
6660
6821
|
{
|
|
6661
6822
|
x1,
|
|
@@ -6666,30 +6827,30 @@ var MobileHeroAnimation = ({
|
|
|
6666
6827
|
strokeWidth: "0.8",
|
|
6667
6828
|
strokeDasharray: "2 4",
|
|
6668
6829
|
opacity: "0.25",
|
|
6669
|
-
children: anim && /* @__PURE__ */ (0,
|
|
6830
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
6670
6831
|
}
|
|
6671
6832
|
),
|
|
6672
|
-
/* @__PURE__ */ (0,
|
|
6673
|
-
/* @__PURE__ */ (0,
|
|
6674
|
-
/* @__PURE__ */ (0,
|
|
6675
|
-
/* @__PURE__ */ (0,
|
|
6676
|
-
/* @__PURE__ */ (0,
|
|
6833
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { r: "2", fill: color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
6834
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cx", values: `${x1};${x2}`, dur, repeatCount: "indefinite" }),
|
|
6835
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "cy", values: `${y1};${y2}`, dur, repeatCount: "indefinite" }),
|
|
6836
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0;0.85;0", dur, repeatCount: "indefinite" }),
|
|
6837
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "1.5;2.5;1.5", dur, repeatCount: "indefinite" })
|
|
6677
6838
|
] }) })
|
|
6678
6839
|
] }, `line-${i}`);
|
|
6679
6840
|
})
|
|
6680
6841
|
}
|
|
6681
6842
|
),
|
|
6682
|
-
/* @__PURE__ */ (0,
|
|
6683
|
-
/* @__PURE__ */ (0,
|
|
6684
|
-
/* @__PURE__ */ (0,
|
|
6685
|
-
/* @__PURE__ */ (0,
|
|
6843
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: "42", fill: "url(#mh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "38;46;38", dur: "4s", repeatCount: "indefinite" }) }),
|
|
6844
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("circle", { cx: C, cy: C, r: "29", fill: "none", stroke: "url(#mh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
6845
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "27;38", dur: "3s", repeatCount: "indefinite" }),
|
|
6846
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
6686
6847
|
] }) }),
|
|
6687
|
-
/* @__PURE__ */ (0,
|
|
6688
|
-
/* @__PURE__ */ (0,
|
|
6689
|
-
/* @__PURE__ */ (0,
|
|
6848
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.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_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
6849
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "r", values: "27;36", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
6850
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
6690
6851
|
] }) }),
|
|
6691
|
-
/* @__PURE__ */ (0,
|
|
6692
|
-
anim && /* @__PURE__ */ (0,
|
|
6852
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
|
|
6853
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6693
6854
|
"animateTransform",
|
|
6694
6855
|
{
|
|
6695
6856
|
attributeName: "transform",
|
|
@@ -6701,13 +6862,13 @@ var MobileHeroAnimation = ({
|
|
|
6701
6862
|
additive: "sum"
|
|
6702
6863
|
}
|
|
6703
6864
|
),
|
|
6704
|
-
/* @__PURE__ */ (0,
|
|
6705
|
-
/* @__PURE__ */ (0,
|
|
6706
|
-
/* @__PURE__ */ (0,
|
|
6865
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.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_runtime74.jsxs)(import_jsx_runtime74.Fragment, { children: [
|
|
6866
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
6867
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
6707
6868
|
] }) })
|
|
6708
6869
|
] }) }),
|
|
6709
|
-
/* @__PURE__ */ (0,
|
|
6710
|
-
anim && /* @__PURE__ */ (0,
|
|
6870
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("g", { transform: `translate(${C},${C})`, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { children: [
|
|
6871
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6711
6872
|
"animateTransform",
|
|
6712
6873
|
{
|
|
6713
6874
|
attributeName: "transform",
|
|
@@ -6719,19 +6880,19 @@ var MobileHeroAnimation = ({
|
|
|
6719
6880
|
additive: "sum"
|
|
6720
6881
|
}
|
|
6721
6882
|
),
|
|
6722
|
-
/* @__PURE__ */ (0,
|
|
6883
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: hexPath(32), fill: "rgba(10,15,30,0.75)", stroke: "rgba(255,255,255,0.08)", strokeWidth: "0.5" })
|
|
6723
6884
|
] }) }),
|
|
6724
|
-
/* @__PURE__ */ (0,
|
|
6725
|
-
/* @__PURE__ */ (0,
|
|
6726
|
-
/* @__PURE__ */ (0,
|
|
6727
|
-
/* @__PURE__ */ (0,
|
|
6728
|
-
/* @__PURE__ */ (0,
|
|
6729
|
-
/* @__PURE__ */ (0,
|
|
6885
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("g", { transform: `translate(${C - 18.8},${C - 18.8}) scale(0.0912)`, children: [
|
|
6886
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M137.306 411.865H0.000244141L68.6795 343.29L137.306 411.865Z", fill: "#6F32FF" }),
|
|
6887
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M0 0H137.306L68.6267 68.574L0 0Z", fill: "#6F32FF" }),
|
|
6888
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M137.148 274.559H274.455L411.708 411.866H274.401L137.148 274.559Z", fill: "#17B581" }),
|
|
6889
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.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" }),
|
|
6890
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", { d: "M274.479 0.104797H411.786L274.533 137.411H137.226L274.479 0.104797Z", fill: "#17B581" })
|
|
6730
6891
|
] })
|
|
6731
6892
|
]
|
|
6732
6893
|
}
|
|
6733
6894
|
),
|
|
6734
|
-
/* @__PURE__ */ (0,
|
|
6895
|
+
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: {
|
|
6735
6896
|
position: "absolute",
|
|
6736
6897
|
inset: 0,
|
|
6737
6898
|
width: 280,
|
|
@@ -6742,7 +6903,7 @@ var MobileHeroAnimation = ({
|
|
|
6742
6903
|
const x = C + Math.cos(angle) * ORBIT_R - BADGE_HALF;
|
|
6743
6904
|
const y = C + Math.sin(angle) * ORBIT_R - BADGE_HALF;
|
|
6744
6905
|
const color = PROTOCOL_COLORS[protocol.network] ?? "#ffffff";
|
|
6745
|
-
return /* @__PURE__ */ (0,
|
|
6906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6746
6907
|
"div",
|
|
6747
6908
|
{
|
|
6748
6909
|
style: {
|
|
@@ -6753,7 +6914,7 @@ var MobileHeroAnimation = ({
|
|
|
6753
6914
|
height: BADGE_SIZE,
|
|
6754
6915
|
animation: anim ? "mha-counter-spin 20s linear infinite" : "none"
|
|
6755
6916
|
},
|
|
6756
|
-
children: /* @__PURE__ */ (0,
|
|
6917
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { style: {
|
|
6757
6918
|
width: "100%",
|
|
6758
6919
|
height: "100%",
|
|
6759
6920
|
borderRadius: "50%",
|
|
@@ -6764,7 +6925,7 @@ var MobileHeroAnimation = ({
|
|
|
6764
6925
|
display: "flex",
|
|
6765
6926
|
alignItems: "center",
|
|
6766
6927
|
justifyContent: "center"
|
|
6767
|
-
}, children: /* @__PURE__ */ (0,
|
|
6928
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
6768
6929
|
"img",
|
|
6769
6930
|
{
|
|
6770
6931
|
src: iconBasePath ? `${iconBasePath}/${protocol.iconSuffix}` : protocolIcons[protocol.network] ?? protocol.iconSuffix,
|
|
@@ -6784,7 +6945,7 @@ var MobileHeroAnimation = ({
|
|
|
6784
6945
|
|
|
6785
6946
|
// src/web/components/kaleidoscope-hero-animation.tsx
|
|
6786
6947
|
var import_react14 = require("react");
|
|
6787
|
-
var
|
|
6948
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
6788
6949
|
var PROTOCOLS2 = [
|
|
6789
6950
|
{ name: "Bitcoin L1", network: "L1", color: "#F7931A", glowColor: "rgba(247,147,26,0.5)" },
|
|
6790
6951
|
{ name: "Lightning", network: "LN", color: "#fbbf24", glowColor: "rgba(251,191,36,0.5)" },
|
|
@@ -6889,13 +7050,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6889
7050
|
const angle = Math.PI * 2 * i / 7 - Math.PI / 2;
|
|
6890
7051
|
return { x: c + orbitR * Math.cos(angle), y: c + orbitR * Math.sin(angle) };
|
|
6891
7052
|
});
|
|
6892
|
-
return /* @__PURE__ */ (0,
|
|
7053
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6893
7054
|
"div",
|
|
6894
7055
|
{
|
|
6895
7056
|
ref: containerRef,
|
|
6896
7057
|
className: `relative ${className}`,
|
|
6897
7058
|
style: size ? { width: size, height: size } : void 0,
|
|
6898
|
-
children: /* @__PURE__ */ (0,
|
|
7059
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
|
|
6899
7060
|
"svg",
|
|
6900
7061
|
{
|
|
6901
7062
|
viewBox: "0 0 500 500",
|
|
@@ -6904,60 +7065,60 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6904
7065
|
xmlns: "http://www.w3.org/2000/svg",
|
|
6905
7066
|
className: "overflow-visible",
|
|
6906
7067
|
children: [
|
|
6907
|
-
/* @__PURE__ */ (0,
|
|
6908
|
-
/* @__PURE__ */ (0,
|
|
6909
|
-
/* @__PURE__ */ (0,
|
|
6910
|
-
/* @__PURE__ */ (0,
|
|
7068
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("defs", { children: [
|
|
7069
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-grad-a", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
7070
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#22c55e;#8a5cf6;#06b6d4;#F7931A;#22c55e", dur: "10s", repeatCount: "indefinite" }) }),
|
|
7071
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#F7931A;#22c55e;#06b6d4;#8a5cf6", dur: "10s", repeatCount: "indefinite" }) })
|
|
6911
7072
|
] }),
|
|
6912
|
-
/* @__PURE__ */ (0,
|
|
6913
|
-
/* @__PURE__ */ (0,
|
|
6914
|
-
/* @__PURE__ */ (0,
|
|
7073
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-grad-b", x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
|
|
7074
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#06b6d4;#22c55e;#F7931A;#8a5cf6;#06b6d4", dur: "8s", repeatCount: "indefinite" }) }),
|
|
7075
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#F7931A;#06b6d4;#8a5cf6;#22c55e;#F7931A", dur: "8s", repeatCount: "indefinite" }) })
|
|
6915
7076
|
] }),
|
|
6916
|
-
/* @__PURE__ */ (0,
|
|
6917
|
-
/* @__PURE__ */ (0,
|
|
6918
|
-
/* @__PURE__ */ (0,
|
|
7077
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-grad-c", x1: "50%", y1: "0%", x2: "50%", y2: "100%", children: [
|
|
7078
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#0e9dff;#8a5cf6;#15E99A;#0e9dff", dur: "6s", repeatCount: "indefinite" }) }),
|
|
7079
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stop-color", values: "#8a5cf6;#15E99A;#0e9dff;#8a5cf6", dur: "6s", repeatCount: "indefinite" }) })
|
|
6919
7080
|
] }),
|
|
6920
|
-
/* @__PURE__ */ (0,
|
|
6921
|
-
/* @__PURE__ */ (0,
|
|
6922
|
-
/* @__PURE__ */ (0,
|
|
7081
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-gp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
7082
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#22c55e" }),
|
|
7083
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6923
7084
|
] }),
|
|
6924
|
-
/* @__PURE__ */ (0,
|
|
6925
|
-
/* @__PURE__ */ (0,
|
|
6926
|
-
/* @__PURE__ */ (0,
|
|
7085
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-oc", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
7086
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#F7931A" }),
|
|
7087
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#06b6d4" })
|
|
6927
7088
|
] }),
|
|
6928
|
-
/* @__PURE__ */ (0,
|
|
6929
|
-
/* @__PURE__ */ (0,
|
|
6930
|
-
/* @__PURE__ */ (0,
|
|
7089
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("linearGradient", { id: "kh-bp", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
7090
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#0e9dff" }),
|
|
7091
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6" })
|
|
6931
7092
|
] }),
|
|
6932
|
-
/* @__PURE__ */ (0,
|
|
6933
|
-
/* @__PURE__ */ (0,
|
|
6934
|
-
/* @__PURE__ */ (0,
|
|
6935
|
-
/* @__PURE__ */ (0,
|
|
7093
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("radialGradient", { id: "kh-center-glow", cx: "50%", cy: "50%", r: "50%", children: [
|
|
7094
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "#0e9dff", stopOpacity: "0.3" }),
|
|
7095
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "40%", stopColor: "#8a5cf6", stopOpacity: "0.15" }),
|
|
7096
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "transparent", stopOpacity: "0" })
|
|
6936
7097
|
] }),
|
|
6937
|
-
/* @__PURE__ */ (0,
|
|
6938
|
-
/* @__PURE__ */ (0,
|
|
6939
|
-
/* @__PURE__ */ (0,
|
|
6940
|
-
/* @__PURE__ */ (0,
|
|
7098
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("radialGradient", { id: "kh-haze", cx: "50%", cy: "50%", r: "50%", children: [
|
|
7099
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "0%", stopColor: "transparent", stopOpacity: "0" }),
|
|
7100
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "60%", stopColor: "#0e9dff", stopOpacity: "0.03" }),
|
|
7101
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("stop", { offset: "100%", stopColor: "#8a5cf6", stopOpacity: "0.06" })
|
|
6941
7102
|
] }),
|
|
6942
|
-
/* @__PURE__ */ (0,
|
|
6943
|
-
/* @__PURE__ */ (0,
|
|
6944
|
-
/* @__PURE__ */ (0,
|
|
6945
|
-
/* @__PURE__ */ (0,
|
|
6946
|
-
/* @__PURE__ */ (0,
|
|
7103
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("filter", { id: "kh-glow", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
7104
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feGaussianBlur", { stdDeviation: "3", result: "blur" }),
|
|
7105
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("feMerge", { children: [
|
|
7106
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "blur" }),
|
|
7107
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6947
7108
|
] })
|
|
6948
7109
|
] }),
|
|
6949
|
-
/* @__PURE__ */ (0,
|
|
6950
|
-
/* @__PURE__ */ (0,
|
|
6951
|
-
/* @__PURE__ */ (0,
|
|
6952
|
-
/* @__PURE__ */ (0,
|
|
6953
|
-
/* @__PURE__ */ (0,
|
|
7110
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("filter", { id: "kh-glow-lg", x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
|
|
7111
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feGaussianBlur", { stdDeviation: "8", result: "blur" }),
|
|
7112
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("feMerge", { children: [
|
|
7113
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "blur" }),
|
|
7114
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("feMergeNode", { in: "SourceGraphic" })
|
|
6954
7115
|
] })
|
|
6955
7116
|
] })
|
|
6956
7117
|
] }),
|
|
6957
|
-
/* @__PURE__ */ (0,
|
|
6958
|
-
/* @__PURE__ */ (0,
|
|
6959
|
-
/* @__PURE__ */ (0,
|
|
6960
|
-
anim && /* @__PURE__ */ (0,
|
|
7118
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: "248", fill: "url(#kh-haze)" }),
|
|
7119
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(20), children: [
|
|
7120
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7121
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6961
7122
|
"animateTransform",
|
|
6962
7123
|
{
|
|
6963
7124
|
attributeName: "transform",
|
|
@@ -6970,14 +7131,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6970
7131
|
),
|
|
6971
7132
|
Array.from({ length: 6 }, (_, i) => {
|
|
6972
7133
|
const a = Math.PI / 3 * i;
|
|
6973
|
-
return /* @__PURE__ */ (0,
|
|
6974
|
-
/* @__PURE__ */ (0,
|
|
6975
|
-
/* @__PURE__ */ (0,
|
|
7134
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c + outerR1 * Math.cos(a)},${c + outerR1 * Math.sin(a)})`, children: [
|
|
7135
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(40), fill: "url(#kh-grad-a)", opacity: 0.08 + i % 3 * 0.04 }),
|
|
7136
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(40), fill: "none", stroke: "url(#kh-grad-a)", strokeWidth: "0.5", opacity: 0.15, children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.1;0.25;0.1", dur: `${4 + i * 0.3}s`, repeatCount: "indefinite" }) })
|
|
6976
7137
|
] }, `ha-${i}`);
|
|
6977
7138
|
}),
|
|
6978
7139
|
Array.from({ length: 6 }, (_, i) => {
|
|
6979
7140
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
6980
|
-
return /* @__PURE__ */ (0,
|
|
7141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6981
7142
|
"path",
|
|
6982
7143
|
{
|
|
6983
7144
|
d: triPath(14),
|
|
@@ -6990,7 +7151,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6990
7151
|
}),
|
|
6991
7152
|
Array.from({ length: 12 }, (_, i) => {
|
|
6992
7153
|
const a = Math.PI / 6 * i;
|
|
6993
|
-
return /* @__PURE__ */ (0,
|
|
7154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
6994
7155
|
"circle",
|
|
6995
7156
|
{
|
|
6996
7157
|
cx: c + outerR1 * 0.92 * Math.cos(a),
|
|
@@ -6998,14 +7159,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
6998
7159
|
r: "1.5",
|
|
6999
7160
|
fill: "url(#kh-grad-a)",
|
|
7000
7161
|
opacity: "0.15",
|
|
7001
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7162
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.08;0.25;0.08", dur: `${2 + i % 3 * 0.7}s`, repeatCount: "indefinite" })
|
|
7002
7163
|
},
|
|
7003
7164
|
`od-${i}`
|
|
7004
7165
|
);
|
|
7005
7166
|
})
|
|
7006
7167
|
] }),
|
|
7007
|
-
/* @__PURE__ */ (0,
|
|
7008
|
-
anim && /* @__PURE__ */ (0,
|
|
7168
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7169
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7009
7170
|
"animateTransform",
|
|
7010
7171
|
{
|
|
7011
7172
|
attributeName: "transform",
|
|
@@ -7018,28 +7179,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7018
7179
|
),
|
|
7019
7180
|
Array.from({ length: 6 }, (_, i) => {
|
|
7020
7181
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
7021
|
-
return /* @__PURE__ */ (0,
|
|
7022
|
-
/* @__PURE__ */ (0,
|
|
7023
|
-
/* @__PURE__ */ (0,
|
|
7182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c + outerR2 * Math.cos(a)},${c + outerR2 * Math.sin(a)})`, children: [
|
|
7183
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(30), fill: "url(#kh-grad-b)", opacity: 0.06 + i % 2 * 0.04 }),
|
|
7184
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(30), fill: "none", stroke: "url(#kh-grad-b)", strokeWidth: "0.5", opacity: 0.12 })
|
|
7024
7185
|
] }, `hb-${i}`);
|
|
7025
7186
|
}),
|
|
7026
7187
|
Array.from({ length: 6 }, (_, i) => {
|
|
7027
7188
|
const a = Math.PI / 3 * i;
|
|
7028
|
-
return /* @__PURE__ */ (0,
|
|
7189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7029
7190
|
"path",
|
|
7030
7191
|
{
|
|
7031
7192
|
d: diamondPath(8, 16),
|
|
7032
7193
|
transform: `translate(${c + outerR2 * 0.85 * Math.cos(a)},${c + outerR2 * 0.85 * Math.sin(a)}) rotate(${i * 60})`,
|
|
7033
7194
|
fill: "url(#kh-grad-b)",
|
|
7034
7195
|
opacity: "0.08",
|
|
7035
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7196
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.05;0.15;0.05", dur: `${3.5 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
7036
7197
|
},
|
|
7037
7198
|
`db-${i}`
|
|
7038
7199
|
);
|
|
7039
7200
|
})
|
|
7040
7201
|
] }),
|
|
7041
|
-
/* @__PURE__ */ (0,
|
|
7042
|
-
anim && /* @__PURE__ */ (0,
|
|
7202
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7203
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7043
7204
|
"animateTransform",
|
|
7044
7205
|
{
|
|
7045
7206
|
attributeName: "transform",
|
|
@@ -7053,23 +7214,23 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7053
7214
|
Array.from({ length: 12 }, (_, i) => {
|
|
7054
7215
|
const a = Math.PI / 6 * i;
|
|
7055
7216
|
const r = outerR1 * (0.6 + i % 2 * 0.15);
|
|
7056
|
-
return /* @__PURE__ */ (0,
|
|
7217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7057
7218
|
"path",
|
|
7058
7219
|
{
|
|
7059
7220
|
d: triPath(10),
|
|
7060
7221
|
transform: `translate(${c + r * Math.cos(a)},${c + r * Math.sin(a)}) rotate(${i * 30 + 15})`,
|
|
7061
7222
|
fill: "url(#kh-grad-c)",
|
|
7062
7223
|
opacity: "0.05",
|
|
7063
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7224
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.03;0.1;0.03", dur: `${5 + i % 4 * 0.8}s`, repeatCount: "indefinite" })
|
|
7064
7225
|
},
|
|
7065
7226
|
`tc-${i}`
|
|
7066
7227
|
);
|
|
7067
7228
|
})
|
|
7068
7229
|
] })
|
|
7069
7230
|
] }),
|
|
7070
|
-
/* @__PURE__ */ (0,
|
|
7071
|
-
/* @__PURE__ */ (0,
|
|
7072
|
-
anim && /* @__PURE__ */ (0,
|
|
7231
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(14), children: [
|
|
7232
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7233
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7073
7234
|
"animateTransform",
|
|
7074
7235
|
{
|
|
7075
7236
|
attributeName: "transform",
|
|
@@ -7082,9 +7243,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7082
7243
|
),
|
|
7083
7244
|
Array.from({ length: 12 }, (_, i) => {
|
|
7084
7245
|
const a = Math.PI / 6 * i;
|
|
7085
|
-
return /* @__PURE__ */ (0,
|
|
7086
|
-
/* @__PURE__ */ (0,
|
|
7087
|
-
/* @__PURE__ */ (0,
|
|
7246
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c + midR * Math.cos(a)},${c + midR * Math.sin(a)})`, children: [
|
|
7247
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(12), fill: "url(#kh-grad-c)", opacity: 0.08 + i % 3 * 0.03 }),
|
|
7248
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: hexPath2(12), fill: "none", stroke: "url(#kh-grad-c)", strokeWidth: "0.4", opacity: "0.12", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.08;0.2;0.08", dur: `${3 + i % 4 * 0.5}s`, repeatCount: "indefinite" }) })
|
|
7088
7249
|
] }, `mh-${i}`);
|
|
7089
7250
|
})
|
|
7090
7251
|
] }),
|
|
@@ -7095,7 +7256,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7095
7256
|
const y1 = c + midR * Math.sin(a1);
|
|
7096
7257
|
const x2 = c + midR * Math.cos(a2);
|
|
7097
7258
|
const y2 = c + midR * Math.sin(a2);
|
|
7098
|
-
return /* @__PURE__ */ (0,
|
|
7259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7099
7260
|
"path",
|
|
7100
7261
|
{
|
|
7101
7262
|
d: `M${x1},${y1} Q${c},${c} ${x2},${y2}`,
|
|
@@ -7104,17 +7265,17 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7104
7265
|
strokeWidth: "0.5",
|
|
7105
7266
|
strokeDasharray: "3 5",
|
|
7106
7267
|
opacity: "0.1",
|
|
7107
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7268
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-16", dur: `${3 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
7108
7269
|
},
|
|
7109
7270
|
`arc-${i}`
|
|
7110
7271
|
);
|
|
7111
7272
|
})
|
|
7112
7273
|
] }),
|
|
7113
|
-
/* @__PURE__ */ (0,
|
|
7114
|
-
/* @__PURE__ */ (0,
|
|
7115
|
-
/* @__PURE__ */ (0,
|
|
7116
|
-
/* @__PURE__ */ (0,
|
|
7117
|
-
anim && /* @__PURE__ */ (0,
|
|
7274
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(10), children: [
|
|
7275
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.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_runtime75.jsx)("animateTransform", { attributeName: "transform", type: "rotate", from: `0 ${c} ${c}`, to: `360 ${c} ${c}`, dur: "90s", repeatCount: "indefinite" }) }),
|
|
7276
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: orbitR + 4, fill: "none", stroke: "rgba(255,255,255,0.03)", strokeWidth: "0.5" }),
|
|
7277
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7278
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7118
7279
|
"animateTransform",
|
|
7119
7280
|
{
|
|
7120
7281
|
attributeName: "transform",
|
|
@@ -7129,8 +7290,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7129
7290
|
const angle = Math.atan2(pos.y - c, pos.x - c);
|
|
7130
7291
|
const dx = Math.cos(angle);
|
|
7131
7292
|
const dy = Math.sin(angle);
|
|
7132
|
-
return /* @__PURE__ */ (0,
|
|
7133
|
-
/* @__PURE__ */ (0,
|
|
7293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7294
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7134
7295
|
"line",
|
|
7135
7296
|
{
|
|
7136
7297
|
x1: c + dx * 52,
|
|
@@ -7141,14 +7302,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7141
7302
|
strokeWidth: "0.8",
|
|
7142
7303
|
strokeDasharray: "2 4",
|
|
7143
7304
|
opacity: "0.2",
|
|
7144
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7305
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stroke-dashoffset", from: "0", to: "-12", dur: `${1.5 + i * 0.2}s`, repeatCount: "indefinite" })
|
|
7145
7306
|
}
|
|
7146
7307
|
),
|
|
7147
|
-
/* @__PURE__ */ (0,
|
|
7148
|
-
/* @__PURE__ */ (0,
|
|
7149
|
-
/* @__PURE__ */ (0,
|
|
7150
|
-
/* @__PURE__ */ (0,
|
|
7151
|
-
/* @__PURE__ */ (0,
|
|
7308
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { r: "2.5", fill: PROTOCOLS2[i].color, opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
|
|
7309
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "cx", values: `${c + dx * 52};${pos.x}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
7310
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "cy", values: `${c + dy * 52};${pos.y}`, dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
7311
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0;0.8;0", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" }),
|
|
7312
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "1.5;3;1.5", dur: `${2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
7152
7313
|
] }) })
|
|
7153
7314
|
] }, `conn-${i}`);
|
|
7154
7315
|
}),
|
|
@@ -7156,14 +7317,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7156
7317
|
const pos = iconPositions[i];
|
|
7157
7318
|
const labelWidth = Math.max(proto.name.length * 5.5 + 10, 32);
|
|
7158
7319
|
const isHovered = hoveredProtocol === proto.name;
|
|
7159
|
-
return /* @__PURE__ */ (0,
|
|
7320
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("g", { transform: `translate(${pos.x},${pos.y})`, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
|
|
7160
7321
|
"g",
|
|
7161
7322
|
{
|
|
7162
7323
|
onMouseEnter: () => setHoveredProtocol(proto.name),
|
|
7163
7324
|
onMouseLeave: () => setHoveredProtocol(null),
|
|
7164
7325
|
style: { cursor: "pointer" },
|
|
7165
7326
|
children: [
|
|
7166
|
-
anim && /* @__PURE__ */ (0,
|
|
7327
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7167
7328
|
"animateTransform",
|
|
7168
7329
|
{
|
|
7169
7330
|
attributeName: "transform",
|
|
@@ -7174,7 +7335,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7174
7335
|
repeatCount: "indefinite"
|
|
7175
7336
|
}
|
|
7176
7337
|
),
|
|
7177
|
-
/* @__PURE__ */ (0,
|
|
7338
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7178
7339
|
"circle",
|
|
7179
7340
|
{
|
|
7180
7341
|
cx: "0",
|
|
@@ -7184,13 +7345,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7184
7345
|
stroke: proto.color,
|
|
7185
7346
|
strokeWidth: "1",
|
|
7186
7347
|
opacity: "0",
|
|
7187
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7188
|
-
/* @__PURE__ */ (0,
|
|
7189
|
-
/* @__PURE__ */ (0,
|
|
7348
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
|
|
7349
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: `${iconR};${iconR + 12}`, dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` }),
|
|
7350
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.5;0", dur: `${3 + i * 0.5}s`, repeatCount: "indefinite", begin: `${i * 0.4}s` })
|
|
7190
7351
|
] })
|
|
7191
7352
|
}
|
|
7192
7353
|
),
|
|
7193
|
-
/* @__PURE__ */ (0,
|
|
7354
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7194
7355
|
"circle",
|
|
7195
7356
|
{
|
|
7196
7357
|
cx: "0",
|
|
@@ -7200,10 +7361,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7200
7361
|
stroke: proto.color,
|
|
7201
7362
|
strokeWidth: "1",
|
|
7202
7363
|
opacity: "0.15",
|
|
7203
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7364
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.15;0.4;0.15", dur: `${3 + i * 0.4}s`, repeatCount: "indefinite" })
|
|
7204
7365
|
}
|
|
7205
7366
|
),
|
|
7206
|
-
/* @__PURE__ */ (0,
|
|
7367
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7207
7368
|
"circle",
|
|
7208
7369
|
{
|
|
7209
7370
|
cx: "0",
|
|
@@ -7213,10 +7374,10 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7213
7374
|
stroke: proto.color,
|
|
7214
7375
|
strokeWidth: "1.5",
|
|
7215
7376
|
opacity: "0.25",
|
|
7216
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7377
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.2;0.5;0.2", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
7217
7378
|
}
|
|
7218
7379
|
),
|
|
7219
|
-
/* @__PURE__ */ (0,
|
|
7380
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7220
7381
|
"circle",
|
|
7221
7382
|
{
|
|
7222
7383
|
cx: "0",
|
|
@@ -7227,8 +7388,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7227
7388
|
strokeWidth: "1"
|
|
7228
7389
|
}
|
|
7229
7390
|
),
|
|
7230
|
-
/* @__PURE__ */ (0,
|
|
7231
|
-
/* @__PURE__ */ (0,
|
|
7391
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: "0", cy: "0", r: iconR - 2, fill: proto.color, opacity: "0.06" }),
|
|
7392
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("foreignObject", { x: -iconR, y: -iconR, width: iconR * 2, height: iconR * 2, children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7232
7393
|
NetworkBadge,
|
|
7233
7394
|
{
|
|
7234
7395
|
network: proto.network,
|
|
@@ -7236,8 +7397,8 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7236
7397
|
className: "w-full h-full"
|
|
7237
7398
|
}
|
|
7238
7399
|
) }),
|
|
7239
|
-
/* @__PURE__ */ (0,
|
|
7240
|
-
/* @__PURE__ */ (0,
|
|
7400
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { opacity: isHovered ? 1 : 0, style: { transition: "opacity 0.2s ease" }, children: [
|
|
7401
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7241
7402
|
"rect",
|
|
7242
7403
|
{
|
|
7243
7404
|
x: -labelWidth / 2,
|
|
@@ -7251,7 +7412,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7251
7412
|
strokeOpacity: 0.4
|
|
7252
7413
|
}
|
|
7253
7414
|
),
|
|
7254
|
-
/* @__PURE__ */ (0,
|
|
7415
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7255
7416
|
"text",
|
|
7256
7417
|
{
|
|
7257
7418
|
x: "0",
|
|
@@ -7271,9 +7432,9 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7271
7432
|
})
|
|
7272
7433
|
] })
|
|
7273
7434
|
] }),
|
|
7274
|
-
/* @__PURE__ */ (0,
|
|
7275
|
-
/* @__PURE__ */ (0,
|
|
7276
|
-
anim && /* @__PURE__ */ (0,
|
|
7435
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: px(5), children: [
|
|
7436
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7437
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7277
7438
|
"animateTransform",
|
|
7278
7439
|
{
|
|
7279
7440
|
attributeName: "transform",
|
|
@@ -7286,28 +7447,28 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7286
7447
|
),
|
|
7287
7448
|
Array.from({ length: 6 }, (_, i) => {
|
|
7288
7449
|
const a = Math.PI / 3 * i;
|
|
7289
|
-
return /* @__PURE__ */ (0,
|
|
7450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7290
7451
|
"path",
|
|
7291
7452
|
{
|
|
7292
7453
|
d: diamondPath(10, 22),
|
|
7293
7454
|
transform: `translate(${c + innerR * Math.cos(a)},${c + innerR * Math.sin(a)}) rotate(${i * 60})`,
|
|
7294
7455
|
fill: "url(#kh-gp)",
|
|
7295
7456
|
opacity: "0.15",
|
|
7296
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7457
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.1;0.28;0.1", dur: `${2.8 + i * 0.35}s`, repeatCount: "indefinite" })
|
|
7297
7458
|
},
|
|
7298
7459
|
`d-${i}`
|
|
7299
7460
|
);
|
|
7300
7461
|
}),
|
|
7301
7462
|
Array.from({ length: 6 }, (_, i) => {
|
|
7302
7463
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
7303
|
-
return /* @__PURE__ */ (0,
|
|
7464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7304
7465
|
"path",
|
|
7305
7466
|
{
|
|
7306
7467
|
d: triPath(8),
|
|
7307
7468
|
transform: `translate(${c + innerR * 0.75 * Math.cos(a)},${c + innerR * 0.75 * Math.sin(a)}) rotate(${i * 60 + 30})`,
|
|
7308
7469
|
fill: "url(#kh-oc)",
|
|
7309
7470
|
opacity: "0.1",
|
|
7310
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7471
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${3.2 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
7311
7472
|
},
|
|
7312
7473
|
`it-${i}`
|
|
7313
7474
|
);
|
|
@@ -7315,7 +7476,7 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7315
7476
|
Array.from({ length: 12 }, (_, i) => {
|
|
7316
7477
|
const a = Math.PI / 6 * i;
|
|
7317
7478
|
const r = innerR * (i % 2 === 0 ? 0.55 : 0.65);
|
|
7318
|
-
return /* @__PURE__ */ (0,
|
|
7479
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7319
7480
|
"circle",
|
|
7320
7481
|
{
|
|
7321
7482
|
cx: c + r * Math.cos(a),
|
|
@@ -7323,14 +7484,14 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7323
7484
|
r: i % 2 === 0 ? 2 : 1.5,
|
|
7324
7485
|
fill: "url(#kh-oc)",
|
|
7325
7486
|
opacity: "0.2",
|
|
7326
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7487
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.1;0.35;0.1", dur: `${2 + i % 4 * 0.5}s`, repeatCount: "indefinite" })
|
|
7327
7488
|
},
|
|
7328
7489
|
`id-${i}`
|
|
7329
7490
|
);
|
|
7330
7491
|
})
|
|
7331
7492
|
] }),
|
|
7332
|
-
/* @__PURE__ */ (0,
|
|
7333
|
-
anim && /* @__PURE__ */ (0,
|
|
7493
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7494
|
+
anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7334
7495
|
"animateTransform",
|
|
7335
7496
|
{
|
|
7336
7497
|
attributeName: "transform",
|
|
@@ -7343,27 +7504,27 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7343
7504
|
),
|
|
7344
7505
|
Array.from({ length: 6 }, (_, i) => {
|
|
7345
7506
|
const a = Math.PI / 3 * i + Math.PI / 6;
|
|
7346
|
-
return /* @__PURE__ */ (0,
|
|
7507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7347
7508
|
"path",
|
|
7348
7509
|
{
|
|
7349
7510
|
d: hexPath2(6),
|
|
7350
7511
|
transform: `translate(${c + innerR * 0.42 * Math.cos(a)},${c + innerR * 0.42 * Math.sin(a)})`,
|
|
7351
7512
|
fill: "url(#kh-bp)",
|
|
7352
7513
|
opacity: "0.1",
|
|
7353
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7514
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.06;0.18;0.06", dur: `${2.5 + i * 0.3}s`, repeatCount: "indefinite" })
|
|
7354
7515
|
},
|
|
7355
7516
|
`ih-${i}`
|
|
7356
7517
|
);
|
|
7357
7518
|
})
|
|
7358
7519
|
] })
|
|
7359
7520
|
] }),
|
|
7360
|
-
/* @__PURE__ */ (0,
|
|
7521
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("g", { transform: px(18), children: Array.from({ length: 16 }, (_, i) => {
|
|
7361
7522
|
const a = Math.PI * 2 * i / 16;
|
|
7362
7523
|
const baseR = 60 + i % 4 * 45;
|
|
7363
7524
|
const x = c + baseR * Math.cos(a);
|
|
7364
7525
|
const y = c + baseR * Math.sin(a);
|
|
7365
7526
|
const colors2 = ["#0e9dff", "#8a5cf6", "#22c55e", "#F7931A", "#06b6d4", "#15E99A"];
|
|
7366
|
-
return /* @__PURE__ */ (0,
|
|
7527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7367
7528
|
"circle",
|
|
7368
7529
|
{
|
|
7369
7530
|
cx: x,
|
|
@@ -7371,26 +7532,26 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7371
7532
|
r: 1 + i % 3 * 0.5,
|
|
7372
7533
|
fill: colors2[i % colors2.length],
|
|
7373
7534
|
opacity: "0",
|
|
7374
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7375
|
-
/* @__PURE__ */ (0,
|
|
7376
|
-
/* @__PURE__ */ (0,
|
|
7377
|
-
/* @__PURE__ */ (0,
|
|
7535
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
|
|
7536
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0;0.6;0", dur: `${3 + i % 5 * 0.8}s`, repeatCount: "indefinite", begin: `${i % 7 * 0.5}s` }),
|
|
7537
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.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` }),
|
|
7538
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.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` })
|
|
7378
7539
|
] })
|
|
7379
7540
|
},
|
|
7380
7541
|
`p-${i}`
|
|
7381
7542
|
);
|
|
7382
7543
|
}) }),
|
|
7383
|
-
/* @__PURE__ */ (0,
|
|
7384
|
-
/* @__PURE__ */ (0,
|
|
7385
|
-
/* @__PURE__ */ (0,
|
|
7386
|
-
/* @__PURE__ */ (0,
|
|
7387
|
-
/* @__PURE__ */ (0,
|
|
7544
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { children: [
|
|
7545
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: "75", fill: "url(#kh-center-glow)", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "70;80;70", dur: "4s", repeatCount: "indefinite" }) }),
|
|
7546
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("circle", { cx: c, cy: c, r: "52", fill: "none", stroke: "url(#kh-bp)", strokeWidth: "1", opacity: "0", children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
|
|
7547
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "48;65", dur: "3s", repeatCount: "indefinite" }),
|
|
7548
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.4;0", dur: "3s", repeatCount: "indefinite" })
|
|
7388
7549
|
] }) }),
|
|
7389
|
-
/* @__PURE__ */ (0,
|
|
7390
|
-
/* @__PURE__ */ (0,
|
|
7391
|
-
/* @__PURE__ */ (0,
|
|
7550
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.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_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
|
|
7551
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "r", values: "48;60", dur: "3s", repeatCount: "indefinite", begin: "1.5s" }),
|
|
7552
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.3;0", dur: "3s", repeatCount: "indefinite", begin: "1.5s" })
|
|
7392
7553
|
] }) }),
|
|
7393
|
-
/* @__PURE__ */ (0,
|
|
7554
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7394
7555
|
"path",
|
|
7395
7556
|
{
|
|
7396
7557
|
d: hexPath2(50),
|
|
@@ -7400,13 +7561,13 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7400
7561
|
strokeWidth: "1.5",
|
|
7401
7562
|
opacity: "0.4",
|
|
7402
7563
|
filter: "url(#kh-glow)",
|
|
7403
|
-
children: anim && /* @__PURE__ */ (0,
|
|
7404
|
-
/* @__PURE__ */ (0,
|
|
7405
|
-
/* @__PURE__ */ (0,
|
|
7564
|
+
children: anim && /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_jsx_runtime75.Fragment, { children: [
|
|
7565
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "opacity", values: "0.3;0.65;0.3", dur: "3s", repeatCount: "indefinite" }),
|
|
7566
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("animate", { attributeName: "stroke-width", values: "1.5;2.5;1.5", dur: "3s", repeatCount: "indefinite" })
|
|
7406
7567
|
] })
|
|
7407
7568
|
}
|
|
7408
7569
|
),
|
|
7409
|
-
/* @__PURE__ */ (0,
|
|
7570
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
|
|
7410
7571
|
"path",
|
|
7411
7572
|
{
|
|
7412
7573
|
d: hexPath2(46),
|
|
@@ -7416,21 +7577,21 @@ var KaleidoScopeHeroAnimation = ({
|
|
|
7416
7577
|
strokeWidth: "0.5"
|
|
7417
7578
|
}
|
|
7418
7579
|
),
|
|
7419
|
-
/* @__PURE__ */ (0,
|
|
7420
|
-
/* @__PURE__ */ (0,
|
|
7421
|
-
/* @__PURE__ */ (0,
|
|
7422
|
-
/* @__PURE__ */ (0,
|
|
7423
|
-
/* @__PURE__ */ (0,
|
|
7424
|
-
/* @__PURE__ */ (0,
|
|
7425
|
-
/* @__PURE__ */ (0,
|
|
7426
|
-
/* @__PURE__ */ (0,
|
|
7427
|
-
/* @__PURE__ */ (0,
|
|
7428
|
-
/* @__PURE__ */ (0,
|
|
7429
|
-
/* @__PURE__ */ (0,
|
|
7430
|
-
/* @__PURE__ */ (0,
|
|
7431
|
-
/* @__PURE__ */ (0,
|
|
7432
|
-
/* @__PURE__ */ (0,
|
|
7433
|
-
/* @__PURE__ */ (0,
|
|
7580
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsxs)("g", { transform: `translate(${c - 34},${c - 34}) scale(0.325)`, children: [
|
|
7581
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.7141 207.3H0.908203L35.3243 172.936L69.7141 207.3Z", fill: "#6F32FF" }),
|
|
7582
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.441 0.96106V69.767L104.078 35.3508L138.441 0.96106Z", fill: "#17B581" }),
|
|
7583
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 138.547V207.352L104.051 172.936L138.415 138.547Z", fill: "#17B581" }),
|
|
7584
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.441 69.7406V0.96106L172.804 35.3772L138.441 69.767V69.7406Z", fill: "#17B581" }),
|
|
7585
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.6614 138.494V69.6879L104.025 104.104L69.6614 138.494Z", fill: "#15E99A" }),
|
|
7586
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.6615 69.7142V138.52L35.2981 104.104L69.6615 69.7142Z", fill: "#15E99A" }),
|
|
7587
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.467 207.379V138.573L172.831 172.989L138.467 207.379Z", fill: "#17B581" }),
|
|
7588
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M0.908203 0.908325H69.7141L35.298 35.2718L0.908203 0.908325Z", fill: "#6F32FF" }),
|
|
7589
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M207.22 207.3H138.415L172.831 172.936L207.22 207.3Z", fill: "#17B581" }),
|
|
7590
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 0.987427H207.22L172.804 35.3509L138.415 0.987427Z", fill: "#17B581" }),
|
|
7591
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.467 69.7143H69.6614L104.078 35.3508L138.467 69.7143Z", fill: "#17B581" }),
|
|
7592
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M69.635 138.494H138.441L104.025 172.857L69.635 138.494Z", fill: "#17B581" }),
|
|
7593
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 138.494H69.635L104.025 104.157L138.388 138.494H138.415Z", fill: "#15E99A" }),
|
|
7594
|
+
/* @__PURE__ */ (0, import_jsx_runtime75.jsx)("path", { d: "M138.415 69.7142L104.051 104.051L69.6614 69.7142H138.441H138.415Z", fill: "#15E99A" })
|
|
7434
7595
|
] })
|
|
7435
7596
|
] })
|
|
7436
7597
|
]
|
|
@@ -7583,7 +7744,7 @@ var colors = {
|
|
|
7583
7744
|
};
|
|
7584
7745
|
|
|
7585
7746
|
// src/web/components/deposit-ui-shared.tsx
|
|
7586
|
-
var
|
|
7747
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
7587
7748
|
var GLOW_ALPHA = "26";
|
|
7588
7749
|
function qrGlowStyle(hex) {
|
|
7589
7750
|
return { boxShadow: `0 0 30px ${hex}${GLOW_ALPHA}` };
|
|
@@ -7600,7 +7761,7 @@ var NETWORK_CONFIG = {
|
|
|
7600
7761
|
// On-chain uses a chain-link glyph rather than the ₿ coin — the coin reads
|
|
7601
7762
|
// as "the BTC asset", whereas this row is specifically the *on-chain* (L1)
|
|
7602
7763
|
// receive rail alongside Lightning/Spark/Arkade, so a chain mark disambiguates.
|
|
7603
|
-
icon: /* @__PURE__ */ (0,
|
|
7764
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-xs leading-none", children: "link" })
|
|
7604
7765
|
},
|
|
7605
7766
|
lightning: {
|
|
7606
7767
|
label: "Lightning",
|
|
@@ -7610,7 +7771,7 @@ var NETWORK_CONFIG = {
|
|
|
7610
7771
|
border: "border-network-lightning/40",
|
|
7611
7772
|
qrBorder: "border-network-lightning/30",
|
|
7612
7773
|
qrGlow: qrGlowStyle(colors.network.lightning),
|
|
7613
|
-
icon: /* @__PURE__ */ (0,
|
|
7774
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/lightning/lightning.svg", className: "size-3", alt: "" })
|
|
7614
7775
|
},
|
|
7615
7776
|
spark: {
|
|
7616
7777
|
label: "Spark",
|
|
@@ -7620,7 +7781,7 @@ var NETWORK_CONFIG = {
|
|
|
7620
7781
|
border: "border-info/40",
|
|
7621
7782
|
qrBorder: "border-info/30",
|
|
7622
7783
|
qrGlow: qrGlowStyle(colors.info),
|
|
7623
|
-
icon: /* @__PURE__ */ (0,
|
|
7784
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", className: "h-3 w-3", alt: "" })
|
|
7624
7785
|
},
|
|
7625
7786
|
arkade: {
|
|
7626
7787
|
label: "Arkade",
|
|
@@ -7630,7 +7791,7 @@ var NETWORK_CONFIG = {
|
|
|
7630
7791
|
border: "border-network-arkade/40",
|
|
7631
7792
|
qrBorder: "border-network-arkade/30",
|
|
7632
7793
|
qrGlow: qrGlowStyle(colors.network.arkade),
|
|
7633
|
-
icon: /* @__PURE__ */ (0,
|
|
7794
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", className: "h-3 w-3 rounded-sm", alt: "" })
|
|
7634
7795
|
},
|
|
7635
7796
|
liquid: {
|
|
7636
7797
|
label: "Liquid",
|
|
@@ -7640,7 +7801,7 @@ var NETWORK_CONFIG = {
|
|
|
7640
7801
|
border: "border-network-liquid/40",
|
|
7641
7802
|
qrBorder: "border-network-liquid/30",
|
|
7642
7803
|
qrGlow: qrGlowStyle(colors.network.liquid),
|
|
7643
|
-
icon: /* @__PURE__ */ (0,
|
|
7804
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LiquidNetworkIcon, { className: "h-3 w-3" })
|
|
7644
7805
|
}
|
|
7645
7806
|
};
|
|
7646
7807
|
var ACCOUNT_META = {
|
|
@@ -7651,14 +7812,14 @@ var ACCOUNT_META = {
|
|
|
7651
7812
|
accentBorder: "border-primary/30",
|
|
7652
7813
|
// Bundled RGB mark (protocolIcons) — a host-served /icons/rgb/... path
|
|
7653
7814
|
// renders as a broken box in consumers that don't ship that asset.
|
|
7654
|
-
icon: /* @__PURE__ */ (0,
|
|
7815
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(RgbNetworkIcon, { className: "h-2.5 w-2.5" })
|
|
7655
7816
|
},
|
|
7656
7817
|
SPARK: {
|
|
7657
7818
|
shortLabel: "Spark",
|
|
7658
7819
|
accentBg: "bg-info/10",
|
|
7659
7820
|
accentText: "text-info",
|
|
7660
7821
|
accentBorder: "border-info/30",
|
|
7661
|
-
icon: /* @__PURE__ */ (0,
|
|
7822
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7662
7823
|
"img",
|
|
7663
7824
|
{
|
|
7664
7825
|
src: "/icons/spark/Asterisk/Spark Asterisk White.svg",
|
|
@@ -7672,14 +7833,14 @@ var ACCOUNT_META = {
|
|
|
7672
7833
|
accentBg: "bg-network-arkade/10",
|
|
7673
7834
|
accentText: "text-network-arkade",
|
|
7674
7835
|
accentBorder: "border-network-arkade/30",
|
|
7675
|
-
icon: /* @__PURE__ */ (0,
|
|
7836
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
|
|
7676
7837
|
},
|
|
7677
7838
|
LIQUID: {
|
|
7678
7839
|
shortLabel: "Liquid",
|
|
7679
7840
|
accentBg: "bg-network-liquid/10",
|
|
7680
7841
|
accentText: "text-network-liquid",
|
|
7681
7842
|
accentBorder: "border-network-liquid/30",
|
|
7682
|
-
icon: /* @__PURE__ */ (0,
|
|
7843
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(LiquidNetworkIcon, { className: "h-2.5 w-2.5" })
|
|
7683
7844
|
}
|
|
7684
7845
|
};
|
|
7685
7846
|
var METHOD_META = {
|
|
@@ -7696,7 +7857,7 @@ function InvoiceStatusBanner({
|
|
|
7696
7857
|
isInvoiceFailedOrExpired,
|
|
7697
7858
|
invoiceStatus
|
|
7698
7859
|
}) {
|
|
7699
|
-
return /* @__PURE__ */ (0,
|
|
7860
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7700
7861
|
"div",
|
|
7701
7862
|
{
|
|
7702
7863
|
className: cn(
|
|
@@ -7704,17 +7865,17 @@ function InvoiceStatusBanner({
|
|
|
7704
7865
|
isInvoicePaid ? "bg-primary/10 text-primary" : isInvoiceFailedOrExpired ? "bg-danger/10 text-danger" : "bg-warning/10 text-warning"
|
|
7705
7866
|
),
|
|
7706
7867
|
children: [
|
|
7707
|
-
isInvoicePending && /* @__PURE__ */ (0,
|
|
7708
|
-
/* @__PURE__ */ (0,
|
|
7709
|
-
/* @__PURE__ */ (0,
|
|
7868
|
+
isInvoicePending && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
|
|
7869
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-sm", children: "progress_activity" }),
|
|
7870
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: "Waiting for payment..." })
|
|
7710
7871
|
] }),
|
|
7711
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
7712
|
-
/* @__PURE__ */ (0,
|
|
7713
|
-
/* @__PURE__ */ (0,
|
|
7872
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
|
|
7873
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "check_circle" }),
|
|
7874
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: "Payment received!" })
|
|
7714
7875
|
] }),
|
|
7715
|
-
isInvoiceFailedOrExpired && /* @__PURE__ */ (0,
|
|
7716
|
-
/* @__PURE__ */ (0,
|
|
7717
|
-
/* @__PURE__ */ (0,
|
|
7876
|
+
isInvoiceFailedOrExpired && /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_jsx_runtime76.Fragment, { children: [
|
|
7877
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-sm", children: "cancel" }),
|
|
7878
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("span", { children: [
|
|
7718
7879
|
"Invoice ",
|
|
7719
7880
|
invoiceStatus?.toLowerCase() === "expired" ? "expired" : "failed"
|
|
7720
7881
|
] })
|
|
@@ -7724,20 +7885,20 @@ function InvoiceStatusBanner({
|
|
|
7724
7885
|
);
|
|
7725
7886
|
}
|
|
7726
7887
|
function PaidOverlay() {
|
|
7727
|
-
return /* @__PURE__ */ (0,
|
|
7728
|
-
/* @__PURE__ */ (0,
|
|
7729
|
-
/* @__PURE__ */ (0,
|
|
7888
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-background/80", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
|
|
7889
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "flex size-14 items-center justify-center rounded-full bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "material-symbols-outlined text-icon-4xl text-background", children: "check" }) }),
|
|
7890
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-sm font-bold text-primary", children: "Received!" })
|
|
7730
7891
|
] }) });
|
|
7731
7892
|
}
|
|
7732
7893
|
function CopyIcon({ copied }) {
|
|
7733
|
-
return /* @__PURE__ */ (0,
|
|
7894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
7734
7895
|
"div",
|
|
7735
7896
|
{
|
|
7736
7897
|
className: cn(
|
|
7737
7898
|
"flex-shrink-0 rounded-lg p-2 transition-all",
|
|
7738
7899
|
copied ? "bg-primary/15 text-primary" : "bg-white/5 text-white/40 group-hover:bg-primary/10 group-hover:text-primary"
|
|
7739
7900
|
),
|
|
7740
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
7901
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: "check", size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: "content_copy", size: "sm" })
|
|
7741
7902
|
}
|
|
7742
7903
|
);
|
|
7743
7904
|
}
|
|
@@ -7748,7 +7909,7 @@ function AccountChoiceChip({
|
|
|
7748
7909
|
label
|
|
7749
7910
|
}) {
|
|
7750
7911
|
const meta = ACCOUNT_META[account];
|
|
7751
|
-
return /* @__PURE__ */ (0,
|
|
7912
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7752
7913
|
"button",
|
|
7753
7914
|
{
|
|
7754
7915
|
type: "button",
|
|
@@ -7760,7 +7921,7 @@ function AccountChoiceChip({
|
|
|
7760
7921
|
),
|
|
7761
7922
|
children: [
|
|
7762
7923
|
meta.icon,
|
|
7763
|
-
/* @__PURE__ */ (0,
|
|
7924
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: label ?? meta.shortLabel })
|
|
7764
7925
|
]
|
|
7765
7926
|
}
|
|
7766
7927
|
);
|
|
@@ -7818,8 +7979,8 @@ function NetworkInfoDisclosure({
|
|
|
7818
7979
|
}) {
|
|
7819
7980
|
const [open, setOpen] = (0, import_react15.useState)(false);
|
|
7820
7981
|
if (networks.length === 0) return null;
|
|
7821
|
-
return /* @__PURE__ */ (0,
|
|
7822
|
-
/* @__PURE__ */ (0,
|
|
7982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: cn("overflow-hidden rounded-xl bg-card/70 transition-all", className), children: [
|
|
7983
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7823
7984
|
"button",
|
|
7824
7985
|
{
|
|
7825
7986
|
type: "button",
|
|
@@ -7827,24 +7988,24 @@ function NetworkInfoDisclosure({
|
|
|
7827
7988
|
"aria-expanded": open,
|
|
7828
7989
|
className: "flex w-full items-center gap-2 px-2.5 py-1.5 text-left transition-colors hover:bg-white/4",
|
|
7829
7990
|
children: [
|
|
7830
|
-
/* @__PURE__ */ (0,
|
|
7831
|
-
/* @__PURE__ */ (0,
|
|
7832
|
-
/* @__PURE__ */ (0,
|
|
7991
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: "info", size: "xs", className: "text-white/40" }),
|
|
7992
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "flex-1 text-xxs font-bold uppercase tracking-widest text-white/50", children: "What are these networks?" }),
|
|
7993
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Icon, { name: open ? "expand_less" : "expand_more", size: "xs", className: "text-white/40" })
|
|
7833
7994
|
]
|
|
7834
7995
|
}
|
|
7835
7996
|
),
|
|
7836
|
-
open && /* @__PURE__ */ (0,
|
|
7997
|
+
open && /* @__PURE__ */ (0, import_jsx_runtime76.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) => {
|
|
7837
7998
|
const info = NETWORK_INFO[network];
|
|
7838
7999
|
const cfg = NETWORK_CONFIG[network];
|
|
7839
|
-
return /* @__PURE__ */ (0,
|
|
7840
|
-
/* @__PURE__ */ (0,
|
|
7841
|
-
/* @__PURE__ */ (0,
|
|
7842
|
-
/* @__PURE__ */ (0,
|
|
8000
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "space-y-1", children: [
|
|
8001
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
8002
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: cn("flex size-4 flex-shrink-0 items-center justify-center rounded-md", cfg.bg), children: cfg.icon }),
|
|
8003
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: cn("text-xxs font-bold uppercase tracking-widest", cfg.text), children: info.title })
|
|
7843
8004
|
] }),
|
|
7844
|
-
/* @__PURE__ */ (0,
|
|
7845
|
-
/* @__PURE__ */ (0,
|
|
7846
|
-
/* @__PURE__ */ (0,
|
|
7847
|
-
/* @__PURE__ */ (0,
|
|
8005
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("p", { className: "pl-5 text-tiny leading-snug text-muted-foreground", children: info.detail }),
|
|
8006
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("ul", { className: "space-y-0.5 pl-5", children: info.bullets.map((bullet) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("li", { className: "flex items-start gap-1.5 text-xxs leading-snug text-white/50", children: [
|
|
8007
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "mt-[1px] text-white/30", children: "-" }),
|
|
8008
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { children: bullet })
|
|
7848
8009
|
] }, bullet)) })
|
|
7849
8010
|
] }, network);
|
|
7850
8011
|
}) })
|
|
@@ -7858,7 +8019,7 @@ function MethodChoiceChip({
|
|
|
7858
8019
|
onClick
|
|
7859
8020
|
}) {
|
|
7860
8021
|
const meta = METHOD_META[method];
|
|
7861
|
-
return /* @__PURE__ */ (0,
|
|
8022
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
7862
8023
|
"button",
|
|
7863
8024
|
{
|
|
7864
8025
|
type: "button",
|
|
@@ -7871,14 +8032,14 @@ function MethodChoiceChip({
|
|
|
7871
8032
|
),
|
|
7872
8033
|
children: [
|
|
7873
8034
|
meta.label,
|
|
7874
|
-
!enabled && disabledReason && /* @__PURE__ */ (0,
|
|
8035
|
+
!enabled && disabledReason && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-xxs font-normal opacity-60", children: disabledReason })
|
|
7875
8036
|
]
|
|
7876
8037
|
}
|
|
7877
8038
|
);
|
|
7878
8039
|
}
|
|
7879
8040
|
|
|
7880
8041
|
// src/web/components/deposit-success-screen.tsx
|
|
7881
|
-
var
|
|
8042
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
7882
8043
|
function DepositSuccessScreen({
|
|
7883
8044
|
handleDone,
|
|
7884
8045
|
displayTicker,
|
|
@@ -7891,20 +8052,20 @@ function DepositSuccessScreen({
|
|
|
7891
8052
|
const isInstant = network === "lightning" || network === "spark";
|
|
7892
8053
|
const title = isInstant ? "Payment Received!" : "Deposit Detected!";
|
|
7893
8054
|
const subtitle = isInstant ? `Your ${displayTicker} has arrived via ${networkLabel}.` : `Incoming deposit detected via ${networkLabel}. Funds will be available after confirmation.`;
|
|
7894
|
-
return /* @__PURE__ */ (0,
|
|
7895
|
-
/* @__PURE__ */ (0,
|
|
7896
|
-
/* @__PURE__ */ (0,
|
|
7897
|
-
/* @__PURE__ */ (0,
|
|
8055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "flex h-screen flex-col overflow-hidden bg-background font-display text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "flex flex-1 flex-col items-center justify-center p-6 text-center", children: [
|
|
8056
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "relative mb-8", children: [
|
|
8057
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "absolute inset-0 scale-150 animate-pulse rounded-full bg-primary/20 blur-2xl" }),
|
|
8058
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("div", { className: "relative flex size-20 items-center justify-center rounded-full bg-primary/15 shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined text-5xl text-primary animate-in zoom-in-50 duration-500", children: "check_circle" }) })
|
|
7898
8059
|
] }),
|
|
7899
|
-
/* @__PURE__ */ (0,
|
|
7900
|
-
/* @__PURE__ */ (0,
|
|
7901
|
-
/* @__PURE__ */ (0,
|
|
7902
|
-
/* @__PURE__ */ (0,
|
|
7903
|
-
/* @__PURE__ */ (0,
|
|
7904
|
-
/* @__PURE__ */ (0,
|
|
7905
|
-
/* @__PURE__ */ (0,
|
|
8060
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("h1", { className: "mb-2 text-2xl font-bold text-white", children: title }),
|
|
8061
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "mb-8 max-w-[260px] text-sm leading-relaxed text-muted-foreground", children: subtitle }),
|
|
8062
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "mb-10 flex items-center gap-3 rounded-2xl bg-card/70 px-4 py-3", children: [
|
|
8063
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)(AssetIcon, { ticker: displayTicker, size: 36 }),
|
|
8064
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)("div", { className: "text-left", children: [
|
|
8065
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-sm font-bold text-white", children: displayTicker }),
|
|
8066
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("p", { className: "text-xs text-white/40", children: selectedAsset?.name ?? displayTicker })
|
|
7906
8067
|
] }),
|
|
7907
|
-
/* @__PURE__ */ (0,
|
|
8068
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
|
|
7908
8069
|
"div",
|
|
7909
8070
|
{
|
|
7910
8071
|
className: cn(
|
|
@@ -7915,27 +8076,27 @@ function DepositSuccessScreen({
|
|
|
7915
8076
|
),
|
|
7916
8077
|
children: [
|
|
7917
8078
|
net.icon,
|
|
7918
|
-
/* @__PURE__ */ (0,
|
|
8079
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { children: networkLabel })
|
|
7919
8080
|
]
|
|
7920
8081
|
}
|
|
7921
8082
|
)
|
|
7922
8083
|
] }),
|
|
7923
|
-
/* @__PURE__ */ (0,
|
|
7924
|
-
/* @__PURE__ */ (0,
|
|
8084
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Button, { variant: "cta", size: "cta", onClick: handleDone, children: [
|
|
8085
|
+
/* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "account_balance_wallet" }),
|
|
7925
8086
|
"Back to Wallet"
|
|
7926
8087
|
] })
|
|
7927
8088
|
] }) });
|
|
7928
8089
|
}
|
|
7929
8090
|
|
|
7930
8091
|
// src/web/components/deposit-network-default-modal.tsx
|
|
7931
|
-
var
|
|
8092
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
7932
8093
|
var NETWORK_OPTIONS = {
|
|
7933
8094
|
RGB: {
|
|
7934
8095
|
network: "onchain",
|
|
7935
8096
|
account: "RGB",
|
|
7936
8097
|
label: "On-chain / Lightning",
|
|
7937
8098
|
description: "Classic Bitcoin address or Lightning invoice via the RLN node.",
|
|
7938
|
-
icon: /* @__PURE__ */ (0,
|
|
8099
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "material-symbols-outlined text-icon-lg", children: "link" }),
|
|
7939
8100
|
accentBg: "bg-network-bitcoin/10",
|
|
7940
8101
|
accentBorder: "border-network-bitcoin/30",
|
|
7941
8102
|
accentText: "text-network-bitcoin"
|
|
@@ -7945,7 +8106,7 @@ var NETWORK_OPTIONS = {
|
|
|
7945
8106
|
account: "SPARK",
|
|
7946
8107
|
label: "Spark",
|
|
7947
8108
|
description: "Receive directly into your Spark account. Fast and free.",
|
|
7948
|
-
icon: /* @__PURE__ */ (0,
|
|
8109
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("img", { src: "/icons/spark/Asterisk/Spark Asterisk White.svg", alt: "", className: "h-[18px]" }),
|
|
7949
8110
|
accentBg: "bg-info/10",
|
|
7950
8111
|
accentBorder: "border-info/30",
|
|
7951
8112
|
accentText: "text-info"
|
|
@@ -7955,7 +8116,7 @@ var NETWORK_OPTIONS = {
|
|
|
7955
8116
|
account: "ARKADE",
|
|
7956
8117
|
label: "Arkade",
|
|
7957
8118
|
description: "Receive directly into your Arkade account. Low fees, near-instant settlement.",
|
|
7958
|
-
icon: /* @__PURE__ */ (0,
|
|
8119
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-[18px]" }),
|
|
7959
8120
|
accentBg: "bg-network-arkade/10",
|
|
7960
8121
|
accentBorder: "border-network-arkade/30",
|
|
7961
8122
|
accentText: "text-network-arkade"
|
|
@@ -7967,7 +8128,7 @@ var NETWORK_OPTIONS = {
|
|
|
7967
8128
|
account: "LIQUID",
|
|
7968
8129
|
label: "Liquid",
|
|
7969
8130
|
description: "Receive L-BTC or a Liquid asset (USDt) via a confidential Liquid address.",
|
|
7970
|
-
icon: /* @__PURE__ */ (0,
|
|
8131
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(LiquidNetworkIcon, { className: "h-[18px] w-[18px]" }),
|
|
7971
8132
|
accentBg: "bg-network-liquid/10",
|
|
7972
8133
|
accentBorder: "border-network-liquid/30",
|
|
7973
8134
|
accentText: "text-network-liquid"
|
|
@@ -7982,20 +8143,20 @@ function DepositNetworkDefaultModal({
|
|
|
7982
8143
|
}) {
|
|
7983
8144
|
if (!open) return null;
|
|
7984
8145
|
const options = availableAccounts.map((id) => NETWORK_OPTIONS[id]).filter(Boolean);
|
|
7985
|
-
return /* @__PURE__ */ (0,
|
|
7986
|
-
/* @__PURE__ */ (0,
|
|
7987
|
-
/* @__PURE__ */ (0,
|
|
7988
|
-
/* @__PURE__ */ (0,
|
|
7989
|
-
/* @__PURE__ */ (0,
|
|
8146
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "fixed inset-0 z-50 flex items-end justify-center bg-background/80 backdrop-blur-lg", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "w-full space-y-4 rounded-t-2xl bg-card px-4 pb-7 pt-5 animate-in slide-in-from-bottom-4 duration-200", children: [
|
|
8147
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "-mt-1 mb-1 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "h-1 w-10 rounded-full bg-white/15" }) }),
|
|
8148
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { children: [
|
|
8149
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "text-sm font-bold text-white", children: "Choose your default network" }),
|
|
8150
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("p", { className: "mt-0.5 text-tiny text-white/45", children: [
|
|
7990
8151
|
"Pick how you would like to receive",
|
|
7991
8152
|
" ",
|
|
7992
|
-
/* @__PURE__ */ (0,
|
|
8153
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "font-semibold text-muted-foreground", children: assetTicker }),
|
|
7993
8154
|
" by default. You can always switch in the deposit screen."
|
|
7994
8155
|
] })
|
|
7995
8156
|
] }),
|
|
7996
|
-
/* @__PURE__ */ (0,
|
|
8157
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "space-y-2", children: options.map((option) => {
|
|
7997
8158
|
const isSuggested = option.account === suggestedAccount;
|
|
7998
|
-
return /* @__PURE__ */ (0,
|
|
8159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
7999
8160
|
"button",
|
|
8000
8161
|
{
|
|
8001
8162
|
type: "button",
|
|
@@ -8005,7 +8166,7 @@ function DepositNetworkDefaultModal({
|
|
|
8005
8166
|
isSuggested ? option.accentBg : "bg-muted/40 hover:bg-muted/60"
|
|
8006
8167
|
),
|
|
8007
8168
|
children: [
|
|
8008
|
-
/* @__PURE__ */ (0,
|
|
8169
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
8009
8170
|
"div",
|
|
8010
8171
|
{
|
|
8011
8172
|
className: cn(
|
|
@@ -8016,10 +8177,10 @@ function DepositNetworkDefaultModal({
|
|
|
8016
8177
|
children: option.icon
|
|
8017
8178
|
}
|
|
8018
8179
|
),
|
|
8019
|
-
/* @__PURE__ */ (0,
|
|
8020
|
-
/* @__PURE__ */ (0,
|
|
8021
|
-
/* @__PURE__ */ (0,
|
|
8022
|
-
isSuggested && /* @__PURE__ */ (0,
|
|
8180
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8181
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
8182
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: cn("text-xs font-bold", isSuggested ? option.accentText : "text-white"), children: option.label }),
|
|
8183
|
+
isSuggested && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
8023
8184
|
"span",
|
|
8024
8185
|
{
|
|
8025
8186
|
className: cn(
|
|
@@ -8031,9 +8192,9 @@ function DepositNetworkDefaultModal({
|
|
|
8031
8192
|
}
|
|
8032
8193
|
)
|
|
8033
8194
|
] }),
|
|
8034
|
-
/* @__PURE__ */ (0,
|
|
8195
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("p", { className: "mt-0.5 text-xxs leading-snug text-white/45", children: option.description })
|
|
8035
8196
|
] }),
|
|
8036
|
-
/* @__PURE__ */ (0,
|
|
8197
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
8037
8198
|
"span",
|
|
8038
8199
|
{
|
|
8039
8200
|
className: cn(
|
|
@@ -8053,7 +8214,7 @@ function DepositNetworkDefaultModal({
|
|
|
8053
8214
|
|
|
8054
8215
|
// src/web/components/btc-unified-receive.tsx
|
|
8055
8216
|
var import_react16 = require("react");
|
|
8056
|
-
var
|
|
8217
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
8057
8218
|
function formatSatsForRow(value) {
|
|
8058
8219
|
if (!value || value <= 0 || !Number.isFinite(value)) return null;
|
|
8059
8220
|
return `${value.toLocaleString("en-US")} sats`;
|
|
@@ -8085,46 +8246,46 @@ function BtcUnifiedReceive({
|
|
|
8085
8246
|
setInvoiceStatus(null);
|
|
8086
8247
|
setAccountReceiveResult(null);
|
|
8087
8248
|
};
|
|
8088
|
-
return /* @__PURE__ */ (0,
|
|
8089
|
-
/* @__PURE__ */ (0,
|
|
8090
|
-
/* @__PURE__ */ (0,
|
|
8091
|
-
/* @__PURE__ */ (0,
|
|
8092
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
8249
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
8250
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
8251
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "relative flex flex-col items-center p-2", children: [
|
|
8252
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(QrCode, { value: accountReceiveResult.qrValue, size: 200, tone: "onDark" }),
|
|
8253
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(PaidOverlay, {})
|
|
8093
8254
|
] }),
|
|
8094
|
-
/* @__PURE__ */ (0,
|
|
8095
|
-
/* @__PURE__ */ (0,
|
|
8255
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-center gap-2.5", children: [
|
|
8256
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8096
8257
|
Button,
|
|
8097
8258
|
{
|
|
8098
8259
|
variant: "surface",
|
|
8099
8260
|
size: "icon-xl",
|
|
8100
8261
|
"aria-label": `Copy ${accountReceiveResult.qrLabel}`,
|
|
8101
8262
|
onClick: () => void copyToClipboard(accountReceiveResult.qrValue),
|
|
8102
|
-
children: /* @__PURE__ */ (0,
|
|
8263
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: isQrCopied ? "check" : "content_copy", size: "lg" })
|
|
8103
8264
|
}
|
|
8104
8265
|
),
|
|
8105
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
8266
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8106
8267
|
Button,
|
|
8107
8268
|
{
|
|
8108
8269
|
variant: "surface",
|
|
8109
8270
|
size: "icon-xl",
|
|
8110
8271
|
"aria-label": "New address",
|
|
8111
8272
|
onClick: handleNewAddress,
|
|
8112
|
-
children: /* @__PURE__ */ (0,
|
|
8273
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "refresh", size: "lg" })
|
|
8113
8274
|
}
|
|
8114
8275
|
),
|
|
8115
|
-
/* @__PURE__ */ (0,
|
|
8276
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8116
8277
|
Button,
|
|
8117
8278
|
{
|
|
8118
8279
|
variant: "surface",
|
|
8119
8280
|
size: "icon-xl",
|
|
8120
8281
|
"aria-label": "Edit amount and description",
|
|
8121
8282
|
onClick: () => setShowEdit(true),
|
|
8122
|
-
children: /* @__PURE__ */ (0,
|
|
8283
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "edit", size: "lg" })
|
|
8123
8284
|
}
|
|
8124
8285
|
)
|
|
8125
8286
|
] })
|
|
8126
8287
|
] }),
|
|
8127
|
-
invoiceStatus && /* @__PURE__ */ (0,
|
|
8288
|
+
invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8128
8289
|
InvoiceStatusBanner,
|
|
8129
8290
|
{
|
|
8130
8291
|
isInvoicePending,
|
|
@@ -8133,11 +8294,11 @@ function BtcUnifiedReceive({
|
|
|
8133
8294
|
invoiceStatus
|
|
8134
8295
|
}
|
|
8135
8296
|
),
|
|
8136
|
-
/* @__PURE__ */ (0,
|
|
8137
|
-
/* @__PURE__ */ (0,
|
|
8297
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8298
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/30", children: "Available Addresses" }),
|
|
8138
8299
|
accountReceiveResult.addresses.map((address) => {
|
|
8139
8300
|
const network = NETWORK_CONFIG[address.network];
|
|
8140
|
-
return /* @__PURE__ */ (0,
|
|
8301
|
+
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
8141
8302
|
"div",
|
|
8142
8303
|
{
|
|
8143
8304
|
className: cn(
|
|
@@ -8147,35 +8308,35 @@ function BtcUnifiedReceive({
|
|
|
8147
8308
|
style: { borderLeftWidth: 3, borderLeftColor: network.color },
|
|
8148
8309
|
onClick: () => void copyToClipboard(address.value),
|
|
8149
8310
|
children: [
|
|
8150
|
-
/* @__PURE__ */ (0,
|
|
8151
|
-
/* @__PURE__ */ (0,
|
|
8152
|
-
/* @__PURE__ */ (0,
|
|
8153
|
-
/* @__PURE__ */ (0,
|
|
8311
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", network.bg), children: network.icon }),
|
|
8312
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8313
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center gap-1.5", children: [
|
|
8314
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", network.text), children: address.label }),
|
|
8154
8315
|
(() => {
|
|
8155
8316
|
const amountLabel = formatSatsForRow(address.amountSats);
|
|
8156
|
-
return amountLabel ? /* @__PURE__ */ (0,
|
|
8317
|
+
return amountLabel ? /* @__PURE__ */ (0, import_jsx_runtime79.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;
|
|
8157
8318
|
})()
|
|
8158
8319
|
] }),
|
|
8159
|
-
/* @__PURE__ */ (0,
|
|
8320
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.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 })
|
|
8160
8321
|
] }),
|
|
8161
|
-
/* @__PURE__ */ (0,
|
|
8322
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(CopyIcon, { copied: copied === address.value })
|
|
8162
8323
|
]
|
|
8163
8324
|
},
|
|
8164
8325
|
address.network
|
|
8165
8326
|
);
|
|
8166
8327
|
})
|
|
8167
8328
|
] }),
|
|
8168
|
-
/* @__PURE__ */ (0,
|
|
8329
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8169
8330
|
BottomSheet,
|
|
8170
8331
|
{
|
|
8171
8332
|
open: showEdit,
|
|
8172
8333
|
title: "Edit request",
|
|
8173
|
-
icon: /* @__PURE__ */ (0,
|
|
8334
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Icon, { name: "edit", size: "md" }),
|
|
8174
8335
|
onClose: () => setShowEdit(false),
|
|
8175
|
-
children: /* @__PURE__ */ (0,
|
|
8176
|
-
/* @__PURE__ */ (0,
|
|
8177
|
-
/* @__PURE__ */ (0,
|
|
8178
|
-
/* @__PURE__ */ (0,
|
|
8336
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-4", children: [
|
|
8337
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8338
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Amount (optional)" }),
|
|
8339
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8179
8340
|
"input",
|
|
8180
8341
|
{
|
|
8181
8342
|
type: "text",
|
|
@@ -8186,14 +8347,14 @@ function BtcUnifiedReceive({
|
|
|
8186
8347
|
inputMode: "decimal"
|
|
8187
8348
|
}
|
|
8188
8349
|
),
|
|
8189
|
-
amount && loading && /* @__PURE__ */ (0,
|
|
8190
|
-
/* @__PURE__ */ (0,
|
|
8350
|
+
amount && loading && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("p", { className: "flex items-center gap-1 text-xxs text-warning/70", children: [
|
|
8351
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
8191
8352
|
"Updating invoice..."
|
|
8192
8353
|
] })
|
|
8193
8354
|
] }),
|
|
8194
|
-
onDescriptionChange && /* @__PURE__ */ (0,
|
|
8195
|
-
/* @__PURE__ */ (0,
|
|
8196
|
-
/* @__PURE__ */ (0,
|
|
8355
|
+
onDescriptionChange && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8356
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Description (optional)" }),
|
|
8357
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
8197
8358
|
"input",
|
|
8198
8359
|
{
|
|
8199
8360
|
type: "text",
|
|
@@ -8204,7 +8365,7 @@ function BtcUnifiedReceive({
|
|
|
8204
8365
|
}
|
|
8205
8366
|
)
|
|
8206
8367
|
] }),
|
|
8207
|
-
/* @__PURE__ */ (0,
|
|
8368
|
+
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Button, { variant: "cta", className: "w-full", onClick: () => setShowEdit(false), children: "Done" })
|
|
8208
8369
|
] })
|
|
8209
8370
|
}
|
|
8210
8371
|
)
|
|
@@ -8212,7 +8373,7 @@ function BtcUnifiedReceive({
|
|
|
8212
8373
|
}
|
|
8213
8374
|
|
|
8214
8375
|
// src/web/components/deposit-generated-view.tsx
|
|
8215
|
-
var
|
|
8376
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
8216
8377
|
function parseAssetAmount(amountString, asset) {
|
|
8217
8378
|
const value = Number(amountString);
|
|
8218
8379
|
if (!Number.isFinite(value)) return 0;
|
|
@@ -8253,10 +8414,10 @@ function DepositGeneratedView({
|
|
|
8253
8414
|
showRegenerate = true,
|
|
8254
8415
|
onRegenerate
|
|
8255
8416
|
}) {
|
|
8256
|
-
return /* @__PURE__ */ (0,
|
|
8257
|
-
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0,
|
|
8258
|
-
/* @__PURE__ */ (0,
|
|
8259
|
-
/* @__PURE__ */ (0,
|
|
8417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "space-y-3 animate-in fade-in zoom-in-95 duration-300", children: [
|
|
8418
|
+
(network === "lightning" || network === "arkade" && arkSubMode === "ark") && isBtc && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl bg-card/70 p-2.5", children: [
|
|
8419
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
8420
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8260
8421
|
"input",
|
|
8261
8422
|
{
|
|
8262
8423
|
type: "text",
|
|
@@ -8267,16 +8428,16 @@ function DepositGeneratedView({
|
|
|
8267
8428
|
inputMode: "decimal"
|
|
8268
8429
|
}
|
|
8269
8430
|
),
|
|
8270
|
-
amount && /* @__PURE__ */ (0,
|
|
8271
|
-
/* @__PURE__ */ (0,
|
|
8431
|
+
amount && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
8432
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
8272
8433
|
"Updating ",
|
|
8273
8434
|
network === "arkade" ? "URI" : "invoice",
|
|
8274
8435
|
"..."
|
|
8275
8436
|
] }) : network === "arkade" ? `Unified URI for ${amount} ${getUnitLabel()}` : `Invoice for ${amount} ${getUnitLabel()}` })
|
|
8276
8437
|
] }),
|
|
8277
|
-
network === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
8278
|
-
/* @__PURE__ */ (0,
|
|
8279
|
-
/* @__PURE__ */ (0,
|
|
8438
|
+
network === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col gap-1.5 rounded-xl bg-card/70 p-2.5", children: [
|
|
8439
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex items-center justify-between px-1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "Specify amount (optional)" }) }),
|
|
8440
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8280
8441
|
"input",
|
|
8281
8442
|
{
|
|
8282
8443
|
type: "text",
|
|
@@ -8287,25 +8448,25 @@ function DepositGeneratedView({
|
|
|
8287
8448
|
inputMode: "decimal"
|
|
8288
8449
|
}
|
|
8289
8450
|
),
|
|
8290
|
-
amount && /* @__PURE__ */ (0,
|
|
8291
|
-
/* @__PURE__ */ (0,
|
|
8451
|
+
amount && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs text-warning/70", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("span", { className: "flex items-center gap-1", children: [
|
|
8452
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-xxs", children: "progress_activity" }),
|
|
8292
8453
|
"Updating invoice..."
|
|
8293
8454
|
] }) : `Invoice for ${amount} ${getUnitLabel()}` }),
|
|
8294
|
-
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0,
|
|
8455
|
+
amount && maxDepositAmount > 0 && parseAssetAmount(amount, selectedAsset) > maxDepositAmount && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("p", { className: "rounded-lg bg-danger/10 px-2.5 py-1.5 text-xxs text-danger", children: [
|
|
8295
8456
|
"Exceeds max: ",
|
|
8296
8457
|
formatAssetAmount(maxDepositAmount, selectedAsset),
|
|
8297
8458
|
" ",
|
|
8298
8459
|
getUnitLabel()
|
|
8299
8460
|
] })
|
|
8300
8461
|
] }),
|
|
8301
|
-
/* @__PURE__ */ (0,
|
|
8302
|
-
/* @__PURE__ */ (0,
|
|
8462
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "flex flex-col items-center gap-3", children: [
|
|
8463
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8303
8464
|
"div",
|
|
8304
8465
|
{
|
|
8305
8466
|
className: "relative flex flex-col items-center rounded-2xl bg-white p-3.5 transition-all",
|
|
8306
8467
|
style: net.qrGlow,
|
|
8307
8468
|
children: [
|
|
8308
|
-
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0,
|
|
8469
|
+
showQrNetworkBadge && network !== "spark" && network !== "arkade" && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8309
8470
|
"div",
|
|
8310
8471
|
{
|
|
8311
8472
|
className: cn(
|
|
@@ -8315,21 +8476,21 @@ function DepositGeneratedView({
|
|
|
8315
8476
|
),
|
|
8316
8477
|
children: [
|
|
8317
8478
|
net.icon,
|
|
8318
|
-
/* @__PURE__ */ (0,
|
|
8479
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { children: net.label })
|
|
8319
8480
|
]
|
|
8320
8481
|
}
|
|
8321
8482
|
),
|
|
8322
|
-
/* @__PURE__ */ (0,
|
|
8323
|
-
isInvoicePaid && /* @__PURE__ */ (0,
|
|
8483
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(QrCode, { value: address, size: 188 }),
|
|
8484
|
+
isInvoicePaid && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(PaidOverlay, {}),
|
|
8324
8485
|
loading && !isInvoicePaid && // Loading scrim — sits over the QR while a fresh address/invoice
|
|
8325
8486
|
// is being fetched (e.g. after the New Address button).
|
|
8326
|
-
/* @__PURE__ */ (0,
|
|
8487
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute inset-0 flex items-center justify-center rounded-2xl bg-white/80 backdrop-blur-sm", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-3xl text-network-bitcoin", children: "progress_activity" }) })
|
|
8327
8488
|
]
|
|
8328
8489
|
}
|
|
8329
8490
|
),
|
|
8330
8491
|
(() => {
|
|
8331
8492
|
const isAddressCopied = copied === address;
|
|
8332
|
-
return /* @__PURE__ */ (0,
|
|
8493
|
+
return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8333
8494
|
"button",
|
|
8334
8495
|
{
|
|
8335
8496
|
type: "button",
|
|
@@ -8342,14 +8503,14 @@ function DepositGeneratedView({
|
|
|
8342
8503
|
void copyToClipboard(address);
|
|
8343
8504
|
},
|
|
8344
8505
|
children: [
|
|
8345
|
-
/* @__PURE__ */ (0,
|
|
8506
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: isAddressCopied ? "check" : "content_copy", size: "xs" }),
|
|
8346
8507
|
isAddressCopied ? "Copied" : network === "lightning" ? "Copy Invoice" : "Copy Address"
|
|
8347
8508
|
]
|
|
8348
8509
|
}
|
|
8349
8510
|
);
|
|
8350
8511
|
})()
|
|
8351
8512
|
] }),
|
|
8352
|
-
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0,
|
|
8513
|
+
network === "lightning" && invoiceStatus && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8353
8514
|
InvoiceStatusBanner,
|
|
8354
8515
|
{
|
|
8355
8516
|
isInvoicePending,
|
|
@@ -8358,7 +8519,7 @@ function DepositGeneratedView({
|
|
|
8358
8519
|
invoiceStatus
|
|
8359
8520
|
}
|
|
8360
8521
|
),
|
|
8361
|
-
/* @__PURE__ */ (0,
|
|
8522
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8362
8523
|
"div",
|
|
8363
8524
|
{
|
|
8364
8525
|
"data-testid": "deposit-generated-address",
|
|
@@ -8369,16 +8530,16 @@ function DepositGeneratedView({
|
|
|
8369
8530
|
),
|
|
8370
8531
|
onClick: () => void copyToClipboard(address),
|
|
8371
8532
|
children: [
|
|
8372
|
-
/* @__PURE__ */ (0,
|
|
8373
|
-
/* @__PURE__ */ (0,
|
|
8374
|
-
/* @__PURE__ */ (0,
|
|
8375
|
-
/* @__PURE__ */ (0,
|
|
8533
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: cn("flex size-5 flex-shrink-0 items-center justify-center rounded-md", net.bg), children: net.icon }),
|
|
8534
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8535
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: cn("text-xxs font-bold uppercase tracking-widest", net.text), children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("span", { "data-testid": "deposit-address-label", children: addressLabel }) }),
|
|
8536
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.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 })
|
|
8376
8537
|
] }),
|
|
8377
|
-
/* @__PURE__ */ (0,
|
|
8538
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CopyIcon, { copied: copied === address })
|
|
8378
8539
|
]
|
|
8379
8540
|
}
|
|
8380
8541
|
),
|
|
8381
|
-
recipientId && /* @__PURE__ */ (0,
|
|
8542
|
+
recipientId && /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(
|
|
8382
8543
|
"div",
|
|
8383
8544
|
{
|
|
8384
8545
|
className: cn(
|
|
@@ -8387,16 +8548,16 @@ function DepositGeneratedView({
|
|
|
8387
8548
|
),
|
|
8388
8549
|
onClick: () => void copyToClipboard(recipientId),
|
|
8389
8550
|
children: [
|
|
8390
|
-
/* @__PURE__ */ (0,
|
|
8391
|
-
/* @__PURE__ */ (0,
|
|
8392
|
-
/* @__PURE__ */ (0,
|
|
8393
|
-
/* @__PURE__ */ (0,
|
|
8551
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex size-5 flex-shrink-0 items-center justify-center rounded-md bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Icon, { name: "person", size: "xs", className: "text-primary" }) }),
|
|
8552
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8553
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-primary", children: "Recipient ID" }),
|
|
8554
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.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 })
|
|
8394
8555
|
] }),
|
|
8395
|
-
/* @__PURE__ */ (0,
|
|
8556
|
+
/* @__PURE__ */ (0, import_jsx_runtime80.jsx)(CopyIcon, { copied: copied === recipientId })
|
|
8396
8557
|
]
|
|
8397
8558
|
}
|
|
8398
8559
|
),
|
|
8399
|
-
showRegenerate && /* @__PURE__ */ (0,
|
|
8560
|
+
showRegenerate && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "flex justify-center pt-1", children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8400
8561
|
"button",
|
|
8401
8562
|
{
|
|
8402
8563
|
type: "button",
|
|
@@ -8414,7 +8575,7 @@ function DepositGeneratedView({
|
|
|
8414
8575
|
setInvoiceStatus(null);
|
|
8415
8576
|
},
|
|
8416
8577
|
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",
|
|
8417
|
-
children: /* @__PURE__ */ (0,
|
|
8578
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
|
|
8418
8579
|
"span",
|
|
8419
8580
|
{
|
|
8420
8581
|
className: cn("material-symbols-outlined text-icon-md", loading && "animate-spin"),
|
|
@@ -8427,7 +8588,7 @@ function DepositGeneratedView({
|
|
|
8427
8588
|
}
|
|
8428
8589
|
|
|
8429
8590
|
// src/web/components/deposit-pre-generation.tsx
|
|
8430
|
-
var
|
|
8591
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
8431
8592
|
var ACCOUNT_TITLES = {
|
|
8432
8593
|
RGB: "RGB & Lightning",
|
|
8433
8594
|
SPARK: "Spark",
|
|
@@ -8473,58 +8634,58 @@ function DepositPreGeneration({
|
|
|
8473
8634
|
}) {
|
|
8474
8635
|
const method = METHOD_META2[currentMethod];
|
|
8475
8636
|
const isRgbOnchain = network === "onchain" && !isBtc;
|
|
8476
|
-
return /* @__PURE__ */ (0,
|
|
8477
|
-
showReceiveSummary && /* @__PURE__ */ (0,
|
|
8478
|
-
/* @__PURE__ */ (0,
|
|
8479
|
-
/* @__PURE__ */ (0,
|
|
8480
|
-
/* @__PURE__ */ (0,
|
|
8481
|
-
/* @__PURE__ */ (0,
|
|
8482
|
-
/* @__PURE__ */ (0,
|
|
8637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-3", children: [
|
|
8638
|
+
showReceiveSummary && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "rounded-2xl bg-card/70 p-3", children: [
|
|
8639
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Receive Summary" }),
|
|
8640
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "mt-2 grid grid-cols-1 gap-2 text-xs", children: [
|
|
8641
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8642
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-white/45", children: "Asset" }),
|
|
8643
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold text-white", children: selectedAsset?.ticker ?? (isBtc ? "BTC" : "Asset") })
|
|
8483
8644
|
] }),
|
|
8484
|
-
/* @__PURE__ */ (0,
|
|
8485
|
-
/* @__PURE__ */ (0,
|
|
8486
|
-
/* @__PURE__ */ (0,
|
|
8645
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8646
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-white/45", children: "Destination account" }),
|
|
8647
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold text-white", children: ACCOUNT_TITLES[selectedAccount] })
|
|
8487
8648
|
] }),
|
|
8488
|
-
/* @__PURE__ */ (0,
|
|
8489
|
-
/* @__PURE__ */ (0,
|
|
8490
|
-
/* @__PURE__ */ (0,
|
|
8649
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8650
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-white/45", children: "Transfer method" }),
|
|
8651
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold text-white", children: method.label })
|
|
8491
8652
|
] }),
|
|
8492
|
-
/* @__PURE__ */ (0,
|
|
8653
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-tiny text-white/35", children: method.summary })
|
|
8493
8654
|
] })
|
|
8494
8655
|
] }),
|
|
8495
|
-
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0,
|
|
8496
|
-
/* @__PURE__ */ (0,
|
|
8497
|
-
/* @__PURE__ */ (0,
|
|
8656
|
+
channelsLoading && selectedAccount === "RGB" && currentMethod === "lightning" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center gap-2.5 rounded-xl bg-card/70 p-3", children: [
|
|
8657
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-lg text-primary", children: "progress_activity" }),
|
|
8658
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "text-xs font-medium text-white/60", children: "Checking channel availability..." })
|
|
8498
8659
|
] }),
|
|
8499
|
-
showChannelWarning && /* @__PURE__ */ (0,
|
|
8500
|
-
/* @__PURE__ */ (0,
|
|
8501
|
-
/* @__PURE__ */ (0,
|
|
8660
|
+
showChannelWarning && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8661
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Lightning Channels" }),
|
|
8662
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "text-tiny text-warning/70", children: "Only on-chain deposits are available." })
|
|
8502
8663
|
] }),
|
|
8503
|
-
showLiquidityWarning && /* @__PURE__ */ (0,
|
|
8504
|
-
/* @__PURE__ */ (0,
|
|
8505
|
-
/* @__PURE__ */ (0,
|
|
8664
|
+
showLiquidityWarning && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8665
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "No Inbound Liquidity" }),
|
|
8666
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: "text-tiny text-warning/70", children: [
|
|
8506
8667
|
"No channels with inbound capacity for ",
|
|
8507
8668
|
selectedAsset?.ticker ?? "this asset",
|
|
8508
8669
|
"."
|
|
8509
8670
|
] })
|
|
8510
8671
|
] }),
|
|
8511
|
-
isAutoGenerate && loading && /* @__PURE__ */ (0,
|
|
8512
|
-
/* @__PURE__ */ (0,
|
|
8513
|
-
/* @__PURE__ */ (0,
|
|
8514
|
-
/* @__PURE__ */ (0,
|
|
8672
|
+
isAutoGenerate && loading && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
8673
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: cn("flex size-16 items-center justify-center rounded-2xl", net.bg), children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: cn("material-symbols-outlined animate-spin text-icon-4xl", net.text), children: "progress_activity" }) }),
|
|
8674
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
8675
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: "text-sm font-bold text-muted-foreground", children: [
|
|
8515
8676
|
"Generating ",
|
|
8516
8677
|
network === "lightning" ? "invoice" : "address",
|
|
8517
8678
|
"..."
|
|
8518
8679
|
] }),
|
|
8519
|
-
/* @__PURE__ */ (0,
|
|
8680
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("p", { className: "text-xs text-white/30", children: [
|
|
8520
8681
|
net.label,
|
|
8521
8682
|
" network"
|
|
8522
8683
|
] })
|
|
8523
8684
|
] })
|
|
8524
8685
|
] }),
|
|
8525
|
-
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0,
|
|
8526
|
-
/* @__PURE__ */ (0,
|
|
8527
|
-
/* @__PURE__ */ (0,
|
|
8686
|
+
isRgbOnchain && isNewRgbAsset && setNewAssetId && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8687
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: "RGB Asset ID - Optional" }),
|
|
8688
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8528
8689
|
"input",
|
|
8529
8690
|
{
|
|
8530
8691
|
type: "text",
|
|
@@ -8536,15 +8697,15 @@ function DepositPreGeneration({
|
|
|
8536
8697
|
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"
|
|
8537
8698
|
}
|
|
8538
8699
|
),
|
|
8539
|
-
/* @__PURE__ */ (0,
|
|
8700
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.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." })
|
|
8540
8701
|
] }),
|
|
8541
|
-
isRgbOnchain && /* @__PURE__ */ (0,
|
|
8542
|
-
/* @__PURE__ */ (0,
|
|
8543
|
-
/* @__PURE__ */ (0,
|
|
8544
|
-
/* @__PURE__ */ (0,
|
|
8545
|
-
/* @__PURE__ */ (0,
|
|
8702
|
+
isRgbOnchain && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-2.5 rounded-xl bg-card/70 p-3", children: [
|
|
8703
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between gap-3", children: [
|
|
8704
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
8705
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("h4", { className: "text-xs font-bold text-white", children: usePrivacy ? "Blinded receive" : "Witness receive" }),
|
|
8706
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mt-0.5 text-xxs text-muted-foreground", children: usePrivacy ? "Private - recommended" : "Simpler - less private" })
|
|
8546
8707
|
] }),
|
|
8547
|
-
/* @__PURE__ */ (0,
|
|
8708
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8548
8709
|
"button",
|
|
8549
8710
|
{
|
|
8550
8711
|
type: "button",
|
|
@@ -8554,7 +8715,7 @@ function DepositPreGeneration({
|
|
|
8554
8715
|
usePrivacy ? "bg-primary" : "bg-white/10"
|
|
8555
8716
|
),
|
|
8556
8717
|
onClick: () => setUsePrivacy(!usePrivacy),
|
|
8557
|
-
children: /* @__PURE__ */ (0,
|
|
8718
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8558
8719
|
"span",
|
|
8559
8720
|
{
|
|
8560
8721
|
className: cn(
|
|
@@ -8566,8 +8727,8 @@ function DepositPreGeneration({
|
|
|
8566
8727
|
}
|
|
8567
8728
|
)
|
|
8568
8729
|
] }),
|
|
8569
|
-
/* @__PURE__ */ (0,
|
|
8570
|
-
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0,
|
|
8730
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.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." }),
|
|
8731
|
+
usePrivacy && colorableUtxoCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
8571
8732
|
"div",
|
|
8572
8733
|
{
|
|
8573
8734
|
className: cn(
|
|
@@ -8575,26 +8736,26 @@ function DepositPreGeneration({
|
|
|
8575
8736
|
colorableUtxoCount > 0 ? "bg-success/10 text-success/80" : "bg-warning/10 text-warning/80"
|
|
8576
8737
|
),
|
|
8577
8738
|
children: [
|
|
8578
|
-
/* @__PURE__ */ (0,
|
|
8579
|
-
/* @__PURE__ */ (0,
|
|
8739
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-medium", children: "Available colorable UTXOs" }),
|
|
8740
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "font-bold tabular-nums", children: colorableUtxoCount })
|
|
8580
8741
|
]
|
|
8581
8742
|
}
|
|
8582
8743
|
),
|
|
8583
|
-
usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ (0,
|
|
8744
|
+
usePrivacy && colorableUtxoCount === 0 && /* @__PURE__ */ (0, import_jsx_runtime81.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." })
|
|
8584
8745
|
] }),
|
|
8585
|
-
network === "onchain" && !isBtc && /* @__PURE__ */ (0,
|
|
8586
|
-
/* @__PURE__ */ (0,
|
|
8587
|
-
/* @__PURE__ */ (0,
|
|
8746
|
+
network === "onchain" && !isBtc && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "space-y-1.5", children: [
|
|
8747
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
8748
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("label", { className: "text-xxs font-bold uppercase tracking-widest text-white/40", children: [
|
|
8588
8749
|
"Amount (",
|
|
8589
8750
|
getUnitLabel(),
|
|
8590
8751
|
") - Optional"
|
|
8591
8752
|
] }),
|
|
8592
|
-
selectedAsset && /* @__PURE__ */ (0,
|
|
8753
|
+
selectedAsset && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "text-xxs text-white/30", children: [
|
|
8593
8754
|
selectedAsset.precision ?? 0,
|
|
8594
8755
|
" decimals"
|
|
8595
8756
|
] })
|
|
8596
8757
|
] }),
|
|
8597
|
-
/* @__PURE__ */ (0,
|
|
8758
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
8598
8759
|
"input",
|
|
8599
8760
|
{
|
|
8600
8761
|
type: "text",
|
|
@@ -8606,18 +8767,18 @@ function DepositPreGeneration({
|
|
|
8606
8767
|
}
|
|
8607
8768
|
)
|
|
8608
8769
|
] }),
|
|
8609
|
-
needsColorableUtxos && /* @__PURE__ */ (0,
|
|
8610
|
-
/* @__PURE__ */ (0,
|
|
8611
|
-
/* @__PURE__ */ (0,
|
|
8770
|
+
needsColorableUtxos && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(AlertBanner, { variant: "warning", children: [
|
|
8771
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mb-0.5 text-xs font-bold text-warning", children: "Colorable UTXOs Required" }),
|
|
8772
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.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." })
|
|
8612
8773
|
] }),
|
|
8613
|
-
!isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ (0,
|
|
8614
|
-
/* @__PURE__ */ (0,
|
|
8774
|
+
!isAutoGenerate && ((needsColorableUtxos || isRgbOnchain && usePrivacy && colorableUtxoCount === 0) && onOpenCreateUtxos ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Button, { variant: "cta", size: "cta", onClick: onOpenCreateUtxos, disabled: loading, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8775
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "add_circle" }),
|
|
8615
8776
|
"Create Colorable UTXOs"
|
|
8616
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
8617
|
-
/* @__PURE__ */ (0,
|
|
8777
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Button, { variant: "cta", size: "cta", onClick: generateInvoice, disabled: loading, children: loading ? /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8778
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined animate-spin text-icon-md", children: "progress_activity" }),
|
|
8618
8779
|
"Generating..."
|
|
8619
|
-
] }) : /* @__PURE__ */ (0,
|
|
8620
|
-
/* @__PURE__ */ (0,
|
|
8780
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("span", { className: "flex items-center justify-center gap-2", children: [
|
|
8781
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined text-icon-md", children: "qr_code_2" }),
|
|
8621
8782
|
"Generate Address"
|
|
8622
8783
|
] }) }))
|
|
8623
8784
|
] });
|
|
@@ -8625,7 +8786,7 @@ function DepositPreGeneration({
|
|
|
8625
8786
|
|
|
8626
8787
|
// src/web/components/deposit-asset-selection.tsx
|
|
8627
8788
|
var import_react17 = require("react");
|
|
8628
|
-
var
|
|
8789
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
8629
8790
|
var ADD_ASSET_SUBTITLE = {
|
|
8630
8791
|
RGB: "RGB asset on Bitcoin",
|
|
8631
8792
|
SPARK: "Spark-native asset",
|
|
@@ -8714,8 +8875,8 @@ function DepositAssetSelection({
|
|
|
8714
8875
|
titleHoverClass: "group-hover:text-network-liquid"
|
|
8715
8876
|
}
|
|
8716
8877
|
].filter((option) => option.enabled);
|
|
8717
|
-
return /* @__PURE__ */ (0,
|
|
8718
|
-
/* @__PURE__ */ (0,
|
|
8878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
8879
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
8719
8880
|
Button,
|
|
8720
8881
|
{
|
|
8721
8882
|
type: "button",
|
|
@@ -8723,10 +8884,10 @@ function DepositAssetSelection({
|
|
|
8723
8884
|
size: "icon-xl",
|
|
8724
8885
|
onClick: () => setCurrentView("dashboard"),
|
|
8725
8886
|
"aria-label": "Go back",
|
|
8726
|
-
children: /* @__PURE__ */ (0,
|
|
8887
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "arrow_back", size: "xl" })
|
|
8727
8888
|
}
|
|
8728
8889
|
) }),
|
|
8729
|
-
/* @__PURE__ */ (0,
|
|
8890
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex-shrink-0 px-5 pb-3 pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
8730
8891
|
DotPagination,
|
|
8731
8892
|
{
|
|
8732
8893
|
count: 2,
|
|
@@ -8734,8 +8895,8 @@ function DepositAssetSelection({
|
|
|
8734
8895
|
ariaLabel: "Deposit step 1 of 2: select asset"
|
|
8735
8896
|
}
|
|
8736
8897
|
) }),
|
|
8737
|
-
/* @__PURE__ */ (0,
|
|
8738
|
-
/* @__PURE__ */ (0,
|
|
8898
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex-shrink-0 px-5 pb-3", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "relative", children: [
|
|
8899
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
8739
8900
|
Icon,
|
|
8740
8901
|
{
|
|
8741
8902
|
name: "search",
|
|
@@ -8743,7 +8904,7 @@ function DepositAssetSelection({
|
|
|
8743
8904
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-white/30"
|
|
8744
8905
|
}
|
|
8745
8906
|
),
|
|
8746
|
-
/* @__PURE__ */ (0,
|
|
8907
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
8747
8908
|
"input",
|
|
8748
8909
|
{
|
|
8749
8910
|
autoFocus: true,
|
|
@@ -8756,8 +8917,8 @@ function DepositAssetSelection({
|
|
|
8756
8917
|
}
|
|
8757
8918
|
)
|
|
8758
8919
|
] }) }),
|
|
8759
|
-
/* @__PURE__ */ (0,
|
|
8760
|
-
btcAsset && /* @__PURE__ */ (0,
|
|
8920
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ScrollArea, { className: "min-h-0 flex-1", viewportClassName: "space-y-1.5 px-5 pb-3", children: [
|
|
8921
|
+
btcAsset && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
8761
8922
|
"button",
|
|
8762
8923
|
{
|
|
8763
8924
|
type: "button",
|
|
@@ -8765,28 +8926,28 @@ function DepositAssetSelection({
|
|
|
8765
8926
|
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",
|
|
8766
8927
|
onClick: () => onSelectAsset(btcAsset),
|
|
8767
8928
|
children: [
|
|
8768
|
-
/* @__PURE__ */ (0,
|
|
8769
|
-
/* @__PURE__ */ (0,
|
|
8770
|
-
/* @__PURE__ */ (0,
|
|
8771
|
-
/* @__PURE__ */ (0,
|
|
8929
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(AssetIcon, { ticker: "BTC", size: 40, className: "flex-shrink-0" }),
|
|
8930
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8931
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: "Bitcoin" }),
|
|
8932
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 text-xs text-white/40", children: "Choose destination account next" })
|
|
8772
8933
|
] }),
|
|
8773
|
-
/* @__PURE__ */ (0,
|
|
8774
|
-
/* @__PURE__ */ (0,
|
|
8775
|
-
/* @__PURE__ */ (0,
|
|
8776
|
-
isSparkConnected && /* @__PURE__ */ (0,
|
|
8777
|
-
isArkadeConnected && /* @__PURE__ */ (0,
|
|
8778
|
-
isLiquidConnected && /* @__PURE__ */ (0,
|
|
8934
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "hidden min-w-0 max-w-[42%] flex-shrink flex-wrap justify-end gap-1 min-[380px]:flex", children: [
|
|
8935
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
|
|
8936
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
|
|
8937
|
+
isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
|
|
8938
|
+
isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "Arkade", size: "sm" }),
|
|
8939
|
+
isLiquidConnected && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(NetworkBadge, { network: "Liquid", size: "sm" })
|
|
8779
8940
|
] }),
|
|
8780
|
-
/* @__PURE__ */ (0,
|
|
8941
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.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" })
|
|
8781
8942
|
]
|
|
8782
8943
|
}
|
|
8783
8944
|
),
|
|
8784
|
-
noResults ? /* @__PURE__ */ (0,
|
|
8945
|
+
noResults ? /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "py-8 text-center text-sm text-white/30", children: [
|
|
8785
8946
|
'No assets match "',
|
|
8786
8947
|
searchQuery,
|
|
8787
8948
|
'"'
|
|
8788
|
-
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0,
|
|
8789
|
-
/* @__PURE__ */ (0,
|
|
8949
|
+
] }) : ownedAssetsCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "space-y-1.5 pt-1", children: [
|
|
8950
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
8790
8951
|
"button",
|
|
8791
8952
|
{
|
|
8792
8953
|
type: "button",
|
|
@@ -8799,17 +8960,17 @@ function DepositAssetSelection({
|
|
|
8799
8960
|
isSearching && "cursor-default"
|
|
8800
8961
|
),
|
|
8801
8962
|
children: [
|
|
8802
|
-
/* @__PURE__ */ (0,
|
|
8803
|
-
/* @__PURE__ */ (0,
|
|
8804
|
-
/* @__PURE__ */ (0,
|
|
8805
|
-
!isSearching && /* @__PURE__ */ (0,
|
|
8963
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xxs font-bold uppercase tracking-[0.18em] text-white/55", children: "Your assets" }),
|
|
8964
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.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 }),
|
|
8965
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex-1" }),
|
|
8966
|
+
!isSearching && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: showOwnedAssets ? "expand_less" : "expand_more", size: "md", className: "text-white/40" })
|
|
8806
8967
|
]
|
|
8807
8968
|
}
|
|
8808
8969
|
),
|
|
8809
|
-
showOwnedAssets && /* @__PURE__ */ (0,
|
|
8970
|
+
showOwnedAssets && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "space-y-1.5 duration-200 animate-in fade-in slide-in-from-top-1", children: ownedAssets.map((asset) => {
|
|
8810
8971
|
const protocolBadge = asset.accountId ? PROTOCOL_BADGE[asset.accountId] : null;
|
|
8811
8972
|
const balance = asset.balance ?? 0;
|
|
8812
|
-
return /* @__PURE__ */ (0,
|
|
8973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
8813
8974
|
"button",
|
|
8814
8975
|
{
|
|
8815
8976
|
type: "button",
|
|
@@ -8817,11 +8978,11 @@ function DepositAssetSelection({
|
|
|
8817
8978
|
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",
|
|
8818
8979
|
onClick: () => onSelectAsset(asset),
|
|
8819
8980
|
children: [
|
|
8820
|
-
/* @__PURE__ */ (0,
|
|
8821
|
-
/* @__PURE__ */ (0,
|
|
8822
|
-
/* @__PURE__ */ (0,
|
|
8823
|
-
/* @__PURE__ */ (0,
|
|
8824
|
-
protocolBadge && /* @__PURE__ */ (0,
|
|
8981
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(AssetIcon, { ticker: asset.ticker, size: 40, className: "flex-shrink-0" }),
|
|
8982
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "min-w-0 flex-1 text-left", children: [
|
|
8983
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
8984
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "truncate font-bold tracking-wide text-white transition-colors group-hover:text-primary/90", children: asset.ticker }),
|
|
8985
|
+
protocolBadge && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
8825
8986
|
"span",
|
|
8826
8987
|
{
|
|
8827
8988
|
className: cn(
|
|
@@ -8832,36 +8993,36 @@ function DepositAssetSelection({
|
|
|
8832
8993
|
}
|
|
8833
8994
|
)
|
|
8834
8995
|
] }),
|
|
8835
|
-
/* @__PURE__ */ (0,
|
|
8996
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 truncate text-xs text-white/40", children: asset.name ?? "Asset" })
|
|
8836
8997
|
] }),
|
|
8837
|
-
balance > 0 && /* @__PURE__ */ (0,
|
|
8838
|
-
/* @__PURE__ */ (0,
|
|
8839
|
-
/* @__PURE__ */ (0,
|
|
8998
|
+
balance > 0 && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex-shrink-0 text-right", children: [
|
|
8999
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "text-xs font-bold tabular-nums text-white", children: formatAssetBalance(asset) }),
|
|
9000
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 text-tiny uppercase tracking-wider text-white/35", children: asset.ticker })
|
|
8840
9001
|
] }),
|
|
8841
|
-
/* @__PURE__ */ (0,
|
|
9002
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.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" })
|
|
8842
9003
|
]
|
|
8843
9004
|
},
|
|
8844
9005
|
asset.asset_id
|
|
8845
9006
|
);
|
|
8846
9007
|
}) })
|
|
8847
9008
|
] }) : null,
|
|
8848
|
-
!searchQuery && /* @__PURE__ */ (0,
|
|
9009
|
+
!searchQuery && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
8849
9010
|
"button",
|
|
8850
9011
|
{
|
|
8851
9012
|
type: "button",
|
|
8852
9013
|
onClick: () => setCurrentView("bridge"),
|
|
8853
9014
|
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",
|
|
8854
9015
|
children: [
|
|
8855
|
-
/* @__PURE__ */ (0,
|
|
8856
|
-
/* @__PURE__ */ (0,
|
|
8857
|
-
/* @__PURE__ */ (0,
|
|
8858
|
-
/* @__PURE__ */ (0,
|
|
9016
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/20", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined text-lg text-primary", children: "swap_calls" }) }),
|
|
9017
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex-1 text-left", children: [
|
|
9018
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Bridge from another chain" }),
|
|
9019
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-xxs leading-tight text-white/40", children: "USDC, USDT, ETH, SOL via Flashnet" })
|
|
8859
9020
|
] }),
|
|
8860
|
-
/* @__PURE__ */ (0,
|
|
9021
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
|
|
8861
9022
|
]
|
|
8862
9023
|
}
|
|
8863
9024
|
) }),
|
|
8864
|
-
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0,
|
|
9025
|
+
!searchQuery && newAssetOptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "pb-1 pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
8865
9026
|
"button",
|
|
8866
9027
|
{
|
|
8867
9028
|
type: "button",
|
|
@@ -8869,27 +9030,27 @@ function DepositAssetSelection({
|
|
|
8869
9030
|
onClick: () => setShowAddAssetModal(true),
|
|
8870
9031
|
className: "group flex w-full items-center gap-3 rounded-2xl bg-white/3 p-3 transition-all hover:bg-accent",
|
|
8871
9032
|
children: [
|
|
8872
|
-
/* @__PURE__ */ (0,
|
|
8873
|
-
/* @__PURE__ */ (0,
|
|
8874
|
-
/* @__PURE__ */ (0,
|
|
8875
|
-
/* @__PURE__ */ (0,
|
|
9033
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "flex size-10 shrink-0 items-center justify-center rounded-xl bg-primary/15", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "add", size: "md", className: "text-primary" }) }),
|
|
9034
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "flex-1 text-left", children: [
|
|
9035
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("p", { className: "text-sm font-semibold text-white transition-colors group-hover:text-primary", children: "Add an asset" }),
|
|
9036
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("p", { className: "text-xxs leading-tight text-white/40", children: [
|
|
8876
9037
|
"Receive a new ",
|
|
8877
9038
|
newAssetOptions.map((o) => o.ticker).join(", "),
|
|
8878
9039
|
" asset"
|
|
8879
9040
|
] })
|
|
8880
9041
|
] }),
|
|
8881
|
-
/* @__PURE__ */ (0,
|
|
9042
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "material-symbols-outlined text-lg text-white/30 transition-colors group-hover:text-primary", children: "arrow_forward" })
|
|
8882
9043
|
]
|
|
8883
9044
|
}
|
|
8884
9045
|
) })
|
|
8885
9046
|
] }),
|
|
8886
|
-
/* @__PURE__ */ (0,
|
|
9047
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
8887
9048
|
BottomSheet,
|
|
8888
9049
|
{
|
|
8889
9050
|
open: showAddAssetModal,
|
|
8890
9051
|
title: "Add an asset",
|
|
8891
9052
|
onClose: () => setShowAddAssetModal(false),
|
|
8892
|
-
children: /* @__PURE__ */ (0,
|
|
9053
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "space-y-2", children: newAssetOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
8893
9054
|
"button",
|
|
8894
9055
|
{
|
|
8895
9056
|
type: "button",
|
|
@@ -8903,12 +9064,12 @@ function DepositAssetSelection({
|
|
|
8903
9064
|
handleAddNewAsset(option.account);
|
|
8904
9065
|
},
|
|
8905
9066
|
children: [
|
|
8906
|
-
option.account === "LIQUID" ? /* @__PURE__ */ (0,
|
|
8907
|
-
/* @__PURE__ */ (0,
|
|
8908
|
-
/* @__PURE__ */ (0,
|
|
8909
|
-
/* @__PURE__ */ (0,
|
|
9067
|
+
option.account === "LIQUID" ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-full bg-network-liquid/10", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(LiquidNetworkIcon, { className: "size-5" }) }) : /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
|
|
9068
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "min-w-0 flex-1", children: [
|
|
9069
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
|
|
9070
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
|
|
8910
9071
|
] }),
|
|
8911
|
-
/* @__PURE__ */ (0,
|
|
9072
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Icon, { name: "add", size: "sm", className: "text-white/30 transition-colors group-hover:text-white/60" })
|
|
8912
9073
|
]
|
|
8913
9074
|
},
|
|
8914
9075
|
option.account
|
|
@@ -8919,7 +9080,7 @@ function DepositAssetSelection({
|
|
|
8919
9080
|
}
|
|
8920
9081
|
|
|
8921
9082
|
// src/web/components/deposit-invoice-generation.tsx
|
|
8922
|
-
var
|
|
9083
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
8923
9084
|
var ACCOUNT_TITLES2 = {
|
|
8924
9085
|
RGB: "RGB & Lightning",
|
|
8925
9086
|
SPARK: "Spark",
|
|
@@ -9078,7 +9239,7 @@ function DepositInvoiceGeneration({
|
|
|
9078
9239
|
if (nextMethod) applyMethodSelection(account, nextMethod);
|
|
9079
9240
|
};
|
|
9080
9241
|
if (depositDetected) {
|
|
9081
|
-
return /* @__PURE__ */ (0,
|
|
9242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
9082
9243
|
DepositSuccessScreen,
|
|
9083
9244
|
{
|
|
9084
9245
|
handleDone,
|
|
@@ -9095,15 +9256,15 @@ function DepositInvoiceGeneration({
|
|
|
9095
9256
|
const showChannelWarning = selectedAccount === "RGB" && network === "lightning" && !channelsLoading && channels.length === 0 && !isSparkConnected;
|
|
9096
9257
|
const showLiquidityWarning = !isSparkLightning && network === "lightning" && maxDepositAmount === 0 && !channelsLoading && !isBtc;
|
|
9097
9258
|
const isNewRgbAsset = isNewAsset && assetFamily === "RGB";
|
|
9098
|
-
return /* @__PURE__ */ (0,
|
|
9099
|
-
/* @__PURE__ */ (0,
|
|
9259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
|
|
9260
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "absolute left-4 top-4 z-30", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Button, { type: "button", variant: "ghost", size: "icon-xl", onClick: handleBack, "aria-label": "Go back", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Icon, { name: "arrow_back", size: "xl" }) }) }),
|
|
9100
9261
|
(() => {
|
|
9101
9262
|
const hideDestinationRail = isNewAsset && (network === "spark" || network === "arkade");
|
|
9102
9263
|
if (hideDestinationRail) return null;
|
|
9103
|
-
return /* @__PURE__ */ (0,
|
|
9104
|
-
/* @__PURE__ */ (0,
|
|
9105
|
-
/* @__PURE__ */ (0,
|
|
9106
|
-
/* @__PURE__ */ (0,
|
|
9264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "flex-shrink-0 bg-background px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "space-y-2", children: [
|
|
9265
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
|
|
9266
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Destination Account" }),
|
|
9267
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "mt-1.5 flex gap-1.5 overflow-x-auto no-scrollbar", children: availableAccounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
9107
9268
|
AccountChoiceChip,
|
|
9108
9269
|
{
|
|
9109
9270
|
account,
|
|
@@ -9128,9 +9289,9 @@ function DepositInvoiceGeneration({
|
|
|
9128
9289
|
account
|
|
9129
9290
|
)) })
|
|
9130
9291
|
] }),
|
|
9131
|
-
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0,
|
|
9132
|
-
/* @__PURE__ */ (0,
|
|
9133
|
-
/* @__PURE__ */ (0,
|
|
9292
|
+
!isBtc && !(isNewAsset && (network === "spark" || network === "arkade")) && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { children: [
|
|
9293
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-xxs font-bold uppercase tracking-widest text-white/35", children: "Transfer Method" }),
|
|
9294
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.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_runtime83.jsx)(
|
|
9134
9295
|
MethodChoiceChip,
|
|
9135
9296
|
{
|
|
9136
9297
|
method,
|
|
@@ -9144,7 +9305,7 @@ function DepositInvoiceGeneration({
|
|
|
9144
9305
|
] })
|
|
9145
9306
|
] }) });
|
|
9146
9307
|
})(),
|
|
9147
|
-
/* @__PURE__ */ (0,
|
|
9308
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(ScrollArea, { className: "flex-1", viewportAs: "main", viewportClassName: "space-y-2.5 px-4 py-2.5", children: isBtc && accountReceiveResult ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
9148
9309
|
BtcUnifiedReceive,
|
|
9149
9310
|
{
|
|
9150
9311
|
btcSelectedAccount,
|
|
@@ -9164,15 +9325,15 @@ function DepositInvoiceGeneration({
|
|
|
9164
9325
|
setAccountReceiveResult,
|
|
9165
9326
|
handleDone
|
|
9166
9327
|
}
|
|
9167
|
-
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0,
|
|
9168
|
-
/* @__PURE__ */ (0,
|
|
9328
|
+
) : isBtc && !accountReceiveResult && loading ? /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "flex flex-col items-center gap-4 py-10", children: [
|
|
9329
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
9169
9330
|
"div",
|
|
9170
9331
|
{
|
|
9171
9332
|
className: cn(
|
|
9172
9333
|
"flex size-16 items-center justify-center rounded-2xl",
|
|
9173
9334
|
NETWORK_CONFIG[btcSelectedAccount === "SPARK" ? "spark" : btcSelectedAccount === "ARKADE" ? "arkade" : "onchain"].bg
|
|
9174
9335
|
),
|
|
9175
|
-
children: /* @__PURE__ */ (0,
|
|
9336
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
9176
9337
|
"span",
|
|
9177
9338
|
{
|
|
9178
9339
|
className: cn(
|
|
@@ -9184,11 +9345,11 @@ function DepositInvoiceGeneration({
|
|
|
9184
9345
|
)
|
|
9185
9346
|
}
|
|
9186
9347
|
),
|
|
9187
|
-
/* @__PURE__ */ (0,
|
|
9188
|
-
/* @__PURE__ */ (0,
|
|
9189
|
-
/* @__PURE__ */ (0,
|
|
9348
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "space-y-1 text-center", children: [
|
|
9349
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-sm font-bold text-muted-foreground", children: "Generating addresses..." }),
|
|
9350
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("p", { className: "text-xs text-white/30", children: ACCOUNT_TITLES2[btcSelectedAccount] })
|
|
9190
9351
|
] })
|
|
9191
|
-
] }) : !address ? /* @__PURE__ */ (0,
|
|
9352
|
+
] }) : !address ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
9192
9353
|
DepositPreGeneration,
|
|
9193
9354
|
{
|
|
9194
9355
|
selectedAsset,
|
|
@@ -9212,7 +9373,7 @@ function DepositInvoiceGeneration({
|
|
|
9212
9373
|
onOpenCreateUtxos,
|
|
9213
9374
|
showReceiveSummary: !isNewRgbAsset
|
|
9214
9375
|
}
|
|
9215
|
-
) : /* @__PURE__ */ (0,
|
|
9376
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
9216
9377
|
DepositGeneratedView,
|
|
9217
9378
|
{
|
|
9218
9379
|
network,
|
|
@@ -9270,6 +9431,7 @@ function DepositInvoiceGeneration({
|
|
|
9270
9431
|
ArkadeNetworkIcon,
|
|
9271
9432
|
AssetCard,
|
|
9272
9433
|
AssetIcon,
|
|
9434
|
+
AssetInfoChip,
|
|
9273
9435
|
AssetSelector,
|
|
9274
9436
|
BalanceBreakdown,
|
|
9275
9437
|
BottomNav,
|
|
@@ -9311,6 +9473,7 @@ function DepositInvoiceGeneration({
|
|
|
9311
9473
|
HeadlineGradient,
|
|
9312
9474
|
Icon,
|
|
9313
9475
|
Icons,
|
|
9476
|
+
InfoChip,
|
|
9314
9477
|
InfoPanel,
|
|
9315
9478
|
InlineAction,
|
|
9316
9479
|
InlineSelector,
|
|
@@ -9327,6 +9490,7 @@ function DepositInvoiceGeneration({
|
|
|
9327
9490
|
MobileHeroAnimation,
|
|
9328
9491
|
NETWORK_CONFIG,
|
|
9329
9492
|
NetworkBadge,
|
|
9493
|
+
NetworkInfoChip,
|
|
9330
9494
|
NetworkInfoDisclosure,
|
|
9331
9495
|
NetworkStatusChip,
|
|
9332
9496
|
NostrNetworkIcon,
|