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