@loafmarkets/ui 0.1.20 → 0.1.21
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/index.d.mts +10 -5
- package/dist/index.d.ts +10 -5
- package/dist/index.js +259 -61
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +259 -61
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4447,7 +4447,8 @@ var Header = ({
|
|
|
4447
4447
|
onTradeClick,
|
|
4448
4448
|
onProfileNavigate: _onProfileNavigate,
|
|
4449
4449
|
onOrdersNavigate: _onOrdersNavigate,
|
|
4450
|
-
onWalletNavigate: _onWalletNavigate
|
|
4450
|
+
onWalletNavigate: _onWalletNavigate,
|
|
4451
|
+
showTradeTab = true
|
|
4451
4452
|
}) => {
|
|
4452
4453
|
const [isUserMenuOpen, setIsUserMenuOpen] = useState(false);
|
|
4453
4454
|
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
|
|
@@ -4537,6 +4538,9 @@ var Header = ({
|
|
|
4537
4538
|
performNavigation(resolvedLoafLiquidityPath);
|
|
4538
4539
|
};
|
|
4539
4540
|
const handleTradeNavigation = () => {
|
|
4541
|
+
if (!showTradeTab) {
|
|
4542
|
+
return;
|
|
4543
|
+
}
|
|
4540
4544
|
closeMenus();
|
|
4541
4545
|
if (onTradeClick) {
|
|
4542
4546
|
onTradeClick();
|
|
@@ -4634,7 +4638,7 @@ var Header = ({
|
|
|
4634
4638
|
const resolvedPortfolioPath = portfolioPath ?? DEFAULT_PORTFOLIO_PATH;
|
|
4635
4639
|
const resolvedLoafLiquidityPath = loafLiquidityPath ?? DEFAULT_LOAF_LIQUIDITY_PATH;
|
|
4636
4640
|
const inferredActiveTab = (() => {
|
|
4637
|
-
if (locationPath === resolvedTradePath) return "trade";
|
|
4641
|
+
if (showTradeTab && locationPath === resolvedTradePath) return "trade";
|
|
4638
4642
|
if (locationPath === resolvedHomePath) return "home";
|
|
4639
4643
|
if (locationPath === resolvedAboutPath) return "about";
|
|
4640
4644
|
if (locationPath === resolvedLearnPath) return "learn";
|
|
@@ -4644,7 +4648,7 @@ var Header = ({
|
|
|
4644
4648
|
return null;
|
|
4645
4649
|
})();
|
|
4646
4650
|
const resolvedActiveTab = activeTab ?? inferredActiveTab;
|
|
4647
|
-
const tradeActive = resolvedActiveTab === "trade";
|
|
4651
|
+
const tradeActive = showTradeTab && resolvedActiveTab === "trade";
|
|
4648
4652
|
const homeActive = resolvedActiveTab === "home";
|
|
4649
4653
|
const offeringsActive = resolvedActiveTab === "offerings";
|
|
4650
4654
|
const propertyMapActive = resolvedActiveTab === "propertyMap";
|
|
@@ -4690,7 +4694,7 @@ var Header = ({
|
|
|
4690
4694
|
children: "Portfolio"
|
|
4691
4695
|
}
|
|
4692
4696
|
),
|
|
4693
|
-
/* @__PURE__ */ jsx(
|
|
4697
|
+
showTradeTab && /* @__PURE__ */ jsx(
|
|
4694
4698
|
NavLink,
|
|
4695
4699
|
{
|
|
4696
4700
|
href: resolvedTradePath,
|
|
@@ -4783,7 +4787,7 @@ var Header = ({
|
|
|
4783
4787
|
children: "Portfolio"
|
|
4784
4788
|
}
|
|
4785
4789
|
),
|
|
4786
|
-
/* @__PURE__ */ jsx(
|
|
4790
|
+
showTradeTab && /* @__PURE__ */ jsx(
|
|
4787
4791
|
MobileNavItem,
|
|
4788
4792
|
{
|
|
4789
4793
|
onClick: () => {
|
|
@@ -5448,8 +5452,10 @@ var LoginPopup = ({
|
|
|
5448
5452
|
const [fundingAmount, setFundingAmount] = useState("");
|
|
5449
5453
|
const [kycLoading, setKycLoading] = useState(false);
|
|
5450
5454
|
const [showKycWidget, setShowKycWidget] = useState(false);
|
|
5451
|
-
const [
|
|
5455
|
+
const [cryptoFundingLoading, setCryptoFundingLoading] = useState(false);
|
|
5456
|
+
const [fiatFundingLoading, setFiatFundingLoading] = useState(false);
|
|
5452
5457
|
const [fundingError, setFundingError] = useState("");
|
|
5458
|
+
const [transakWidgetUrl, setTransakWidgetUrl] = useState(null);
|
|
5453
5459
|
const suppressAutoCloseRef = React5__default.useRef(false);
|
|
5454
5460
|
useEffect(() => {
|
|
5455
5461
|
console.log("[LoginTrace][Popup] mounted");
|
|
@@ -5467,6 +5473,35 @@ var LoginPopup = ({
|
|
|
5467
5473
|
setView(initialView);
|
|
5468
5474
|
}
|
|
5469
5475
|
}, [initialView]);
|
|
5476
|
+
useEffect(() => {
|
|
5477
|
+
if (!transakWidgetUrl) return;
|
|
5478
|
+
const handleTransakMessage = (event) => {
|
|
5479
|
+
if (!event.origin.includes("transak.com") && !event.origin.includes("global.transak.com")) {
|
|
5480
|
+
return;
|
|
5481
|
+
}
|
|
5482
|
+
console.log("[LoginTrace][Popup] Transak message received", event.data);
|
|
5483
|
+
try {
|
|
5484
|
+
const data = typeof event.data === "string" ? JSON.parse(event.data) : event.data;
|
|
5485
|
+
if (data.event_id === "TRANSAK_ORDER_SUCCESSFUL") {
|
|
5486
|
+
console.log("[LoginTrace][Popup] Transak order successful", data);
|
|
5487
|
+
setTimeout(() => {
|
|
5488
|
+
onClose();
|
|
5489
|
+
}, 2e3);
|
|
5490
|
+
} else if (data.event_id === "TRANSAK_ORDER_FAILED") {
|
|
5491
|
+
console.error("[LoginTrace][Popup] Transak order failed", data);
|
|
5492
|
+
setFundingError("Transaction failed. Please try again.");
|
|
5493
|
+
setTransakWidgetUrl(null);
|
|
5494
|
+
} else if (data.event_id === "TRANSAK_WIDGET_CLOSE") {
|
|
5495
|
+
console.log("[LoginTrace][Popup] Transak widget closed by user");
|
|
5496
|
+
setTransakWidgetUrl(null);
|
|
5497
|
+
}
|
|
5498
|
+
} catch (err) {
|
|
5499
|
+
console.warn("[LoginTrace][Popup] Failed to parse Transak message", err);
|
|
5500
|
+
}
|
|
5501
|
+
};
|
|
5502
|
+
window.addEventListener("message", handleTransakMessage);
|
|
5503
|
+
return () => window.removeEventListener("message", handleTransakMessage);
|
|
5504
|
+
}, [transakWidgetUrl, onClose]);
|
|
5470
5505
|
useEffect(() => {
|
|
5471
5506
|
if (!autoCloseOnAuth) {
|
|
5472
5507
|
console.log("[LoginTrace][Popup] autoClose disabled", { autoCloseOnAuth, view });
|
|
@@ -5650,6 +5685,10 @@ var LoginPopup = ({
|
|
|
5650
5685
|
setView("kyc-failed");
|
|
5651
5686
|
}
|
|
5652
5687
|
};
|
|
5688
|
+
const handleKycWidgetClose = () => {
|
|
5689
|
+
setShowKycWidget(false);
|
|
5690
|
+
onClose();
|
|
5691
|
+
};
|
|
5653
5692
|
const handleKycStart = async () => {
|
|
5654
5693
|
if (renderKycWidget) {
|
|
5655
5694
|
setShowKycWidget(true);
|
|
@@ -5677,28 +5716,54 @@ var LoginPopup = ({
|
|
|
5677
5716
|
const handleKycSkip = () => {
|
|
5678
5717
|
onClose();
|
|
5679
5718
|
};
|
|
5680
|
-
const
|
|
5719
|
+
const handleCryptoFund = async () => {
|
|
5681
5720
|
if (!onFundWallet) {
|
|
5682
5721
|
onClose();
|
|
5683
5722
|
return;
|
|
5684
5723
|
}
|
|
5685
|
-
setFundingLoading(true);
|
|
5686
5724
|
setFundingError("");
|
|
5725
|
+
setCryptoFundingLoading(true);
|
|
5687
5726
|
try {
|
|
5688
|
-
const result = await onFundWallet({ amount: fundingAmount || "100" });
|
|
5689
|
-
if (result
|
|
5727
|
+
const result = await onFundWallet({ amount: fundingAmount || "100", mode: "crypto" });
|
|
5728
|
+
if (result?.funded) {
|
|
5690
5729
|
onClose();
|
|
5691
|
-
} else {
|
|
5692
|
-
setFundingLoading(false);
|
|
5693
5730
|
}
|
|
5694
5731
|
} catch (err) {
|
|
5695
5732
|
setFundingError(err instanceof Error ? err.message : "Unable to launch funding. Please try again.");
|
|
5696
|
-
|
|
5733
|
+
} finally {
|
|
5734
|
+
setCryptoFundingLoading(false);
|
|
5735
|
+
}
|
|
5736
|
+
};
|
|
5737
|
+
const handleFiatFund = async () => {
|
|
5738
|
+
if (!onFundWallet) {
|
|
5739
|
+
onClose();
|
|
5740
|
+
return;
|
|
5741
|
+
}
|
|
5742
|
+
setFundingError("");
|
|
5743
|
+
setFiatFundingLoading(true);
|
|
5744
|
+
try {
|
|
5745
|
+
const result = await onFundWallet({ amount: fundingAmount || "100", mode: "fiat" });
|
|
5746
|
+
if (result?.widgetUrl) {
|
|
5747
|
+
setTransakWidgetUrl(result.widgetUrl);
|
|
5748
|
+
} else if (result?.requiresKyc) {
|
|
5749
|
+
setView("kyc");
|
|
5750
|
+
setShowKycWidget(true);
|
|
5751
|
+
} else if (result?.funded) {
|
|
5752
|
+
onClose();
|
|
5753
|
+
}
|
|
5754
|
+
} catch (err) {
|
|
5755
|
+
setFundingError(err instanceof Error ? err.message : "Unable to launch funding. Please try again.");
|
|
5756
|
+
} finally {
|
|
5757
|
+
setFiatFundingLoading(false);
|
|
5697
5758
|
}
|
|
5698
5759
|
};
|
|
5699
5760
|
const handleFundingSkip = () => {
|
|
5700
5761
|
onClose();
|
|
5701
5762
|
};
|
|
5763
|
+
const handleTransakClose = () => {
|
|
5764
|
+
setTransakWidgetUrl(null);
|
|
5765
|
+
setFundingError("");
|
|
5766
|
+
};
|
|
5702
5767
|
const handleFundingAmountChange = (event) => {
|
|
5703
5768
|
const next = event.target.value.replace(/[^0-9.]/g, "");
|
|
5704
5769
|
setFundingAmount(next);
|
|
@@ -5874,7 +5939,10 @@ var LoginPopup = ({
|
|
|
5874
5939
|
$expanded: showKycWidget,
|
|
5875
5940
|
children: [
|
|
5876
5941
|
/* @__PURE__ */ jsx(CloseButton, { onClick: onClose, "aria-label": "Close login popup", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) }),
|
|
5877
|
-
showKycWidget && renderKycWidget ? /* @__PURE__ */
|
|
5942
|
+
showKycWidget && renderKycWidget ? /* @__PURE__ */ jsxs(KycWidgetContainer, { children: [
|
|
5943
|
+
/* @__PURE__ */ jsx(InlineCloseButton, { onClick: handleKycWidgetClose, "aria-label": "Close KYC widget", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) }),
|
|
5944
|
+
renderKycWidget(handleKycWidgetResult)
|
|
5945
|
+
] }) : /* @__PURE__ */ jsxs(OnboardingStepContainer, { children: [
|
|
5878
5946
|
/* @__PURE__ */ jsx(OnboardingHeading, { children: "KYC to Continue" }),
|
|
5879
5947
|
/* @__PURE__ */ jsx(OnboardingSubtext, { children: "Loaf requires all users to KYC before they can start purchasing properties." }),
|
|
5880
5948
|
/* @__PURE__ */ jsxs(OnboardingButtonGroup, { children: [
|
|
@@ -5892,15 +5960,14 @@ var LoginPopup = ({
|
|
|
5892
5960
|
/* @__PURE__ */ jsx(CloseButton, { onClick: onClose, "aria-label": "Close login popup", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) }),
|
|
5893
5961
|
/* @__PURE__ */ jsxs(OnboardingStepContainer, { children: [
|
|
5894
5962
|
/* @__PURE__ */ jsx(KycSuccessIcon, { children: /* @__PURE__ */ jsx("svg", { width: "64", height: "64", viewBox: "0 0 64 64", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx("path", { d: "M20 34.5L28.5 43 44 25", stroke: "var(--color-accent, #e6c656)", strokeWidth: "4", strokeLinecap: "round", strokeLinejoin: "round" }) }) }),
|
|
5895
|
-
/* @__PURE__ */ jsx(OnboardingHeading, { children: "
|
|
5963
|
+
/* @__PURE__ */ jsx(OnboardingHeading, { children: "KYC pending review" }),
|
|
5896
5964
|
/* @__PURE__ */ jsxs(OnboardingSubtext, { children: [
|
|
5897
|
-
"
|
|
5898
|
-
/* @__PURE__ */ jsx("br", {})
|
|
5899
|
-
"You can start purchasing properties."
|
|
5965
|
+
"Thanks for submitting your documents.",
|
|
5966
|
+
/* @__PURE__ */ jsx("br", {})
|
|
5900
5967
|
] }),
|
|
5901
5968
|
/* @__PURE__ */ jsxs(OnboardingButtonGroup, { children: [
|
|
5902
|
-
/* @__PURE__ */ jsx(SubmitButton, { onClick:
|
|
5903
|
-
/* @__PURE__ */ jsx(OnboardingSkipButton, { onClick:
|
|
5969
|
+
/* @__PURE__ */ jsx(SubmitButton, { onClick: onClose, children: "Close" }),
|
|
5970
|
+
/* @__PURE__ */ jsx(OnboardingSkipButton, { onClick: () => setView("funding"), children: "Fund now" })
|
|
5904
5971
|
] })
|
|
5905
5972
|
] })
|
|
5906
5973
|
] }) });
|
|
@@ -5936,32 +6003,62 @@ var LoginPopup = ({
|
|
|
5936
6003
|
] }) });
|
|
5937
6004
|
}
|
|
5938
6005
|
if (view === "funding") {
|
|
5939
|
-
return /* @__PURE__ */ jsx(Overlay2, { children: /* @__PURE__ */ jsxs(
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5943
|
-
|
|
5944
|
-
|
|
5945
|
-
/* @__PURE__ */ jsx(
|
|
5946
|
-
/* @__PURE__ */ jsxs(
|
|
5947
|
-
/* @__PURE__ */
|
|
5948
|
-
|
|
5949
|
-
|
|
6006
|
+
return /* @__PURE__ */ jsx(Overlay2, { children: /* @__PURE__ */ jsxs(
|
|
6007
|
+
FundingPopupContainer,
|
|
6008
|
+
{
|
|
6009
|
+
onClick: (event) => event.stopPropagation(),
|
|
6010
|
+
$hasWidget: !!transakWidgetUrl,
|
|
6011
|
+
children: [
|
|
6012
|
+
/* @__PURE__ */ jsx(CloseButton, { onClick: onClose, "aria-label": "Close login popup", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) }),
|
|
6013
|
+
transakWidgetUrl ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6014
|
+
/* @__PURE__ */ jsxs(BackButton, { onClick: handleTransakClose, style: { position: "absolute", top: "1rem", left: "1rem", zIndex: 1 }, children: [
|
|
6015
|
+
/* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" }) }),
|
|
6016
|
+
"Back"
|
|
6017
|
+
] }),
|
|
6018
|
+
/* @__PURE__ */ jsx(TransakWidgetContainer, { children: /* @__PURE__ */ jsx(
|
|
6019
|
+
TransakIframe,
|
|
5950
6020
|
{
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
onChange: handleFundingAmountChange,
|
|
5955
|
-
placeholder: "0"
|
|
6021
|
+
src: transakWidgetUrl,
|
|
6022
|
+
title: "Transak Onramp Widget",
|
|
6023
|
+
allow: "camera; microphone; payment"
|
|
5956
6024
|
}
|
|
5957
|
-
)
|
|
5958
|
-
] }),
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
6025
|
+
) })
|
|
6026
|
+
] }) : /* @__PURE__ */ jsxs(OnboardingStepContainer, { children: [
|
|
6027
|
+
/* @__PURE__ */ jsx(OnboardingHeading, { children: "Fund your account" }),
|
|
6028
|
+
/* @__PURE__ */ jsxs(FundingCard, { children: [
|
|
6029
|
+
/* @__PURE__ */ jsx(FundingCardLabel, { children: "How much would you like to transfer?" }),
|
|
6030
|
+
/* @__PURE__ */ jsxs(FundingInputWrapper, { children: [
|
|
6031
|
+
/* @__PURE__ */ jsx(FundingCurrencyLabel, { children: "AUD" }),
|
|
6032
|
+
/* @__PURE__ */ jsx(
|
|
6033
|
+
FundingAmountInput,
|
|
6034
|
+
{
|
|
6035
|
+
type: "text",
|
|
6036
|
+
inputMode: "decimal",
|
|
6037
|
+
value: fundingAmount,
|
|
6038
|
+
onChange: handleFundingAmountChange,
|
|
6039
|
+
placeholder: "0"
|
|
6040
|
+
}
|
|
6041
|
+
)
|
|
6042
|
+
] }),
|
|
6043
|
+
/* @__PURE__ */ jsxs(FundingOptionsGrid, { children: [
|
|
6044
|
+
/* @__PURE__ */ jsxs(FundingOptionCard, { children: [
|
|
6045
|
+
/* @__PURE__ */ jsx(FundingOptionHeading, { children: "Crypto transfer" }),
|
|
6046
|
+
/* @__PURE__ */ jsx(FundingOptionSubtext, { children: "Use Privy's Coinbase onramp to move crypto from another exchange or wallet." }),
|
|
6047
|
+
/* @__PURE__ */ jsx(SubmitButton, { onClick: handleCryptoFund, disabled: cryptoFundingLoading, children: cryptoFundingLoading ? "Opening Coinbase\u2026" : "Use crypto deposit" })
|
|
6048
|
+
] }),
|
|
6049
|
+
/* @__PURE__ */ jsxs(FundingOptionCard, { children: [
|
|
6050
|
+
/* @__PURE__ */ jsx(FundingOptionHeading, { children: "Fiat onramp" }),
|
|
6051
|
+
/* @__PURE__ */ jsx(FundingOptionSubtext, { children: "Buy USDC instantly with your card or local payment methods via Transak." }),
|
|
6052
|
+
/* @__PURE__ */ jsx(SubmitButton, { onClick: handleFiatFund, disabled: fiatFundingLoading, children: fiatFundingLoading ? "Loading widget\u2026" : "Use onramp" })
|
|
6053
|
+
] })
|
|
6054
|
+
] }),
|
|
6055
|
+
/* @__PURE__ */ jsx(OnboardingSkipButton, { onClick: handleFundingSkip, style: { marginTop: "1.25rem" }, children: "Skip for now" }),
|
|
6056
|
+
fundingError && /* @__PURE__ */ jsx(StatusMessage, { $error: true, children: fundingError })
|
|
6057
|
+
] })
|
|
6058
|
+
] })
|
|
6059
|
+
]
|
|
6060
|
+
}
|
|
6061
|
+
) });
|
|
5965
6062
|
}
|
|
5966
6063
|
return null;
|
|
5967
6064
|
};
|
|
@@ -6048,6 +6145,34 @@ var KycWidgetContainer = styled23.div`
|
|
|
6048
6145
|
width: 100%;
|
|
6049
6146
|
display: flex;
|
|
6050
6147
|
flex-direction: column;
|
|
6148
|
+
position: relative;
|
|
6149
|
+
gap: 0.75rem;
|
|
6150
|
+
`;
|
|
6151
|
+
var InlineCloseButton = styled23.button`
|
|
6152
|
+
position: absolute;
|
|
6153
|
+
top: -12px;
|
|
6154
|
+
right: -12px;
|
|
6155
|
+
background: rgba(0, 0, 0, 0.4);
|
|
6156
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
6157
|
+
border-radius: 999px;
|
|
6158
|
+
color: var(--color-text-secondary, #848e9c);
|
|
6159
|
+
width: 32px;
|
|
6160
|
+
height: 32px;
|
|
6161
|
+
display: flex;
|
|
6162
|
+
align-items: center;
|
|
6163
|
+
justify-content: center;
|
|
6164
|
+
cursor: pointer;
|
|
6165
|
+
transition: color 0.2s ease, background 0.2s ease;
|
|
6166
|
+
|
|
6167
|
+
&:hover {
|
|
6168
|
+
background: rgba(0, 0, 0, 0.6);
|
|
6169
|
+
color: var(--color-accent, #e6c656);
|
|
6170
|
+
}
|
|
6171
|
+
|
|
6172
|
+
svg {
|
|
6173
|
+
width: 18px;
|
|
6174
|
+
height: 18px;
|
|
6175
|
+
}
|
|
6051
6176
|
`;
|
|
6052
6177
|
var CloseButton = styled23.button`
|
|
6053
6178
|
position: absolute;
|
|
@@ -6221,7 +6346,7 @@ var OTPInput = styled23.input`
|
|
|
6221
6346
|
`;
|
|
6222
6347
|
var SubmitButton = styled23.button`
|
|
6223
6348
|
width: 100%;
|
|
6224
|
-
padding:
|
|
6349
|
+
padding: 0.85rem;
|
|
6225
6350
|
background-color: var(--color-accent, #e6c656);
|
|
6226
6351
|
border: none;
|
|
6227
6352
|
border-radius: var(--border-radius, 8px);
|
|
@@ -6268,13 +6393,14 @@ var OnboardingStepContainer = styled23.div`
|
|
|
6268
6393
|
flex-direction: column;
|
|
6269
6394
|
align-items: center;
|
|
6270
6395
|
text-align: center;
|
|
6271
|
-
padding:
|
|
6396
|
+
padding: 0.25rem 0;
|
|
6397
|
+
gap: 0.5rem;
|
|
6272
6398
|
`;
|
|
6273
6399
|
var OnboardingHeading = styled23.h2`
|
|
6274
|
-
font-size: 1.
|
|
6400
|
+
font-size: 1.2rem;
|
|
6275
6401
|
font-weight: 600;
|
|
6276
6402
|
color: var(--color-text, #eaecef);
|
|
6277
|
-
margin
|
|
6403
|
+
margin: 0;
|
|
6278
6404
|
`;
|
|
6279
6405
|
var OnboardingSubtext = styled23.p`
|
|
6280
6406
|
font-size: 0.95rem;
|
|
@@ -6290,7 +6416,7 @@ var OnboardingButtonGroup = styled23.div`
|
|
|
6290
6416
|
`;
|
|
6291
6417
|
var OnboardingSkipButton = styled23.button`
|
|
6292
6418
|
width: 100%;
|
|
6293
|
-
padding: 0.
|
|
6419
|
+
padding: 0.75rem 0.9rem;
|
|
6294
6420
|
background-color: rgba(255, 255, 255, 0.05);
|
|
6295
6421
|
border: none;
|
|
6296
6422
|
border-radius: var(--border-radius, 8px);
|
|
@@ -6327,22 +6453,22 @@ var KycFailedIcon = styled23.div`
|
|
|
6327
6453
|
`;
|
|
6328
6454
|
var FundingCard = styled23.div`
|
|
6329
6455
|
width: 100%;
|
|
6330
|
-
border-radius:
|
|
6456
|
+
border-radius: 14px;
|
|
6331
6457
|
background-color: var(--color-background-light, #14151e);
|
|
6332
|
-
padding:
|
|
6458
|
+
padding: 1rem;
|
|
6333
6459
|
text-align: left;
|
|
6334
|
-
box-shadow: 0
|
|
6460
|
+
box-shadow: 0 18px 60px rgba(0, 0, 0, 0.4);
|
|
6335
6461
|
`;
|
|
6336
6462
|
var FundingCardLabel = styled23.p`
|
|
6337
|
-
font-size:
|
|
6463
|
+
font-size: 0.9rem;
|
|
6338
6464
|
color: var(--color-text, #eaecef);
|
|
6339
|
-
margin-bottom:
|
|
6465
|
+
margin-bottom: 0.5rem;
|
|
6340
6466
|
`;
|
|
6341
6467
|
var FundingInputWrapper = styled23.div`
|
|
6342
|
-
border-radius:
|
|
6343
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
6468
|
+
border-radius: 12px;
|
|
6469
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
6344
6470
|
background-color: var(--color-background, #0d0e14);
|
|
6345
|
-
padding:
|
|
6471
|
+
padding: 0.75rem 0.85rem;
|
|
6346
6472
|
`;
|
|
6347
6473
|
var FundingCurrencyLabel = styled23.label`
|
|
6348
6474
|
display: block;
|
|
@@ -6356,10 +6482,10 @@ var FundingAmountInput = styled23.input`
|
|
|
6356
6482
|
background: transparent;
|
|
6357
6483
|
border: none;
|
|
6358
6484
|
outline: none;
|
|
6359
|
-
font-size:
|
|
6485
|
+
font-size: 1.7rem;
|
|
6360
6486
|
font-weight: 400;
|
|
6361
6487
|
color: var(--color-text, #eaecef);
|
|
6362
|
-
margin-top: 0.
|
|
6488
|
+
margin-top: 0.4rem;
|
|
6363
6489
|
font-family: "Geist Mono", "Space Grotesk", monospace;
|
|
6364
6490
|
font-variant-numeric: slashed-zero;
|
|
6365
6491
|
|
|
@@ -6367,6 +6493,79 @@ var FundingAmountInput = styled23.input`
|
|
|
6367
6493
|
color: rgba(255, 255, 255, 0.4);
|
|
6368
6494
|
}
|
|
6369
6495
|
`;
|
|
6496
|
+
var FundingOptionsGrid = styled23.div`
|
|
6497
|
+
display: grid;
|
|
6498
|
+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
6499
|
+
gap: 0.6rem;
|
|
6500
|
+
margin-top: 0.75rem;
|
|
6501
|
+
`;
|
|
6502
|
+
var FundingOptionCard = styled23.div`
|
|
6503
|
+
background-color: rgba(255, 255, 255, 0.03);
|
|
6504
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
6505
|
+
border-radius: 12px;
|
|
6506
|
+
padding: 0.85rem;
|
|
6507
|
+
display: flex;
|
|
6508
|
+
flex-direction: column;
|
|
6509
|
+
gap: 0.4rem;
|
|
6510
|
+
`;
|
|
6511
|
+
var FundingOptionHeading = styled23.h4`
|
|
6512
|
+
margin: 0;
|
|
6513
|
+
font-size: 0.9rem;
|
|
6514
|
+
color: var(--color-text, #eaecef);
|
|
6515
|
+
`;
|
|
6516
|
+
var FundingOptionSubtext = styled23.p`
|
|
6517
|
+
margin: 0;
|
|
6518
|
+
font-size: 0.75rem;
|
|
6519
|
+
line-height: 1.3;
|
|
6520
|
+
color: var(--color-text-secondary, #848e9c);
|
|
6521
|
+
flex: 1;
|
|
6522
|
+
`;
|
|
6523
|
+
var FundingPopupContainer = styled23.div`
|
|
6524
|
+
background-color: var(--color-background, #0a0a0a);
|
|
6525
|
+
border: 1px solid rgba(230, 198, 86, 0.3);
|
|
6526
|
+
border-radius: var(--border-radius, 12px);
|
|
6527
|
+
padding: ${(props) => props.$hasWidget ? "0" : "2.5rem"};
|
|
6528
|
+
max-width: ${(props) => props.$hasWidget ? "900px" : "440px"};
|
|
6529
|
+
width: 90%;
|
|
6530
|
+
position: relative;
|
|
6531
|
+
animation: slideUp 0.3s ease-out;
|
|
6532
|
+
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
|
|
6533
|
+
overflow: hidden;
|
|
6534
|
+
|
|
6535
|
+
@keyframes slideUp {
|
|
6536
|
+
from {
|
|
6537
|
+
transform: translateY(20px);
|
|
6538
|
+
opacity: 0;
|
|
6539
|
+
}
|
|
6540
|
+
to {
|
|
6541
|
+
transform: translateY(0);
|
|
6542
|
+
opacity: 1;
|
|
6543
|
+
}
|
|
6544
|
+
}
|
|
6545
|
+
|
|
6546
|
+
@media (max-width: 768px) {
|
|
6547
|
+
padding: ${(props) => props.$hasWidget ? "0" : "2rem"};
|
|
6548
|
+
max-width: 95%;
|
|
6549
|
+
}
|
|
6550
|
+
`;
|
|
6551
|
+
var TransakWidgetContainer = styled23.div`
|
|
6552
|
+
width: 100%;
|
|
6553
|
+
height: 700px;
|
|
6554
|
+
display: flex;
|
|
6555
|
+
flex-direction: column;
|
|
6556
|
+
border-radius: var(--border-radius, 12px);
|
|
6557
|
+
overflow: hidden;
|
|
6558
|
+
|
|
6559
|
+
@media (max-width: 768px) {
|
|
6560
|
+
height: 600px;
|
|
6561
|
+
}
|
|
6562
|
+
`;
|
|
6563
|
+
var TransakIframe = styled23.iframe`
|
|
6564
|
+
width: 100%;
|
|
6565
|
+
height: 100%;
|
|
6566
|
+
border: none;
|
|
6567
|
+
border-radius: var(--border-radius, 12px);
|
|
6568
|
+
`;
|
|
6370
6569
|
var MiniLiveFeed = () => {
|
|
6371
6570
|
const [purchases, setPurchases] = useState([]);
|
|
6372
6571
|
useEffect(() => {
|
|
@@ -10395,8 +10594,7 @@ function PropertyBuy({
|
|
|
10395
10594
|
setLastOrderDetails({
|
|
10396
10595
|
tokens: tokenAmountInt,
|
|
10397
10596
|
total: orderTotal,
|
|
10398
|
-
price: tokenPrice
|
|
10399
|
-
orderNumber: Math.floor(1e7 + Math.random() * 9e7)
|
|
10597
|
+
price: tokenPrice
|
|
10400
10598
|
});
|
|
10401
10599
|
setOrderPlacedSuccess(true);
|
|
10402
10600
|
setSliderValue(0);
|