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