@loafmarkets/ui 0.1.85 → 0.1.86
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 +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +280 -61
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +280 -61
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2664,7 +2664,7 @@ var PropertyTour = React5.forwardRef(
|
|
|
2664
2664
|
}
|
|
2665
2665
|
);
|
|
2666
2666
|
PropertyTour.displayName = "PropertyTour";
|
|
2667
|
-
var ITEMS_PER_PAGE =
|
|
2667
|
+
var ITEMS_PER_PAGE = 5;
|
|
2668
2668
|
var ensureAnimationsInjected = () => {
|
|
2669
2669
|
if (typeof document === "undefined") return;
|
|
2670
2670
|
if (document.getElementById("property-news-updates-animations")) return;
|
|
@@ -2912,10 +2912,10 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
2912
2912
|
children: [
|
|
2913
2913
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2914
2914
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
|
|
2915
|
-
isHomeVariant && /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "
|
|
2915
|
+
isHomeVariant && /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", style: { color: "var(--color-text, #fff)", flexShrink: 0, display: "block" }, children: /* @__PURE__ */ jsx("path", { d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-5 14H4v-4h11v4zm0-5H4V9h11v4zm5 5h-4V9h4v9z" }) }),
|
|
2916
2916
|
isPurchaseVariant && /* @__PURE__ */ jsx("span", { style: { display: "inline-block", width: "8px", height: "8px", borderRadius: "50%", backgroundColor: "#0ecb81", boxShadow: "0 0 8px rgba(14,203,129,0.8)", animation: "propertyNewsPulse 1.5s infinite" } }),
|
|
2917
2917
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
2918
|
-
/* @__PURE__ */ jsx("p", { className: isHomeVariant ? "text-base font-semibold text-white" : "text-lg font-semibold text-white", children: resolvedHeading }),
|
|
2918
|
+
/* @__PURE__ */ jsx("p", { className: isHomeVariant ? "text-base font-semibold text-white" : "text-lg font-semibold text-white", style: { margin: 0 }, children: resolvedHeading }),
|
|
2919
2919
|
subheading ? /* @__PURE__ */ jsx("p", { className: "text-sm text-white/60", children: subheading }) : null
|
|
2920
2920
|
] })
|
|
2921
2921
|
] }),
|
|
@@ -2930,7 +2930,7 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
2930
2930
|
"LIVE"
|
|
2931
2931
|
] }) : null
|
|
2932
2932
|
] }),
|
|
2933
|
-
isHomeVariant && /* @__PURE__ */ jsx("div", { style: { display: "flex", gap:
|
|
2933
|
+
isHomeVariant && /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: "1.5rem", marginTop: "0.75rem", marginBottom: "0.5rem", borderBottom: "1px solid rgba(255, 255, 255, 0.08)", paddingBottom: "0.5rem" }, children: ["all", "property", "market"].map((tab) => /* @__PURE__ */ jsx(
|
|
2934
2934
|
"button",
|
|
2935
2935
|
{
|
|
2936
2936
|
type: "button",
|
|
@@ -2939,7 +2939,8 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
2939
2939
|
background: "transparent",
|
|
2940
2940
|
border: "none",
|
|
2941
2941
|
borderBottom: homeTab === tab ? "2px solid var(--color-accent, #f0b90b)" : "2px solid transparent",
|
|
2942
|
-
padding: "0.5rem 0
|
|
2942
|
+
padding: "0 0 0.5rem 0",
|
|
2943
|
+
marginBottom: "-1px",
|
|
2943
2944
|
fontSize: "0.75rem",
|
|
2944
2945
|
fontWeight: homeTab === tab ? 600 : 400,
|
|
2945
2946
|
color: homeTab === tab ? "var(--color-text, #fff)" : "var(--color-text-secondary, #848e9c)",
|
|
@@ -2953,7 +2954,7 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
2953
2954
|
/* @__PURE__ */ jsx(
|
|
2954
2955
|
"div",
|
|
2955
2956
|
{
|
|
2956
|
-
className: "
|
|
2957
|
+
className: cn("flex flex-1 flex-col overflow-hidden", isHomeVariant ? "mt-2 gap-0" : "mt-4 gap-3"),
|
|
2957
2958
|
style: !isPurchaseVariant && !isHomeVariant ? { minHeight: `${ITEMS_PER_PAGE * 86}px` } : void 0,
|
|
2958
2959
|
children: isPurchaseVariant ? purchaseItems.length > 0 ? purchaseItems.slice(0, 7).map((purchase, index) => {
|
|
2959
2960
|
const maxAmount = 6e4;
|
|
@@ -2992,7 +2993,7 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
2992
2993
|
style: {
|
|
2993
2994
|
width: "100%",
|
|
2994
2995
|
textAlign: "left",
|
|
2995
|
-
|
|
2996
|
+
backgroundColor: "transparent",
|
|
2996
2997
|
border: "none",
|
|
2997
2998
|
cursor: "pointer",
|
|
2998
2999
|
padding: "0.75rem 0",
|
|
@@ -3001,11 +3002,22 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
3001
3002
|
justifyContent: "space-between",
|
|
3002
3003
|
alignItems: "flex-start",
|
|
3003
3004
|
gap: "0.5rem",
|
|
3004
|
-
color: "inherit"
|
|
3005
|
+
color: "inherit",
|
|
3006
|
+
transition: "background-color 0.15s"
|
|
3007
|
+
},
|
|
3008
|
+
onMouseEnter: (e) => {
|
|
3009
|
+
e.currentTarget.style.backgroundColor = "rgba(255,255,255,0.04)";
|
|
3010
|
+
const title = e.currentTarget.querySelector("h3");
|
|
3011
|
+
if (title) title.style.color = "var(--color-accent, #E6C87E)";
|
|
3012
|
+
},
|
|
3013
|
+
onMouseLeave: (e) => {
|
|
3014
|
+
e.currentTarget.style.backgroundColor = "transparent";
|
|
3015
|
+
const title = e.currentTarget.querySelector("h3");
|
|
3016
|
+
if (title) title.style.color = "#f8f9fa";
|
|
3005
3017
|
},
|
|
3006
3018
|
children: [
|
|
3007
3019
|
/* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [
|
|
3008
|
-
/* @__PURE__ */ jsx("h3", { style: { fontSize: "0.85rem", fontWeight: 400, marginBottom: "0.25rem", color: "#f8f9fa", lineHeight: 1.4 }, children: item.title }),
|
|
3020
|
+
/* @__PURE__ */ jsx("h3", { style: { fontSize: "0.85rem", fontWeight: 400, marginBottom: "0.25rem", color: "#f8f9fa", lineHeight: 1.4, transition: "color 0.15s" }, children: item.title }),
|
|
3009
3021
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "0.5rem", alignItems: "center", flexWrap: "wrap" }, children: [
|
|
3010
3022
|
/* @__PURE__ */ jsx("span", { style: { color: "#848e9c", fontSize: "0.7rem" }, children: typeof item.date === "string" ? item.date : formatDate(item.date) }),
|
|
3011
3023
|
item.source && /* @__PURE__ */ jsx("span", { style: { padding: "0.1rem 0.4rem", borderRadius: "3px", fontSize: "0.62rem", fontWeight: 500, backgroundColor: "rgba(255,255,255,0.07)", color: "#848e9c", whiteSpace: "nowrap" }, children: item.source }),
|
|
@@ -3095,8 +3107,8 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
3095
3107
|
type: "button",
|
|
3096
3108
|
onClick: () => setHomePage((p) => Math.max(0, p - 1)),
|
|
3097
3109
|
disabled: homePage === 0,
|
|
3098
|
-
style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "
|
|
3099
|
-
children: "
|
|
3110
|
+
style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "50%", width: "28px", height: "28px", display: "flex", alignItems: "center", justifyContent: "center", padding: 0, cursor: homePage === 0 ? "not-allowed" : "pointer", opacity: homePage === 0 ? 0.4 : 1, color: "rgba(255,255,255,0.6)" },
|
|
3111
|
+
children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" }) })
|
|
3100
3112
|
}
|
|
3101
3113
|
),
|
|
3102
3114
|
/* @__PURE__ */ jsxs("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.5)" }, children: [
|
|
@@ -3110,8 +3122,8 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
3110
3122
|
type: "button",
|
|
3111
3123
|
onClick: () => setHomePage((p) => Math.min(homeTotalPages - 1, p + 1)),
|
|
3112
3124
|
disabled: homePage >= homeTotalPages - 1,
|
|
3113
|
-
style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "
|
|
3114
|
-
children: "
|
|
3125
|
+
style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "50%", width: "28px", height: "28px", display: "flex", alignItems: "center", justifyContent: "center", padding: 0, cursor: homePage >= homeTotalPages - 1 ? "not-allowed" : "pointer", opacity: homePage >= homeTotalPages - 1 ? 0.4 : 1, color: "rgba(255,255,255,0.6)" },
|
|
3126
|
+
children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) })
|
|
3115
3127
|
}
|
|
3116
3128
|
)
|
|
3117
3129
|
] }),
|
|
@@ -3122,8 +3134,9 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
3122
3134
|
type: "button",
|
|
3123
3135
|
onClick: () => setPage((p) => Math.max(0, p - 1)),
|
|
3124
3136
|
disabled: page === 0,
|
|
3125
|
-
className: cn("rounded-full border border-white/15
|
|
3126
|
-
|
|
3137
|
+
className: cn("rounded-full border border-white/15 flex items-center justify-center", page === 0 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
|
|
3138
|
+
style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
|
|
3139
|
+
children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" }) })
|
|
3127
3140
|
}
|
|
3128
3141
|
),
|
|
3129
3142
|
/* @__PURE__ */ jsxs("span", { className: "font-medium text-white/70", children: [
|
|
@@ -3138,8 +3151,9 @@ var PropertyNewsUpdates = React5.forwardRef(
|
|
|
3138
3151
|
type: "button",
|
|
3139
3152
|
onClick: () => setPage((p) => Math.min(totalPages - 1, p + 1)),
|
|
3140
3153
|
disabled: page >= totalPages - 1,
|
|
3141
|
-
className: cn("rounded-full border border-white/15
|
|
3142
|
-
|
|
3154
|
+
className: cn("rounded-full border border-white/15 flex items-center justify-center", page >= totalPages - 1 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
|
|
3155
|
+
style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
|
|
3156
|
+
children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) })
|
|
3143
3157
|
}
|
|
3144
3158
|
)
|
|
3145
3159
|
] }),
|
|
@@ -5648,8 +5662,19 @@ var HeaderContainer = styled25.header`
|
|
|
5648
5662
|
box-sizing: border-box;
|
|
5649
5663
|
|
|
5650
5664
|
@media (max-width: 768px) {
|
|
5651
|
-
|
|
5652
|
-
|
|
5665
|
+
top: 0.5rem;
|
|
5666
|
+
left: 0.75rem;
|
|
5667
|
+
right: 0.75rem;
|
|
5668
|
+
width: calc(100% - 1.5rem);
|
|
5669
|
+
height: 46px;
|
|
5670
|
+
min-height: 46px;
|
|
5671
|
+
padding: 0 0.75rem;
|
|
5672
|
+
border-radius: 12px;
|
|
5673
|
+
background-color: rgba(13, 17, 23, 0.92);
|
|
5674
|
+
backdrop-filter: blur(12px);
|
|
5675
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
5676
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
|
|
5677
|
+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
|
5653
5678
|
}
|
|
5654
5679
|
`;
|
|
5655
5680
|
var HeaderSpacer = styled25.div`
|
|
@@ -5657,6 +5682,10 @@ var HeaderSpacer = styled25.div`
|
|
|
5657
5682
|
min-height: 56px;
|
|
5658
5683
|
min-height: calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)));
|
|
5659
5684
|
flex-shrink: 0;
|
|
5685
|
+
|
|
5686
|
+
@media (max-width: 768px) {
|
|
5687
|
+
min-height: calc(46px + 0.5rem);
|
|
5688
|
+
}
|
|
5660
5689
|
`;
|
|
5661
5690
|
var Logo = styled25.div`
|
|
5662
5691
|
display: flex;
|
|
@@ -6667,7 +6696,7 @@ var LoginPopup = ({
|
|
|
6667
6696
|
] }) });
|
|
6668
6697
|
}
|
|
6669
6698
|
if (view === "funding") {
|
|
6670
|
-
return /* @__PURE__ */ jsx(Overlay2, {
|
|
6699
|
+
return /* @__PURE__ */ jsx(Overlay2, { children: /* @__PURE__ */ jsxs(
|
|
6671
6700
|
FundingPopupContainer,
|
|
6672
6701
|
{
|
|
6673
6702
|
onClick: (event) => event.stopPropagation(),
|
|
@@ -6737,6 +6766,16 @@ var Overlay2 = styled25.div`
|
|
|
6737
6766
|
justify-content: center;
|
|
6738
6767
|
align-items: center;
|
|
6739
6768
|
z-index: 10000;
|
|
6769
|
+
animation: fadeIn 0.2s ease-in-out;
|
|
6770
|
+
|
|
6771
|
+
@keyframes fadeIn {
|
|
6772
|
+
from {
|
|
6773
|
+
opacity: 0;
|
|
6774
|
+
}
|
|
6775
|
+
to {
|
|
6776
|
+
opacity: 1;
|
|
6777
|
+
}
|
|
6778
|
+
}
|
|
6740
6779
|
`;
|
|
6741
6780
|
var PopupContainer = styled25.div`
|
|
6742
6781
|
background-color: var(--color-background, #0a0a0a);
|
|
@@ -6746,8 +6785,20 @@ var PopupContainer = styled25.div`
|
|
|
6746
6785
|
max-width: 440px;
|
|
6747
6786
|
width: 90%;
|
|
6748
6787
|
position: relative;
|
|
6788
|
+
animation: slideUp 0.3s ease-out;
|
|
6749
6789
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
|
|
6750
6790
|
|
|
6791
|
+
@keyframes slideUp {
|
|
6792
|
+
from {
|
|
6793
|
+
transform: translateY(20px);
|
|
6794
|
+
opacity: 0;
|
|
6795
|
+
}
|
|
6796
|
+
to {
|
|
6797
|
+
transform: translateY(0);
|
|
6798
|
+
opacity: 1;
|
|
6799
|
+
}
|
|
6800
|
+
}
|
|
6801
|
+
|
|
6751
6802
|
@media (max-width: 768px) {
|
|
6752
6803
|
padding: 2rem;
|
|
6753
6804
|
max-width: 90%;
|
|
@@ -6761,9 +6812,21 @@ var KycPopupContainer = styled25.div`
|
|
|
6761
6812
|
max-width: ${(props) => props.$expanded ? "680px" : "440px"};
|
|
6762
6813
|
width: 90%;
|
|
6763
6814
|
position: relative;
|
|
6815
|
+
animation: slideUp 0.3s ease-out;
|
|
6764
6816
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
|
|
6765
6817
|
transition: max-width 0.3s ease;
|
|
6766
6818
|
|
|
6819
|
+
@keyframes slideUp {
|
|
6820
|
+
from {
|
|
6821
|
+
transform: translateY(20px);
|
|
6822
|
+
opacity: 0;
|
|
6823
|
+
}
|
|
6824
|
+
to {
|
|
6825
|
+
transform: translateY(0);
|
|
6826
|
+
opacity: 1;
|
|
6827
|
+
}
|
|
6828
|
+
}
|
|
6829
|
+
|
|
6767
6830
|
@media (max-width: 768px) {
|
|
6768
6831
|
padding: 1.5rem;
|
|
6769
6832
|
max-width: 95%;
|
|
@@ -7091,9 +7154,21 @@ var FundingPopupContainer = styled25.div`
|
|
|
7091
7154
|
max-width: ${(props) => props.$hasWidget ? "900px" : "440px"};
|
|
7092
7155
|
width: 90%;
|
|
7093
7156
|
position: relative;
|
|
7157
|
+
animation: slideUp 0.3s ease-out;
|
|
7094
7158
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
|
|
7095
7159
|
overflow: hidden;
|
|
7096
7160
|
|
|
7161
|
+
@keyframes slideUp {
|
|
7162
|
+
from {
|
|
7163
|
+
transform: translateY(20px);
|
|
7164
|
+
opacity: 0;
|
|
7165
|
+
}
|
|
7166
|
+
to {
|
|
7167
|
+
transform: translateY(0);
|
|
7168
|
+
opacity: 1;
|
|
7169
|
+
}
|
|
7170
|
+
}
|
|
7171
|
+
|
|
7097
7172
|
@media (max-width: 768px) {
|
|
7098
7173
|
padding: ${(props) => props.$hasWidget ? "0" : "2rem"};
|
|
7099
7174
|
max-width: 95%;
|
|
@@ -9598,6 +9673,7 @@ function OfferingProgressCard({
|
|
|
9598
9673
|
raisedAmount,
|
|
9599
9674
|
targetAmount,
|
|
9600
9675
|
isPrivateClient = false,
|
|
9676
|
+
variant = "default",
|
|
9601
9677
|
style,
|
|
9602
9678
|
className
|
|
9603
9679
|
}) {
|
|
@@ -9629,6 +9705,108 @@ function OfferingProgressCard({
|
|
|
9629
9705
|
const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
|
|
9630
9706
|
return () => clearInterval(interval);
|
|
9631
9707
|
}, [opensAt]);
|
|
9708
|
+
if (variant === "compact") {
|
|
9709
|
+
return /* @__PURE__ */ jsxs(CompactContainer, { style, className, children: [
|
|
9710
|
+
/* @__PURE__ */ jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
|
|
9711
|
+
/* @__PURE__ */ jsxs(ProgressInfo, { children: [
|
|
9712
|
+
/* @__PURE__ */ jsxs(ProgressSubscribers, { children: [
|
|
9713
|
+
"Subscribers: ",
|
|
9714
|
+
subscriberCount.toLocaleString()
|
|
9715
|
+
] }),
|
|
9716
|
+
/* @__PURE__ */ jsxs(ProgressAmounts, { children: [
|
|
9717
|
+
/* @__PURE__ */ jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
|
|
9718
|
+
/* @__PURE__ */ jsxs("span", { className: "target", children: [
|
|
9719
|
+
" / ",
|
|
9720
|
+
formatCurrency3(computedTarget)
|
|
9721
|
+
] })
|
|
9722
|
+
] })
|
|
9723
|
+
] })
|
|
9724
|
+
] });
|
|
9725
|
+
}
|
|
9726
|
+
if (variant === "home") {
|
|
9727
|
+
const isPreLive = !ipoStarted && ipoStatus !== "CLOSED" && ipoStatus !== "CANCELLED";
|
|
9728
|
+
return /* @__PURE__ */ jsxs(Container, { style, className, children: [
|
|
9729
|
+
/* @__PURE__ */ jsxs(Header2, { children: [
|
|
9730
|
+
/* @__PURE__ */ jsxs("h3", { children: [
|
|
9731
|
+
/* @__PURE__ */ jsx(FaChartLine, {}),
|
|
9732
|
+
" Offering Progress"
|
|
9733
|
+
] }),
|
|
9734
|
+
/* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "center", gap: "0.4rem" }, children: ipoStarted ? /* @__PURE__ */ jsxs(StatusSpan, { $color: "#0ecb81", children: [
|
|
9735
|
+
/* @__PURE__ */ jsx(StatusDot, { $color: "#0ecb81", $pulse: true }),
|
|
9736
|
+
"LIVE"
|
|
9737
|
+
] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
|
|
9738
|
+
/* @__PURE__ */ jsx(StatusDot, { $color: statusColor || "#D4AF37" }),
|
|
9739
|
+
statusLabel || "Preparing"
|
|
9740
|
+
] }) })
|
|
9741
|
+
] }),
|
|
9742
|
+
isPreLive ? /* @__PURE__ */ jsxs(HomePreLiveRow, { children: [
|
|
9743
|
+
countdown ? /* @__PURE__ */ jsxs(HomeCountdownSide, { children: [
|
|
9744
|
+
/* @__PURE__ */ jsx(CountdownLabel, { children: "Opens In" }),
|
|
9745
|
+
/* @__PURE__ */ jsxs(CountdownDigits, { children: [
|
|
9746
|
+
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.days).padStart(2, "0") }),
|
|
9747
|
+
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "D" }),
|
|
9748
|
+
/* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
|
|
9749
|
+
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.hours).padStart(2, "0") }),
|
|
9750
|
+
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "H" }),
|
|
9751
|
+
/* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
|
|
9752
|
+
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.minutes).padStart(2, "0") }),
|
|
9753
|
+
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "M" }),
|
|
9754
|
+
/* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
|
|
9755
|
+
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.seconds).padStart(2, "0") }),
|
|
9756
|
+
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "S" })
|
|
9757
|
+
] })
|
|
9758
|
+
] }) : /* @__PURE__ */ jsx(HomeCountdownSide, { children: /* @__PURE__ */ jsx(PreLiveStatus, { $statusColor: statusColor, children: "Sale Not Yet Open" }) }),
|
|
9759
|
+
/* @__PURE__ */ jsxs(HomeUnitsSide, { children: [
|
|
9760
|
+
/* @__PURE__ */ jsx(HomeUnitsLabel, { children: "Units Subscribed" }),
|
|
9761
|
+
/* @__PURE__ */ jsxs(HomeUnitsValue, { children: [
|
|
9762
|
+
/* @__PURE__ */ jsx(HomeSpinner, {}),
|
|
9763
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
9764
|
+
" / ",
|
|
9765
|
+
supplyToSell.toLocaleString()
|
|
9766
|
+
] })
|
|
9767
|
+
] })
|
|
9768
|
+
] })
|
|
9769
|
+
] }) : /* @__PURE__ */ jsxs(LiveBody, { children: [
|
|
9770
|
+
/* @__PURE__ */ jsxs(LiveTopRow, { children: [
|
|
9771
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
9772
|
+
/* @__PURE__ */ jsxs(LiveLabel, { children: [
|
|
9773
|
+
"Offering Subscribed ",
|
|
9774
|
+
/* @__PURE__ */ jsx("span", { children: "\u24D8" })
|
|
9775
|
+
] }),
|
|
9776
|
+
/* @__PURE__ */ jsxs(LivePercent, { children: [
|
|
9777
|
+
percentSold.toFixed(1),
|
|
9778
|
+
"%",
|
|
9779
|
+
/* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
|
|
9780
|
+
] })
|
|
9781
|
+
] }),
|
|
9782
|
+
/* @__PURE__ */ jsxs("div", { style: { textAlign: "right" }, children: [
|
|
9783
|
+
/* @__PURE__ */ jsx(LiveLabel, { children: "Units Subscribed" }),
|
|
9784
|
+
/* @__PURE__ */ jsxs(UnitsValue, { children: [
|
|
9785
|
+
/* @__PURE__ */ jsx("span", { children: totalSold.toLocaleString() }),
|
|
9786
|
+
/* @__PURE__ */ jsxs("small", { children: [
|
|
9787
|
+
"/ ",
|
|
9788
|
+
supplyToSell.toLocaleString()
|
|
9789
|
+
] })
|
|
9790
|
+
] })
|
|
9791
|
+
] })
|
|
9792
|
+
] }),
|
|
9793
|
+
/* @__PURE__ */ jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
|
|
9794
|
+
/* @__PURE__ */ jsxs(ProgressInfo, { children: [
|
|
9795
|
+
/* @__PURE__ */ jsxs(ProgressSubscribers, { children: [
|
|
9796
|
+
"Subscribers: ",
|
|
9797
|
+
subscriberCount.toLocaleString()
|
|
9798
|
+
] }),
|
|
9799
|
+
/* @__PURE__ */ jsxs(ProgressAmounts, { children: [
|
|
9800
|
+
/* @__PURE__ */ jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
|
|
9801
|
+
/* @__PURE__ */ jsxs("span", { className: "target", children: [
|
|
9802
|
+
" / ",
|
|
9803
|
+
formatCurrency3(computedTarget)
|
|
9804
|
+
] })
|
|
9805
|
+
] })
|
|
9806
|
+
] })
|
|
9807
|
+
] })
|
|
9808
|
+
] });
|
|
9809
|
+
}
|
|
9632
9810
|
return /* @__PURE__ */ jsxs(Container, { style, className, children: [
|
|
9633
9811
|
/* @__PURE__ */ jsxs(Header2, { children: [
|
|
9634
9812
|
/* @__PURE__ */ jsxs("h3", { children: [
|
|
@@ -9697,7 +9875,7 @@ function OfferingProgressCard({
|
|
|
9697
9875
|
/* @__PURE__ */ jsx("span", { children: "\u24D8" })
|
|
9698
9876
|
] }),
|
|
9699
9877
|
/* @__PURE__ */ jsxs(LivePercent, { children: [
|
|
9700
|
-
percentSold
|
|
9878
|
+
percentSold.toFixed(1),
|
|
9701
9879
|
"%",
|
|
9702
9880
|
/* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
|
|
9703
9881
|
] })
|
|
@@ -9930,6 +10108,59 @@ var ProgressAmounts = styled25.div`
|
|
|
9930
10108
|
.raised { color: #D4AF37; }
|
|
9931
10109
|
.target { color: rgba(255,255,255,0.3); }
|
|
9932
10110
|
`;
|
|
10111
|
+
var CompactContainer = styled25.div`
|
|
10112
|
+
width: 100%;
|
|
10113
|
+
margin: 1.5rem 0;
|
|
10114
|
+
display: flex;
|
|
10115
|
+
flex-direction: column;
|
|
10116
|
+
gap: 0.5rem;
|
|
10117
|
+
`;
|
|
10118
|
+
var HomePreLiveRow = styled25.div`
|
|
10119
|
+
display: flex;
|
|
10120
|
+
align-items: center;
|
|
10121
|
+
justify-content: space-between;
|
|
10122
|
+
padding-top: 1rem;
|
|
10123
|
+
`;
|
|
10124
|
+
var HomeCountdownSide = styled25.div`
|
|
10125
|
+
display: flex;
|
|
10126
|
+
flex-direction: column;
|
|
10127
|
+
align-items: center;
|
|
10128
|
+
flex: 1;
|
|
10129
|
+
`;
|
|
10130
|
+
var HomeUnitsSide = styled25.div`
|
|
10131
|
+
text-align: center;
|
|
10132
|
+
flex-shrink: 0;
|
|
10133
|
+
`;
|
|
10134
|
+
var HomeUnitsLabel = styled25.div`
|
|
10135
|
+
font-size: 0.6rem;
|
|
10136
|
+
color: var(--color-text-secondary);
|
|
10137
|
+
text-transform: uppercase;
|
|
10138
|
+
letter-spacing: 0.1em;
|
|
10139
|
+
margin-bottom: 0.2rem;
|
|
10140
|
+
`;
|
|
10141
|
+
var HomeUnitsValue = styled25.div`
|
|
10142
|
+
font-size: 1.1rem;
|
|
10143
|
+
font-weight: 700;
|
|
10144
|
+
font-family: monospace;
|
|
10145
|
+
span {
|
|
10146
|
+
color: var(--color-text-secondary);
|
|
10147
|
+
font-weight: 400;
|
|
10148
|
+
}
|
|
10149
|
+
`;
|
|
10150
|
+
var HomeSpinner = styled25.span`
|
|
10151
|
+
display: inline-block;
|
|
10152
|
+
width: 14px;
|
|
10153
|
+
height: 14px;
|
|
10154
|
+
border: 2px solid rgba(255, 255, 255, 0.1);
|
|
10155
|
+
border-top-color: var(--color-accent, #f0b90b);
|
|
10156
|
+
border-radius: 50%;
|
|
10157
|
+
animation: homeSpin 1s linear infinite;
|
|
10158
|
+
vertical-align: middle;
|
|
10159
|
+
margin-right: 0.15rem;
|
|
10160
|
+
@keyframes homeSpin {
|
|
10161
|
+
to { transform: rotate(360deg); }
|
|
10162
|
+
}
|
|
10163
|
+
`;
|
|
9933
10164
|
var MAX_DISPLAY_AMOUNT = 6e4;
|
|
9934
10165
|
var formatCurrency4 = (amount) => {
|
|
9935
10166
|
if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
|
|
@@ -11607,7 +11838,7 @@ function PortfolioActivityPanel({
|
|
|
11607
11838
|
formatTimestamp(trade.executedAt)
|
|
11608
11839
|
] })
|
|
11609
11840
|
] }),
|
|
11610
|
-
|
|
11841
|
+
/* @__PURE__ */ jsx(
|
|
11611
11842
|
ActivityTag,
|
|
11612
11843
|
{
|
|
11613
11844
|
$color: trade.side === "SELL" ? "#f6465d" : "#0ecb81",
|
|
@@ -13686,7 +13917,7 @@ function PropertyValuation({
|
|
|
13686
13917
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
|
|
13687
13918
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
13688
13919
|
/* @__PURE__ */ jsx(PropertyDetailLabel, { children: "Last Price" }),
|
|
13689
|
-
/* @__PURE__ */ jsx(PricingDetailValue, { children:
|
|
13920
|
+
/* @__PURE__ */ jsx(PricingDetailValue, { children: formatCurrency6(lastPrice) })
|
|
13690
13921
|
] }),
|
|
13691
13922
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
13692
13923
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [
|
|
@@ -13697,11 +13928,11 @@ function PropertyValuation({
|
|
|
13697
13928
|
] })
|
|
13698
13929
|
] }),
|
|
13699
13930
|
/* @__PURE__ */ jsxs(PricingDetailValue, { style: { color: "var(--color-accent)", fontWeight: "bold" }, children: [
|
|
13700
|
-
|
|
13931
|
+
formatCurrency6(fairValue),
|
|
13701
13932
|
" ",
|
|
13702
13933
|
/* @__PURE__ */ jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
|
|
13703
13934
|
"(",
|
|
13704
|
-
|
|
13935
|
+
formatCurrency6(fairValue * tokensOutstanding, { maximumFractionDigits: 0 }),
|
|
13705
13936
|
")"
|
|
13706
13937
|
] })
|
|
13707
13938
|
] })
|
|
@@ -13718,7 +13949,7 @@ function PropertyValuation({
|
|
|
13718
13949
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "fairValue", position: 50 }),
|
|
13719
13950
|
/* @__PURE__ */ jsxs(GaugePriceTag, { position: gaugePosition, children: [
|
|
13720
13951
|
/* @__PURE__ */ jsx("span", { children: "Last Price" }),
|
|
13721
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
13952
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency6(lastPrice) })
|
|
13722
13953
|
] }),
|
|
13723
13954
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "lastPrice", position: gaugePosition })
|
|
13724
13955
|
] }),
|
|
@@ -13726,36 +13957,36 @@ function PropertyValuation({
|
|
|
13726
13957
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#4CAF50" }, children: [
|
|
13727
13958
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
13728
13959
|
"< ",
|
|
13729
|
-
|
|
13960
|
+
formatCurrency6(undervaluedThreshold)
|
|
13730
13961
|
] }),
|
|
13731
13962
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13732
13963
|
"(",
|
|
13733
|
-
|
|
13964
|
+
formatMillions(undervaluedThreshold * tokensOutstanding),
|
|
13734
13965
|
")"
|
|
13735
13966
|
] })
|
|
13736
13967
|
] }) }),
|
|
13737
13968
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "var(--color-accent)" }, children: [
|
|
13738
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
13969
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency6(fairValue) }),
|
|
13739
13970
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13740
13971
|
"(",
|
|
13741
|
-
|
|
13972
|
+
formatMillions(fairValue * tokensOutstanding),
|
|
13742
13973
|
")"
|
|
13743
13974
|
] })
|
|
13744
13975
|
] }) }),
|
|
13745
13976
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#F44336" }, children: [
|
|
13746
13977
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
13747
13978
|
"> ",
|
|
13748
|
-
|
|
13979
|
+
formatCurrency6(overvaluedThreshold)
|
|
13749
13980
|
] }),
|
|
13750
13981
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13751
13982
|
"(",
|
|
13752
|
-
|
|
13983
|
+
formatMillions(overvaluedThreshold * tokensOutstanding),
|
|
13753
13984
|
")"
|
|
13754
13985
|
] })
|
|
13755
13986
|
] }) })
|
|
13756
13987
|
] })
|
|
13757
13988
|
] }),
|
|
13758
|
-
/* @__PURE__ */ jsxs(
|
|
13989
|
+
/* @__PURE__ */ jsxs(HiddenMobileChart, { children: [
|
|
13759
13990
|
/* @__PURE__ */ jsx("h3", { style: { marginBottom: "1rem", fontSize: "1.1rem", color: "#fff" }, children: "Historical Valuation" }),
|
|
13760
13991
|
/* @__PURE__ */ jsx(ChartContainer, { children: /* @__PURE__ */ jsxs(ChartBackground, { children: [
|
|
13761
13992
|
axisLabels.map((label, index) => /* @__PURE__ */ jsx(YAxisLabel, { style: { top: `${10 + index * 22}%` }, children: label }, `${label}-${index}`)),
|
|
@@ -13874,7 +14105,15 @@ function PropertyValuation({
|
|
|
13874
14105
|
] })
|
|
13875
14106
|
] }) })
|
|
13876
14107
|
] })
|
|
13877
|
-
] })
|
|
14108
|
+
] }),
|
|
14109
|
+
/* @__PURE__ */ jsx("h3", { className: "desktop-only-historical-chart", style: { marginBottom: "1rem", fontSize: "1.1rem", color: "#fff" }, children: "Historical Valuation" }),
|
|
14110
|
+
/* @__PURE__ */ jsx(ChartContainer, { className: "desktop-only-historical-chart", children: /* @__PURE__ */ jsxs(ChartBackground, { children: [
|
|
14111
|
+
axisLabels.map((label, index) => /* @__PURE__ */ jsx(YAxisLabel, { style: { top: `${10 + index * 22}%` }, children: label }, `${label}-${index}`)),
|
|
14112
|
+
/* @__PURE__ */ jsxs(ValuationSvg, { viewBox: `0 0 ${CHART_WIDTH} ${CHART_HEIGHT}`, preserveAspectRatio: "none", children: [
|
|
14113
|
+
valuationPath ? /* @__PURE__ */ jsx("path", { d: valuationPath, fill: "none", stroke: "#D4AF37", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", vectorEffect: "non-scaling-stroke" }) : null,
|
|
14114
|
+
fairValuePath ? /* @__PURE__ */ jsx("path", { d: fairValuePath, fill: "none", stroke: "#FFFFFF", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", vectorEffect: "non-scaling-stroke" }) : null
|
|
14115
|
+
] })
|
|
14116
|
+
] }) })
|
|
13878
14117
|
] })
|
|
13879
14118
|
] }),
|
|
13880
14119
|
/* @__PURE__ */ jsxs(RecentSalesSection, { children: [
|
|
@@ -13948,14 +14187,6 @@ function formatMillions(value) {
|
|
|
13948
14187
|
}
|
|
13949
14188
|
return `$${(value / 1e6).toFixed(2)}m`;
|
|
13950
14189
|
}
|
|
13951
|
-
function formatCompact(value) {
|
|
13952
|
-
if (value == null || !Number.isFinite(value)) return "\u2014";
|
|
13953
|
-
const abs = Math.abs(value);
|
|
13954
|
-
if (abs >= 1e9) return `$${(value / 1e9).toFixed(2)}B`;
|
|
13955
|
-
if (abs >= 1e6) return `$${(value / 1e6).toFixed(2)}M`;
|
|
13956
|
-
if (abs >= 1e3) return `$${(value / 1e3).toFixed(1)}K`;
|
|
13957
|
-
return formatCurrency6(value);
|
|
13958
|
-
}
|
|
13959
14190
|
function formatBedroomLabel(bedrooms) {
|
|
13960
14191
|
if (!Number.isFinite(bedrooms)) return "\u2014";
|
|
13961
14192
|
return `${bedrooms} Bed`;
|
|
@@ -14079,6 +14310,12 @@ var GaugePriceTag = styled25.div`
|
|
|
14079
14310
|
color: var(--color-accent);
|
|
14080
14311
|
}
|
|
14081
14312
|
`;
|
|
14313
|
+
var HiddenMobileChart = styled25.div`
|
|
14314
|
+
display: none;
|
|
14315
|
+
@media (max-width: 480px) {
|
|
14316
|
+
display: block;
|
|
14317
|
+
}
|
|
14318
|
+
`;
|
|
14082
14319
|
var ValuationWrapper = styled25.div`
|
|
14083
14320
|
display: flex;
|
|
14084
14321
|
flex-direction: column;
|
|
@@ -14130,10 +14367,9 @@ var PricingModelCard = styled25.div`
|
|
|
14130
14367
|
var PricingModelHeader = styled25.div`
|
|
14131
14368
|
display: flex;
|
|
14132
14369
|
justify-content: space-between;
|
|
14133
|
-
align-items:
|
|
14370
|
+
align-items: center;
|
|
14134
14371
|
margin-bottom: 1.5rem;
|
|
14135
14372
|
gap: 1rem;
|
|
14136
|
-
flex-wrap: wrap;
|
|
14137
14373
|
|
|
14138
14374
|
.valuation-info {
|
|
14139
14375
|
display: flex;
|
|
@@ -14141,7 +14377,6 @@ var PricingModelHeader = styled25.div`
|
|
|
14141
14377
|
gap: 0.25rem;
|
|
14142
14378
|
font-size: 0.85rem;
|
|
14143
14379
|
color: rgba(255, 255, 255, 0.75);
|
|
14144
|
-
flex-shrink: 0;
|
|
14145
14380
|
}
|
|
14146
14381
|
`;
|
|
14147
14382
|
var PricingModelTitle = styled25.h3`
|
|
@@ -14208,31 +14443,15 @@ var ValuationDetails = styled25.div`
|
|
|
14208
14443
|
display: flex;
|
|
14209
14444
|
justify-content: space-between;
|
|
14210
14445
|
margin-top: 1rem;
|
|
14211
|
-
gap: 0.25rem;
|
|
14212
14446
|
`;
|
|
14213
14447
|
var ValuationItem = styled25.div`
|
|
14214
14448
|
display: flex;
|
|
14215
14449
|
flex-direction: column;
|
|
14216
|
-
min-width: 0;
|
|
14217
|
-
overflow: hidden;
|
|
14218
14450
|
`;
|
|
14219
14451
|
var ValuationValue = styled25.div`
|
|
14220
14452
|
font-size: 1rem;
|
|
14221
14453
|
font-weight: 600;
|
|
14222
14454
|
color: #fff;
|
|
14223
|
-
display: flex;
|
|
14224
|
-
flex-direction: column;
|
|
14225
|
-
gap: 2px;
|
|
14226
|
-
overflow-wrap: break-word;
|
|
14227
|
-
word-break: break-word;
|
|
14228
|
-
|
|
14229
|
-
@media (max-width: 480px) {
|
|
14230
|
-
font-size: 0.72rem;
|
|
14231
|
-
|
|
14232
|
-
.valuation-amount-span {
|
|
14233
|
-
display: none;
|
|
14234
|
-
}
|
|
14235
|
-
}
|
|
14236
14455
|
`;
|
|
14237
14456
|
var ChartContainer = styled25.div`
|
|
14238
14457
|
width: 100%;
|