@loafmarkets/ui 0.1.84 → 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 +233 -60
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +233 -60
- 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;
|
|
@@ -9644,6 +9673,7 @@ function OfferingProgressCard({
|
|
|
9644
9673
|
raisedAmount,
|
|
9645
9674
|
targetAmount,
|
|
9646
9675
|
isPrivateClient = false,
|
|
9676
|
+
variant = "default",
|
|
9647
9677
|
style,
|
|
9648
9678
|
className
|
|
9649
9679
|
}) {
|
|
@@ -9675,6 +9705,108 @@ function OfferingProgressCard({
|
|
|
9675
9705
|
const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
|
|
9676
9706
|
return () => clearInterval(interval);
|
|
9677
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
|
+
}
|
|
9678
9810
|
return /* @__PURE__ */ jsxs(Container, { style, className, children: [
|
|
9679
9811
|
/* @__PURE__ */ jsxs(Header2, { children: [
|
|
9680
9812
|
/* @__PURE__ */ jsxs("h3", { children: [
|
|
@@ -9743,7 +9875,7 @@ function OfferingProgressCard({
|
|
|
9743
9875
|
/* @__PURE__ */ jsx("span", { children: "\u24D8" })
|
|
9744
9876
|
] }),
|
|
9745
9877
|
/* @__PURE__ */ jsxs(LivePercent, { children: [
|
|
9746
|
-
percentSold
|
|
9878
|
+
percentSold.toFixed(1),
|
|
9747
9879
|
"%",
|
|
9748
9880
|
/* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
|
|
9749
9881
|
] })
|
|
@@ -9976,6 +10108,59 @@ var ProgressAmounts = styled25.div`
|
|
|
9976
10108
|
.raised { color: #D4AF37; }
|
|
9977
10109
|
.target { color: rgba(255,255,255,0.3); }
|
|
9978
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
|
+
`;
|
|
9979
10164
|
var MAX_DISPLAY_AMOUNT = 6e4;
|
|
9980
10165
|
var formatCurrency4 = (amount) => {
|
|
9981
10166
|
if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
|
|
@@ -11653,7 +11838,7 @@ function PortfolioActivityPanel({
|
|
|
11653
11838
|
formatTimestamp(trade.executedAt)
|
|
11654
11839
|
] })
|
|
11655
11840
|
] }),
|
|
11656
|
-
|
|
11841
|
+
/* @__PURE__ */ jsx(
|
|
11657
11842
|
ActivityTag,
|
|
11658
11843
|
{
|
|
11659
11844
|
$color: trade.side === "SELL" ? "#f6465d" : "#0ecb81",
|
|
@@ -13732,7 +13917,7 @@ function PropertyValuation({
|
|
|
13732
13917
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
|
|
13733
13918
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
13734
13919
|
/* @__PURE__ */ jsx(PropertyDetailLabel, { children: "Last Price" }),
|
|
13735
|
-
/* @__PURE__ */ jsx(PricingDetailValue, { children:
|
|
13920
|
+
/* @__PURE__ */ jsx(PricingDetailValue, { children: formatCurrency6(lastPrice) })
|
|
13736
13921
|
] }),
|
|
13737
13922
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
13738
13923
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [
|
|
@@ -13743,11 +13928,11 @@ function PropertyValuation({
|
|
|
13743
13928
|
] })
|
|
13744
13929
|
] }),
|
|
13745
13930
|
/* @__PURE__ */ jsxs(PricingDetailValue, { style: { color: "var(--color-accent)", fontWeight: "bold" }, children: [
|
|
13746
|
-
|
|
13931
|
+
formatCurrency6(fairValue),
|
|
13747
13932
|
" ",
|
|
13748
13933
|
/* @__PURE__ */ jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
|
|
13749
13934
|
"(",
|
|
13750
|
-
|
|
13935
|
+
formatCurrency6(fairValue * tokensOutstanding, { maximumFractionDigits: 0 }),
|
|
13751
13936
|
")"
|
|
13752
13937
|
] })
|
|
13753
13938
|
] })
|
|
@@ -13764,7 +13949,7 @@ function PropertyValuation({
|
|
|
13764
13949
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "fairValue", position: 50 }),
|
|
13765
13950
|
/* @__PURE__ */ jsxs(GaugePriceTag, { position: gaugePosition, children: [
|
|
13766
13951
|
/* @__PURE__ */ jsx("span", { children: "Last Price" }),
|
|
13767
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
13952
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency6(lastPrice) })
|
|
13768
13953
|
] }),
|
|
13769
13954
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "lastPrice", position: gaugePosition })
|
|
13770
13955
|
] }),
|
|
@@ -13772,36 +13957,36 @@ function PropertyValuation({
|
|
|
13772
13957
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#4CAF50" }, children: [
|
|
13773
13958
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
13774
13959
|
"< ",
|
|
13775
|
-
|
|
13960
|
+
formatCurrency6(undervaluedThreshold)
|
|
13776
13961
|
] }),
|
|
13777
13962
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13778
13963
|
"(",
|
|
13779
|
-
|
|
13964
|
+
formatMillions(undervaluedThreshold * tokensOutstanding),
|
|
13780
13965
|
")"
|
|
13781
13966
|
] })
|
|
13782
13967
|
] }) }),
|
|
13783
13968
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "var(--color-accent)" }, children: [
|
|
13784
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
13969
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency6(fairValue) }),
|
|
13785
13970
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13786
13971
|
"(",
|
|
13787
|
-
|
|
13972
|
+
formatMillions(fairValue * tokensOutstanding),
|
|
13788
13973
|
")"
|
|
13789
13974
|
] })
|
|
13790
13975
|
] }) }),
|
|
13791
13976
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#F44336" }, children: [
|
|
13792
13977
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
13793
13978
|
"> ",
|
|
13794
|
-
|
|
13979
|
+
formatCurrency6(overvaluedThreshold)
|
|
13795
13980
|
] }),
|
|
13796
13981
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13797
13982
|
"(",
|
|
13798
|
-
|
|
13983
|
+
formatMillions(overvaluedThreshold * tokensOutstanding),
|
|
13799
13984
|
")"
|
|
13800
13985
|
] })
|
|
13801
13986
|
] }) })
|
|
13802
13987
|
] })
|
|
13803
13988
|
] }),
|
|
13804
|
-
/* @__PURE__ */ jsxs(
|
|
13989
|
+
/* @__PURE__ */ jsxs(HiddenMobileChart, { children: [
|
|
13805
13990
|
/* @__PURE__ */ jsx("h3", { style: { marginBottom: "1rem", fontSize: "1.1rem", color: "#fff" }, children: "Historical Valuation" }),
|
|
13806
13991
|
/* @__PURE__ */ jsx(ChartContainer, { children: /* @__PURE__ */ jsxs(ChartBackground, { children: [
|
|
13807
13992
|
axisLabels.map((label, index) => /* @__PURE__ */ jsx(YAxisLabel, { style: { top: `${10 + index * 22}%` }, children: label }, `${label}-${index}`)),
|
|
@@ -13920,7 +14105,15 @@ function PropertyValuation({
|
|
|
13920
14105
|
] })
|
|
13921
14106
|
] }) })
|
|
13922
14107
|
] })
|
|
13923
|
-
] })
|
|
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
|
+
] }) })
|
|
13924
14117
|
] })
|
|
13925
14118
|
] }),
|
|
13926
14119
|
/* @__PURE__ */ jsxs(RecentSalesSection, { children: [
|
|
@@ -13994,14 +14187,6 @@ function formatMillions(value) {
|
|
|
13994
14187
|
}
|
|
13995
14188
|
return `$${(value / 1e6).toFixed(2)}m`;
|
|
13996
14189
|
}
|
|
13997
|
-
function formatCompact(value) {
|
|
13998
|
-
if (value == null || !Number.isFinite(value)) return "\u2014";
|
|
13999
|
-
const abs = Math.abs(value);
|
|
14000
|
-
if (abs >= 1e9) return `$${(value / 1e9).toFixed(2)}B`;
|
|
14001
|
-
if (abs >= 1e6) return `$${(value / 1e6).toFixed(2)}M`;
|
|
14002
|
-
if (abs >= 1e3) return `$${(value / 1e3).toFixed(1)}K`;
|
|
14003
|
-
return formatCurrency6(value);
|
|
14004
|
-
}
|
|
14005
14190
|
function formatBedroomLabel(bedrooms) {
|
|
14006
14191
|
if (!Number.isFinite(bedrooms)) return "\u2014";
|
|
14007
14192
|
return `${bedrooms} Bed`;
|
|
@@ -14125,6 +14310,12 @@ var GaugePriceTag = styled25.div`
|
|
|
14125
14310
|
color: var(--color-accent);
|
|
14126
14311
|
}
|
|
14127
14312
|
`;
|
|
14313
|
+
var HiddenMobileChart = styled25.div`
|
|
14314
|
+
display: none;
|
|
14315
|
+
@media (max-width: 480px) {
|
|
14316
|
+
display: block;
|
|
14317
|
+
}
|
|
14318
|
+
`;
|
|
14128
14319
|
var ValuationWrapper = styled25.div`
|
|
14129
14320
|
display: flex;
|
|
14130
14321
|
flex-direction: column;
|
|
@@ -14176,10 +14367,9 @@ var PricingModelCard = styled25.div`
|
|
|
14176
14367
|
var PricingModelHeader = styled25.div`
|
|
14177
14368
|
display: flex;
|
|
14178
14369
|
justify-content: space-between;
|
|
14179
|
-
align-items:
|
|
14370
|
+
align-items: center;
|
|
14180
14371
|
margin-bottom: 1.5rem;
|
|
14181
14372
|
gap: 1rem;
|
|
14182
|
-
flex-wrap: wrap;
|
|
14183
14373
|
|
|
14184
14374
|
.valuation-info {
|
|
14185
14375
|
display: flex;
|
|
@@ -14187,7 +14377,6 @@ var PricingModelHeader = styled25.div`
|
|
|
14187
14377
|
gap: 0.25rem;
|
|
14188
14378
|
font-size: 0.85rem;
|
|
14189
14379
|
color: rgba(255, 255, 255, 0.75);
|
|
14190
|
-
flex-shrink: 0;
|
|
14191
14380
|
}
|
|
14192
14381
|
`;
|
|
14193
14382
|
var PricingModelTitle = styled25.h3`
|
|
@@ -14254,31 +14443,15 @@ var ValuationDetails = styled25.div`
|
|
|
14254
14443
|
display: flex;
|
|
14255
14444
|
justify-content: space-between;
|
|
14256
14445
|
margin-top: 1rem;
|
|
14257
|
-
gap: 0.25rem;
|
|
14258
14446
|
`;
|
|
14259
14447
|
var ValuationItem = styled25.div`
|
|
14260
14448
|
display: flex;
|
|
14261
14449
|
flex-direction: column;
|
|
14262
|
-
min-width: 0;
|
|
14263
|
-
overflow: hidden;
|
|
14264
14450
|
`;
|
|
14265
14451
|
var ValuationValue = styled25.div`
|
|
14266
14452
|
font-size: 1rem;
|
|
14267
14453
|
font-weight: 600;
|
|
14268
14454
|
color: #fff;
|
|
14269
|
-
display: flex;
|
|
14270
|
-
flex-direction: column;
|
|
14271
|
-
gap: 2px;
|
|
14272
|
-
overflow-wrap: break-word;
|
|
14273
|
-
word-break: break-word;
|
|
14274
|
-
|
|
14275
|
-
@media (max-width: 480px) {
|
|
14276
|
-
font-size: 0.72rem;
|
|
14277
|
-
|
|
14278
|
-
.valuation-amount-span {
|
|
14279
|
-
display: none;
|
|
14280
|
-
}
|
|
14281
|
-
}
|
|
14282
14455
|
`;
|
|
14283
14456
|
var ChartContainer = styled25.div`
|
|
14284
14457
|
width: 100%;
|