@loafmarkets/ui 0.1.253 → 0.1.255
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.js +482 -823
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +482 -823
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -157,7 +157,7 @@ var PortfolioSummary = React5.forwardRef(
|
|
|
157
157
|
onResetAccount,
|
|
158
158
|
positionsHeading = "Current Positions",
|
|
159
159
|
emptyPositionsText = "No positions yet. Start trading to build your portfolio!",
|
|
160
|
-
formatCurrency:
|
|
160
|
+
formatCurrency: formatCurrency6 = defaultFormatCurrency,
|
|
161
161
|
formatPercent: formatPercent2 = defaultFormatPercent,
|
|
162
162
|
formatSignedCurrency = defaultFormatSignedCurrency,
|
|
163
163
|
className,
|
|
@@ -195,11 +195,11 @@ var PortfolioSummary = React5.forwardRef(
|
|
|
195
195
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
196
196
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
197
197
|
/* @__PURE__ */ jsx("p", { className: "text-xs uppercase tracking-[0.5px] text-white/50", children: "Available Cash" }),
|
|
198
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[1.25rem] font-semibold text-white", children:
|
|
198
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[1.25rem] font-semibold text-white", children: formatCurrency6(availableCash) })
|
|
199
199
|
] }),
|
|
200
200
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
201
201
|
/* @__PURE__ */ jsx("p", { className: "text-xs uppercase tracking-[0.5px] text-white/50", children: "Portfolio Value" }),
|
|
202
|
-
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[1.25rem] font-semibold text-white", children:
|
|
202
|
+
/* @__PURE__ */ jsx("p", { className: "mt-1 text-[1.25rem] font-semibold text-white", children: formatCurrency6(portfolioValue) })
|
|
203
203
|
] }),
|
|
204
204
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
205
205
|
/* @__PURE__ */ jsx("p", { className: "text-xs uppercase tracking-[0.5px] text-white/50", children: "Total Return" }),
|
|
@@ -5984,7 +5984,7 @@ var PortfolioEyeButton = styled9.button`
|
|
|
5984
5984
|
color: #D4AF37;
|
|
5985
5985
|
}
|
|
5986
5986
|
|
|
5987
|
-
@media (max-width:
|
|
5987
|
+
@media (max-width: 1024px) {
|
|
5988
5988
|
display: none;
|
|
5989
5989
|
}
|
|
5990
5990
|
`;
|
|
@@ -7390,7 +7390,7 @@ var MiniLiveFeed = () => {
|
|
|
7390
7390
|
}, 2e3 + Math.random() * 2e3);
|
|
7391
7391
|
return () => clearInterval(interval);
|
|
7392
7392
|
}, []);
|
|
7393
|
-
const
|
|
7393
|
+
const formatCurrency6 = (amount) => `$${amount.toLocaleString()}`;
|
|
7394
7394
|
return /* @__PURE__ */ jsxs(
|
|
7395
7395
|
"div",
|
|
7396
7396
|
{
|
|
@@ -7480,7 +7480,7 @@ var MiniLiveFeed = () => {
|
|
|
7480
7480
|
] }),
|
|
7481
7481
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem", position: "relative", zIndex: 1 }, children: [
|
|
7482
7482
|
/* @__PURE__ */ jsx("span", { style: { fontSize: "0.75rem", color: "var(--color-text-secondary, #848e9c)" }, children: "bought" }),
|
|
7483
|
-
/* @__PURE__ */ jsx("span", { style: { fontSize: "0.8rem", fontWeight: 600, color: "#fff" }, children:
|
|
7483
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: "0.8rem", fontWeight: 600, color: "#fff" }, children: formatCurrency6(purchase.amount) })
|
|
7484
7484
|
] })
|
|
7485
7485
|
]
|
|
7486
7486
|
},
|
|
@@ -8431,7 +8431,7 @@ function PropertyOverview({
|
|
|
8431
8431
|
description: descriptionProp,
|
|
8432
8432
|
tradeButtonLabel = "Trade",
|
|
8433
8433
|
images,
|
|
8434
|
-
galleryCategories
|
|
8434
|
+
galleryCategories = [],
|
|
8435
8435
|
videoUrl,
|
|
8436
8436
|
tokenName,
|
|
8437
8437
|
landSizeSqm: landProp,
|
|
@@ -8653,7 +8653,7 @@ function PropertyOverview({
|
|
|
8653
8653
|
GalleryMapSection,
|
|
8654
8654
|
{
|
|
8655
8655
|
images: galleryImages.map((img) => ({ src: img.imageUrl, title: img.title, subtitle: img.subtitle })),
|
|
8656
|
-
categories:
|
|
8656
|
+
categories: galleryCategories,
|
|
8657
8657
|
propertyLocation: location,
|
|
8658
8658
|
videoUrl,
|
|
8659
8659
|
tokenName,
|
|
@@ -8885,7 +8885,7 @@ function PropertyOverview({
|
|
|
8885
8885
|
GalleryMapSection,
|
|
8886
8886
|
{
|
|
8887
8887
|
images: galleryImages.map((img) => ({ src: img.imageUrl, title: img.title, subtitle: img.subtitle })),
|
|
8888
|
-
categories:
|
|
8888
|
+
categories: galleryCategories,
|
|
8889
8889
|
propertyLocation: location,
|
|
8890
8890
|
videoUrl,
|
|
8891
8891
|
tokenName,
|
|
@@ -12219,342 +12219,6 @@ var HomeSpinner = styled9.span`
|
|
|
12219
12219
|
to { transform: rotate(360deg); }
|
|
12220
12220
|
}
|
|
12221
12221
|
`;
|
|
12222
|
-
var MAX_DISPLAY_AMOUNT = 6e4;
|
|
12223
|
-
var formatCurrency4 = (amount) => {
|
|
12224
|
-
if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
|
|
12225
|
-
return `$${Math.round(amount).toLocaleString()}`;
|
|
12226
|
-
};
|
|
12227
|
-
var formatTimeAgo2 = (timestamp) => {
|
|
12228
|
-
const seconds = Math.floor(Date.now() / 1e3) - timestamp;
|
|
12229
|
-
if (seconds < 60) return `${seconds}s ago`;
|
|
12230
|
-
const minutes = Math.floor(seconds / 60);
|
|
12231
|
-
if (minutes < 60) return `${minutes}m ago`;
|
|
12232
|
-
const hours = Math.floor(minutes / 60);
|
|
12233
|
-
if (hours < 24) return `${hours}h ago`;
|
|
12234
|
-
return `${Math.floor(hours / 24)}d ago`;
|
|
12235
|
-
};
|
|
12236
|
-
function VideoActivitySection({
|
|
12237
|
-
ipoStarted,
|
|
12238
|
-
ipoEnded = false,
|
|
12239
|
-
isLoading = false,
|
|
12240
|
-
recentOrders = [],
|
|
12241
|
-
ordersAllocated = 0,
|
|
12242
|
-
tokenPrice = 0
|
|
12243
|
-
}) {
|
|
12244
|
-
const sortedOrders = useMemo(
|
|
12245
|
-
() => [...recentOrders].sort((a, b) => b.timestamp - a.timestamp).slice(0, 7),
|
|
12246
|
-
[recentOrders]
|
|
12247
|
-
);
|
|
12248
|
-
const headerStatusText = ipoEnded ? `Sale ended${ordersAllocated > 0 ? ` \xB7 ${ordersAllocated.toLocaleString()} orders` : ""}` : ipoStarted ? isLoading && sortedOrders.length === 0 ? "Loading orders\u2026" : `Active orders: ${ordersAllocated.toLocaleString()}` : "Waiting for Offer to Open";
|
|
12249
|
-
const showSkeletonFeed = ipoStarted && isLoading && sortedOrders.length === 0;
|
|
12250
|
-
const showOrderFeed = !showSkeletonFeed && (ipoStarted || ipoEnded && sortedOrders.length > 0);
|
|
12251
|
-
return /* @__PURE__ */ jsxs(Section4, { children: [
|
|
12252
|
-
/* @__PURE__ */ jsxs(VideoPanel, { children: [
|
|
12253
|
-
/* @__PURE__ */ jsx("div", { className: "section-header", children: /* @__PURE__ */ jsx("h3", { children: "Musgrave" }) }),
|
|
12254
|
-
/* @__PURE__ */ jsx("div", { className: "video-container", children: /* @__PURE__ */ jsxs("video", { controls: true, loop: true, autoPlay: true, muted: true, playsInline: true, children: [
|
|
12255
|
-
/* @__PURE__ */ jsx("source", { src: "/properties/Musgrave/musgrave.mp4", type: "video/mp4" }),
|
|
12256
|
-
"Your browser does not support the video tag."
|
|
12257
|
-
] }) })
|
|
12258
|
-
] }),
|
|
12259
|
-
/* @__PURE__ */ jsxs(ActivityPanel, { children: [
|
|
12260
|
-
/* @__PURE__ */ jsxs("div", { className: "section-header", children: [
|
|
12261
|
-
/* @__PURE__ */ jsxs("h3", { children: [
|
|
12262
|
-
/* @__PURE__ */ jsx(LiveIndicatorDot, { $active: ipoStarted && !ipoEnded }),
|
|
12263
|
-
"Recent Order Activity"
|
|
12264
|
-
] }),
|
|
12265
|
-
/* @__PURE__ */ jsx("span", { children: headerStatusText })
|
|
12266
|
-
] }),
|
|
12267
|
-
/* @__PURE__ */ jsx("div", { className: "activity-content", children: showSkeletonFeed ? /* @__PURE__ */ jsx(FeedList, { children: Array.from({ length: 6 }).map((_, i) => /* @__PURE__ */ jsxs(SkeletonFeedRow, { children: [
|
|
12268
|
-
/* @__PURE__ */ jsxs("div", { className: "info-col", children: [
|
|
12269
|
-
/* @__PURE__ */ jsx(Skeleton, { width: 110, height: 14 }),
|
|
12270
|
-
/* @__PURE__ */ jsx(Skeleton, { width: 56, height: 10 })
|
|
12271
|
-
] }),
|
|
12272
|
-
/* @__PURE__ */ jsx(Skeleton, { width: 70, height: 14 })
|
|
12273
|
-
] }, `feed-skel-${i}`)) }) : showOrderFeed ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
12274
|
-
ipoEnded && /* @__PURE__ */ jsx(EndedBanner, { children: "Sale ended \u2014 final allocations" }),
|
|
12275
|
-
/* @__PURE__ */ jsx(FeedList, { children: sortedOrders.map((order, index) => {
|
|
12276
|
-
const amount = tokenPrice * order.quantity;
|
|
12277
|
-
const barPercent = Math.min(85, Math.max(15, amount / MAX_DISPLAY_AMOUNT * 100));
|
|
12278
|
-
const isAlternate = index % 2 === 1;
|
|
12279
|
-
return /* @__PURE__ */ jsxs(
|
|
12280
|
-
PurchaseItem,
|
|
12281
|
-
{
|
|
12282
|
-
$barWidth: `${barPercent}%`,
|
|
12283
|
-
$isAlternate: isAlternate,
|
|
12284
|
-
children: [
|
|
12285
|
-
/* @__PURE__ */ jsxs(PurchaseInfo, { children: [
|
|
12286
|
-
/* @__PURE__ */ jsx(PurchaseName, { children: order.buyerHandle || `${order.buyerAddress.slice(0, 6)}...${order.buyerAddress.slice(-4)}` }),
|
|
12287
|
-
/* @__PURE__ */ jsx(PurchaseTime, { children: formatTimeAgo2(order.timestamp) })
|
|
12288
|
-
] }),
|
|
12289
|
-
/* @__PURE__ */ jsx(PurchaseAmount, { children: formatCurrency4(amount) })
|
|
12290
|
-
]
|
|
12291
|
-
},
|
|
12292
|
-
order.txHash
|
|
12293
|
-
);
|
|
12294
|
-
}) })
|
|
12295
|
-
] }) : ipoEnded ? /* @__PURE__ */ jsx("div", { className: "activity-empty", children: /* @__PURE__ */ jsx("p", { children: "Sale ended \u2014 no orders were placed." }) }) : /* @__PURE__ */ jsxs("div", { className: "activity-empty", children: [
|
|
12296
|
-
/* @__PURE__ */ jsx("div", { className: "spinner" }),
|
|
12297
|
-
/* @__PURE__ */ jsx("p", { children: "Activity will appear once the Offering opens" })
|
|
12298
|
-
] }) })
|
|
12299
|
-
] })
|
|
12300
|
-
] });
|
|
12301
|
-
}
|
|
12302
|
-
var Section4 = styled9.div`
|
|
12303
|
-
display: flex;
|
|
12304
|
-
gap: 1.5rem;
|
|
12305
|
-
align-items: stretch;
|
|
12306
|
-
@media (max-width: 1024px) {
|
|
12307
|
-
flex-direction: column;
|
|
12308
|
-
gap: 1rem;
|
|
12309
|
-
}
|
|
12310
|
-
`;
|
|
12311
|
-
var VideoPanel = styled9.div`
|
|
12312
|
-
flex: 1;
|
|
12313
|
-
background-color: var(--color-card-darker, #111);
|
|
12314
|
-
border-radius: 8px;
|
|
12315
|
-
padding: 1.5rem;
|
|
12316
|
-
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
|
|
12317
|
-
border: 1px solid var(--color-border);
|
|
12318
|
-
overflow: hidden;
|
|
12319
|
-
display: flex;
|
|
12320
|
-
flex-direction: column;
|
|
12321
|
-
@media (max-width: 768px) {
|
|
12322
|
-
display: none;
|
|
12323
|
-
}
|
|
12324
|
-
.section-header {
|
|
12325
|
-
display: flex;
|
|
12326
|
-
justify-content: space-between;
|
|
12327
|
-
align-items: center;
|
|
12328
|
-
padding-bottom: 0.75rem;
|
|
12329
|
-
margin-bottom: 1rem;
|
|
12330
|
-
border-bottom: 1px solid rgba(255,255,255,0.1);
|
|
12331
|
-
h3 {
|
|
12332
|
-
font-size: 0.9rem;
|
|
12333
|
-
font-weight: 600;
|
|
12334
|
-
color: var(--color-text);
|
|
12335
|
-
margin: 0;
|
|
12336
|
-
}
|
|
12337
|
-
}
|
|
12338
|
-
.video-container {
|
|
12339
|
-
flex: 1;
|
|
12340
|
-
position: relative;
|
|
12341
|
-
background: #000;
|
|
12342
|
-
border-radius: 8px;
|
|
12343
|
-
overflow: hidden;
|
|
12344
|
-
min-height: 300px;
|
|
12345
|
-
video {
|
|
12346
|
-
position: absolute;
|
|
12347
|
-
top: 0;
|
|
12348
|
-
left: 0;
|
|
12349
|
-
width: 100%;
|
|
12350
|
-
height: 100%;
|
|
12351
|
-
object-fit: cover;
|
|
12352
|
-
}
|
|
12353
|
-
}
|
|
12354
|
-
`;
|
|
12355
|
-
var ActivityPanel = styled9.div`
|
|
12356
|
-
flex: 0 0 auto;
|
|
12357
|
-
min-width: 450px;
|
|
12358
|
-
max-width: 520px;
|
|
12359
|
-
display: flex;
|
|
12360
|
-
flex-direction: column;
|
|
12361
|
-
background-color: var(--color-card-darker, #111);
|
|
12362
|
-
border-radius: 8px;
|
|
12363
|
-
padding: 1.5rem;
|
|
12364
|
-
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
|
|
12365
|
-
border: 1px solid var(--color-border);
|
|
12366
|
-
@media (max-width: 1024px) {
|
|
12367
|
-
min-width: 0;
|
|
12368
|
-
max-width: none;
|
|
12369
|
-
width: 100%;
|
|
12370
|
-
padding: 1rem;
|
|
12371
|
-
}
|
|
12372
|
-
@media (max-width: 768px) {
|
|
12373
|
-
max-height: 280px;
|
|
12374
|
-
.activity-content {
|
|
12375
|
-
max-height: 220px;
|
|
12376
|
-
}
|
|
12377
|
-
}
|
|
12378
|
-
.section-header {
|
|
12379
|
-
display: flex;
|
|
12380
|
-
justify-content: space-between;
|
|
12381
|
-
align-items: center;
|
|
12382
|
-
padding-bottom: 0.75rem;
|
|
12383
|
-
margin-bottom: 1rem;
|
|
12384
|
-
border-bottom: 1px solid rgba(255,255,255,0.1);
|
|
12385
|
-
h3 {
|
|
12386
|
-
font-size: 0.9rem;
|
|
12387
|
-
font-weight: 600;
|
|
12388
|
-
color: var(--color-text);
|
|
12389
|
-
margin: 0;
|
|
12390
|
-
display: flex;
|
|
12391
|
-
align-items: center;
|
|
12392
|
-
gap: 0.5rem;
|
|
12393
|
-
}
|
|
12394
|
-
span {
|
|
12395
|
-
font-size: 0.75rem;
|
|
12396
|
-
color: var(--color-text-secondary);
|
|
12397
|
-
font-weight: 500;
|
|
12398
|
-
}
|
|
12399
|
-
}
|
|
12400
|
-
.activity-content {
|
|
12401
|
-
flex: 1;
|
|
12402
|
-
overflow-y: auto;
|
|
12403
|
-
scrollbar-width: none;
|
|
12404
|
-
-ms-overflow-style: none;
|
|
12405
|
-
}
|
|
12406
|
-
.activity-content::-webkit-scrollbar {
|
|
12407
|
-
display: none;
|
|
12408
|
-
}
|
|
12409
|
-
.activity-empty {
|
|
12410
|
-
display: flex;
|
|
12411
|
-
flex-direction: column;
|
|
12412
|
-
align-items: center;
|
|
12413
|
-
justify-content: center;
|
|
12414
|
-
height: 200px;
|
|
12415
|
-
color: var(--color-text-secondary);
|
|
12416
|
-
text-align: center;
|
|
12417
|
-
gap: 0.75rem;
|
|
12418
|
-
.spinner {
|
|
12419
|
-
width: 40px;
|
|
12420
|
-
height: 40px;
|
|
12421
|
-
border-radius: 50%;
|
|
12422
|
-
border: 2px solid rgba(212,175,55,0.3);
|
|
12423
|
-
border-top-color: #D4AF37;
|
|
12424
|
-
animation: spin 1s linear infinite;
|
|
12425
|
-
}
|
|
12426
|
-
p {
|
|
12427
|
-
font-size: 0.85rem;
|
|
12428
|
-
margin: 0;
|
|
12429
|
-
}
|
|
12430
|
-
}
|
|
12431
|
-
@keyframes spin {
|
|
12432
|
-
from { transform: rotate(0deg); }
|
|
12433
|
-
to { transform: rotate(360deg); }
|
|
12434
|
-
}
|
|
12435
|
-
`;
|
|
12436
|
-
var SkeletonFeedRow = styled9.div`
|
|
12437
|
-
padding: 0.625rem 0.75rem;
|
|
12438
|
-
border-bottom: 1px solid rgba(255,255,255,0.04);
|
|
12439
|
-
display: flex;
|
|
12440
|
-
justify-content: space-between;
|
|
12441
|
-
align-items: center;
|
|
12442
|
-
gap: 1rem;
|
|
12443
|
-
|
|
12444
|
-
&:last-child {
|
|
12445
|
-
border-bottom: none;
|
|
12446
|
-
}
|
|
12447
|
-
|
|
12448
|
-
.info-col {
|
|
12449
|
-
display: flex;
|
|
12450
|
-
flex-direction: column;
|
|
12451
|
-
gap: 0.3rem;
|
|
12452
|
-
min-width: 0;
|
|
12453
|
-
flex: 1;
|
|
12454
|
-
}
|
|
12455
|
-
|
|
12456
|
-
@media (max-width: 768px) {
|
|
12457
|
-
padding: 0.4rem 0.6rem;
|
|
12458
|
-
}
|
|
12459
|
-
`;
|
|
12460
|
-
var EndedBanner = styled9.div`
|
|
12461
|
-
font-size: 0.7rem;
|
|
12462
|
-
font-weight: 600;
|
|
12463
|
-
letter-spacing: 0.04em;
|
|
12464
|
-
text-transform: uppercase;
|
|
12465
|
-
color: rgba(255, 255, 255, 0.55);
|
|
12466
|
-
background: rgba(255, 255, 255, 0.04);
|
|
12467
|
-
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
12468
|
-
border-radius: 6px;
|
|
12469
|
-
padding: 0.4rem 0.6rem;
|
|
12470
|
-
margin-bottom: 0.5rem;
|
|
12471
|
-
text-align: center;
|
|
12472
|
-
`;
|
|
12473
|
-
var FeedList = styled9.div`
|
|
12474
|
-
width: 100%;
|
|
12475
|
-
overflow-y: auto;
|
|
12476
|
-
scrollbar-width: none;
|
|
12477
|
-
-ms-overflow-style: none;
|
|
12478
|
-
&::-webkit-scrollbar {
|
|
12479
|
-
display: none;
|
|
12480
|
-
}
|
|
12481
|
-
`;
|
|
12482
|
-
var PurchaseItem = styled9.div`
|
|
12483
|
-
padding: 0.625rem 0.75rem;
|
|
12484
|
-
border-bottom: 1px solid rgba(255,255,255,0.05);
|
|
12485
|
-
display: flex;
|
|
12486
|
-
justify-content: space-between;
|
|
12487
|
-
align-items: center;
|
|
12488
|
-
position: relative;
|
|
12489
|
-
overflow: hidden;
|
|
12490
|
-
background-color: ${(p) => p.$isAlternate ? "rgba(255,255,255,0.03)" : "transparent"};
|
|
12491
|
-
|
|
12492
|
-
&::before {
|
|
12493
|
-
content: '';
|
|
12494
|
-
position: absolute;
|
|
12495
|
-
top: 0;
|
|
12496
|
-
right: 0;
|
|
12497
|
-
bottom: 0;
|
|
12498
|
-
width: ${(p) => p.$barWidth || "20%"};
|
|
12499
|
-
background: linear-gradient(90deg, transparent 0%, rgba(14,203,129,0.15) 100%);
|
|
12500
|
-
pointer-events: none;
|
|
12501
|
-
}
|
|
12502
|
-
|
|
12503
|
-
&:last-child {
|
|
12504
|
-
border-bottom: none;
|
|
12505
|
-
}
|
|
12506
|
-
|
|
12507
|
-
@media (max-width: 768px) {
|
|
12508
|
-
padding: 0.4rem 0.6rem;
|
|
12509
|
-
}
|
|
12510
|
-
`;
|
|
12511
|
-
var PurchaseInfo = styled9.div`
|
|
12512
|
-
display: flex;
|
|
12513
|
-
flex-direction: column;
|
|
12514
|
-
min-width: 0;
|
|
12515
|
-
`;
|
|
12516
|
-
var PurchaseName = styled9.div`
|
|
12517
|
-
font-weight: 500;
|
|
12518
|
-
font-size: 0.875rem;
|
|
12519
|
-
color: #fff;
|
|
12520
|
-
white-space: nowrap;
|
|
12521
|
-
overflow: hidden;
|
|
12522
|
-
text-overflow: ellipsis;
|
|
12523
|
-
`;
|
|
12524
|
-
var PurchaseTime = styled9.div`
|
|
12525
|
-
font-size: 0.7rem;
|
|
12526
|
-
color: var(--color-text-secondary);
|
|
12527
|
-
margin-top: 0.125rem;
|
|
12528
|
-
`;
|
|
12529
|
-
var PurchaseAmount = styled9.div`
|
|
12530
|
-
font-weight: 600;
|
|
12531
|
-
font-size: 0.875rem;
|
|
12532
|
-
color: #fff;
|
|
12533
|
-
white-space: nowrap;
|
|
12534
|
-
margin-left: 1rem;
|
|
12535
|
-
`;
|
|
12536
|
-
var LiveIndicatorDot = styled9.span`
|
|
12537
|
-
display: inline-block;
|
|
12538
|
-
width: 8px;
|
|
12539
|
-
height: 8px;
|
|
12540
|
-
background-color: ${(p) => p.$active ? "#0ecb81" : "#848e9c"};
|
|
12541
|
-
border-radius: 50%;
|
|
12542
|
-
position: relative;
|
|
12543
|
-
&:after {
|
|
12544
|
-
content: '';
|
|
12545
|
-
position: absolute;
|
|
12546
|
-
width: 100%;
|
|
12547
|
-
height: 100%;
|
|
12548
|
-
border-radius: 50%;
|
|
12549
|
-
background-color: ${(p) => p.$active ? "#0ecb81" : "transparent"};
|
|
12550
|
-
animation: ${(p) => p.$active ? "liveGlow 2s infinite" : "none"};
|
|
12551
|
-
}
|
|
12552
|
-
@keyframes liveGlow {
|
|
12553
|
-
0% { box-shadow: 0 0 0 0 rgba(14,203,129,0.4); }
|
|
12554
|
-
70% { box-shadow: 0 0 0 10px rgba(14,203,129,0); }
|
|
12555
|
-
100% { box-shadow: 0 0 0 0 rgba(14,203,129,0); }
|
|
12556
|
-
}
|
|
12557
|
-
`;
|
|
12558
12222
|
var slideIn = keyframes`
|
|
12559
12223
|
from { transform: translateX(110%); opacity: 0; }
|
|
12560
12224
|
to { transform: translateX(0); opacity: 1; }
|
|
@@ -13601,28 +13265,288 @@ var InsufficientFunds = styled9.div`
|
|
|
13601
13265
|
font-size: 0.85rem;
|
|
13602
13266
|
font-weight: 600;
|
|
13603
13267
|
`;
|
|
13604
|
-
|
|
13605
|
-
|
|
13606
|
-
|
|
13607
|
-
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13268
|
+
function OrderConfirmationModal({
|
|
13269
|
+
open,
|
|
13270
|
+
onClose,
|
|
13271
|
+
hasInsufficientFunds,
|
|
13272
|
+
tokenQuantity,
|
|
13273
|
+
tokenPrice,
|
|
13274
|
+
propertyName,
|
|
13275
|
+
tokenSymbol,
|
|
13276
|
+
estExposure,
|
|
13277
|
+
orderTotal,
|
|
13278
|
+
availableBalance,
|
|
13279
|
+
onConfirm,
|
|
13280
|
+
isPlacing = false,
|
|
13281
|
+
placingLabel = "Placing order\u2026"
|
|
13282
|
+
}) {
|
|
13283
|
+
if (!open) return null;
|
|
13284
|
+
const handleOverlayClose = () => {
|
|
13285
|
+
if (isPlacing) return;
|
|
13286
|
+
onClose();
|
|
13287
|
+
};
|
|
13288
|
+
return /* @__PURE__ */ jsx(Overlay3, { onClick: handleOverlayClose, children: /* @__PURE__ */ jsxs(Modal, { onClick: (e) => e.stopPropagation(), children: [
|
|
13289
|
+
/* @__PURE__ */ jsx(ModalHeader, { children: /* @__PURE__ */ jsxs("h3", { children: [
|
|
13290
|
+
"Confirm Order",
|
|
13291
|
+
/* @__PURE__ */ jsx(Badge2, { children: "Subscribe" })
|
|
13292
|
+
] }) }),
|
|
13293
|
+
/* @__PURE__ */ jsx(ModalBody, { children: [
|
|
13294
|
+
{ label: "Order Type", value: "Primary Offering" },
|
|
13295
|
+
{ label: "Property", value: propertyName },
|
|
13296
|
+
{ label: "Units", value: `${tokenQuantity.toLocaleString()} ${tokenSymbol}`, highlight: true },
|
|
13297
|
+
{
|
|
13298
|
+
label: "Unit Price",
|
|
13299
|
+
value: `$${tokenPrice.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
|
|
13300
|
+
},
|
|
13301
|
+
{ label: "Property Exposure", value: `${estExposure}%` },
|
|
13302
|
+
{ label: "Total Investment", value: `$${orderTotal.toLocaleString()}`, highlight: true }
|
|
13303
|
+
].map((row, index, arr) => /* @__PURE__ */ jsxs(ModalRow, { "data-divider": index < arr.length - 1, children: [
|
|
13304
|
+
/* @__PURE__ */ jsx("span", { children: row.label }),
|
|
13305
|
+
/* @__PURE__ */ jsx("strong", { "data-highlight": row.highlight, children: row.value })
|
|
13306
|
+
] }, row.label)) }),
|
|
13307
|
+
hasInsufficientFunds ? /* @__PURE__ */ jsxs(Warning, { children: [
|
|
13308
|
+
/* @__PURE__ */ jsx("p", { children: "\u26A0 Insufficient Balance" }),
|
|
13309
|
+
/* @__PURE__ */ jsxs("small", { children: [
|
|
13310
|
+
"You need ",
|
|
13311
|
+
/* @__PURE__ */ jsxs("strong", { children: [
|
|
13312
|
+
"$",
|
|
13313
|
+
orderTotal.toLocaleString()
|
|
13314
|
+
] }),
|
|
13315
|
+
" but only have",
|
|
13316
|
+
" ",
|
|
13317
|
+
/* @__PURE__ */ jsxs("strong", { children: [
|
|
13318
|
+
"$",
|
|
13319
|
+
availableBalance.toLocaleString()
|
|
13320
|
+
] }),
|
|
13321
|
+
" available."
|
|
13322
|
+
] })
|
|
13323
|
+
] }) : /* @__PURE__ */ jsxs(Summary, { children: [
|
|
13324
|
+
"Your order for ",
|
|
13325
|
+
/* @__PURE__ */ jsxs("strong", { children: [
|
|
13326
|
+
tokenQuantity.toLocaleString(),
|
|
13327
|
+
" ",
|
|
13328
|
+
tokenSymbol,
|
|
13329
|
+
" units"
|
|
13330
|
+
] }),
|
|
13331
|
+
" in the",
|
|
13332
|
+
" ",
|
|
13333
|
+
/* @__PURE__ */ jsx("strong", { children: propertyName }),
|
|
13334
|
+
" Primary Offering will be placed for ",
|
|
13335
|
+
/* @__PURE__ */ jsxs("strong", { children: [
|
|
13336
|
+
"$",
|
|
13337
|
+
tokenPrice.toFixed(2),
|
|
13338
|
+
"/unit"
|
|
13339
|
+
] }),
|
|
13340
|
+
"."
|
|
13341
|
+
] }),
|
|
13342
|
+
/* @__PURE__ */ jsxs(ButtonRow2, { children: [
|
|
13343
|
+
/* @__PURE__ */ jsx(
|
|
13344
|
+
"button",
|
|
13345
|
+
{
|
|
13346
|
+
type: "button",
|
|
13347
|
+
onClick: onClose,
|
|
13348
|
+
className: "secondary",
|
|
13349
|
+
disabled: isPlacing,
|
|
13350
|
+
children: "Cancel"
|
|
13351
|
+
}
|
|
13352
|
+
),
|
|
13353
|
+
!hasInsufficientFunds && /* @__PURE__ */ jsx(
|
|
13354
|
+
"button",
|
|
13355
|
+
{
|
|
13356
|
+
type: "button",
|
|
13357
|
+
onClick: onConfirm,
|
|
13358
|
+
className: "primary",
|
|
13359
|
+
disabled: isPlacing,
|
|
13360
|
+
children: isPlacing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
13361
|
+
/* @__PURE__ */ jsx(Spinner, { "aria-hidden": true }),
|
|
13362
|
+
/* @__PURE__ */ jsx("span", { children: placingLabel })
|
|
13363
|
+
] }) : "Place Order"
|
|
13364
|
+
}
|
|
13365
|
+
)
|
|
13366
|
+
] })
|
|
13367
|
+
] }) });
|
|
13368
|
+
}
|
|
13369
|
+
var Overlay3 = styled9.div`
|
|
13370
|
+
position: fixed;
|
|
13371
|
+
top: 0;
|
|
13372
|
+
left: 0;
|
|
13373
|
+
right: 0;
|
|
13374
|
+
bottom: 0;
|
|
13375
|
+
background-color: rgba(0,0,0,0.7);
|
|
13376
|
+
display: flex;
|
|
13377
|
+
align-items: center;
|
|
13378
|
+
justify-content: center;
|
|
13379
|
+
z-index: 10000;
|
|
13380
|
+
backdrop-filter: blur(4px);
|
|
13381
|
+
`;
|
|
13382
|
+
var Modal = styled9.div`
|
|
13383
|
+
background: linear-gradient(135deg, rgba(26,29,35,0.95) 0%, rgba(26,29,35,0.98) 100%);
|
|
13384
|
+
border: 1px solid rgba(255,255,255,0.1);
|
|
13385
|
+
border-radius: 16px;
|
|
13386
|
+
padding: 2rem;
|
|
13387
|
+
max-width: 480px;
|
|
13388
|
+
width: 90%;
|
|
13389
|
+
box-shadow: 0 20px 60px rgba(0,0,0,0.5);
|
|
13390
|
+
`;
|
|
13391
|
+
var ModalHeader = styled9.div`
|
|
13392
|
+
display: flex;
|
|
13393
|
+
align-items: center;
|
|
13394
|
+
margin-bottom: 1.5rem;
|
|
13395
|
+
padding-bottom: 1rem;
|
|
13396
|
+
border-bottom: 1px solid rgba(255,255,255,0.1);
|
|
13397
|
+
h3 {
|
|
13398
|
+
margin: 0;
|
|
13399
|
+
font-size: 1.25rem;
|
|
13400
|
+
font-weight: 600;
|
|
13401
|
+
color: #fff;
|
|
13402
|
+
display: flex;
|
|
13403
|
+
align-items: center;
|
|
13404
|
+
gap: 0.5rem;
|
|
13405
|
+
}
|
|
13406
|
+
`;
|
|
13407
|
+
var Badge2 = styled9.span`
|
|
13408
|
+
padding: 0.25rem 0.75rem;
|
|
13409
|
+
border-radius: 6px;
|
|
13410
|
+
font-size: 0.75rem;
|
|
13411
|
+
font-weight: 600;
|
|
13412
|
+
text-transform: uppercase;
|
|
13413
|
+
letter-spacing: 0.5px;
|
|
13414
|
+
background: linear-gradient(135deg, rgba(212,175,55,0.2) 0%, rgba(212,175,55,0.1) 100%);
|
|
13415
|
+
color: #D4AF37;
|
|
13416
|
+
border: 1px solid rgba(212,175,55,0.3);
|
|
13417
|
+
`;
|
|
13418
|
+
var ModalBody = styled9.div`
|
|
13419
|
+
margin-bottom: 1.5rem;
|
|
13420
|
+
display: flex;
|
|
13421
|
+
flex-direction: column;
|
|
13422
|
+
`;
|
|
13423
|
+
var ModalRow = styled9.div`
|
|
13424
|
+
display: flex;
|
|
13425
|
+
justify-content: space-between;
|
|
13426
|
+
align-items: center;
|
|
13427
|
+
padding: 0.75rem 0;
|
|
13428
|
+
border-bottom: 1px solid rgba(255,255,255,0.05);
|
|
13429
|
+
&[data-divider='false'] {
|
|
13430
|
+
border-bottom: none;
|
|
13431
|
+
}
|
|
13432
|
+
span {
|
|
13433
|
+
color: rgba(255,255,255,0.6);
|
|
13434
|
+
font-size: 0.9rem;
|
|
13435
|
+
}
|
|
13436
|
+
strong {
|
|
13437
|
+
color: #fff;
|
|
13438
|
+
font-weight: 500;
|
|
13439
|
+
font-size: 0.95rem;
|
|
13440
|
+
}
|
|
13441
|
+
strong[data-highlight='true'] {
|
|
13442
|
+
color: #D4AF37;
|
|
13443
|
+
font-weight: 600;
|
|
13444
|
+
}
|
|
13445
|
+
`;
|
|
13446
|
+
var Warning = styled9.div`
|
|
13447
|
+
background: rgba(246,70,93,0.1);
|
|
13448
|
+
border: 1px solid rgba(246,70,93,0.3);
|
|
13449
|
+
border-radius: 8px;
|
|
13450
|
+
padding: 1rem;
|
|
13451
|
+
margin-bottom: 1.5rem;
|
|
13452
|
+
p {
|
|
13453
|
+
margin: 0;
|
|
13454
|
+
color: #f6465d;
|
|
13455
|
+
font-size: 0.9rem;
|
|
13456
|
+
font-weight: 600;
|
|
13457
|
+
}
|
|
13458
|
+
small {
|
|
13459
|
+
display: block;
|
|
13460
|
+
margin-top: 0.5rem;
|
|
13461
|
+
color: rgba(255,255,255,0.7);
|
|
13462
|
+
font-size: 0.85rem;
|
|
13463
|
+
line-height: 1.5;
|
|
13464
|
+
}
|
|
13465
|
+
`;
|
|
13466
|
+
var Summary = styled9.div`
|
|
13467
|
+
background: rgba(255,255,255,0.03);
|
|
13468
|
+
border: 1px solid rgba(255,255,255,0.08);
|
|
13469
|
+
border-radius: 8px;
|
|
13470
|
+
padding: 1rem;
|
|
13471
|
+
margin-bottom: 1.5rem;
|
|
13472
|
+
color: rgba(255,255,255,0.8);
|
|
13473
|
+
font-size: 0.9rem;
|
|
13474
|
+
line-height: 1.5;
|
|
13475
|
+
`;
|
|
13476
|
+
var spin = keyframes`
|
|
13477
|
+
to { transform: rotate(360deg); }
|
|
13478
|
+
`;
|
|
13479
|
+
var Spinner = styled9.span`
|
|
13480
|
+
display: inline-block;
|
|
13481
|
+
width: 14px;
|
|
13482
|
+
height: 14px;
|
|
13483
|
+
border-radius: 50%;
|
|
13484
|
+
border: 2px solid rgba(255, 255, 255, 0.35);
|
|
13485
|
+
border-top-color: #fff;
|
|
13486
|
+
animation: ${spin} 0.7s linear infinite;
|
|
13487
|
+
margin-right: 0.5rem;
|
|
13488
|
+
vertical-align: -2px;
|
|
13489
|
+
`;
|
|
13490
|
+
var ButtonRow2 = styled9.div`
|
|
13491
|
+
display: flex;
|
|
13492
|
+
gap: 1rem;
|
|
13493
|
+
justify-content: flex-end;
|
|
13494
|
+
button {
|
|
13495
|
+
padding: 0.75rem 1.5rem;
|
|
13496
|
+
border-radius: 8px;
|
|
13497
|
+
font-weight: 600;
|
|
13498
|
+
font-size: 0.95rem;
|
|
13499
|
+
cursor: pointer;
|
|
13500
|
+
display: inline-flex;
|
|
13501
|
+
align-items: center;
|
|
13502
|
+
justify-content: center;
|
|
13503
|
+
}
|
|
13504
|
+
button:disabled {
|
|
13505
|
+
cursor: not-allowed;
|
|
13506
|
+
opacity: 0.75;
|
|
13507
|
+
}
|
|
13508
|
+
.secondary {
|
|
13509
|
+
background: rgba(255,255,255,0.1);
|
|
13510
|
+
color: rgba(255,255,255,0.8);
|
|
13511
|
+
border: 1px solid rgba(255,255,255,0.2);
|
|
13512
|
+
}
|
|
13513
|
+
.primary {
|
|
13514
|
+
background: linear-gradient(135deg, #0ecb81 0%, #0ba968 100%);
|
|
13515
|
+
color: #fff;
|
|
13516
|
+
border: none;
|
|
13517
|
+
box-shadow: 0 4px 12px rgba(14,203,129,0.3);
|
|
13518
|
+
}
|
|
13519
|
+
`;
|
|
13520
|
+
|
|
13521
|
+
// src/components/property-buy/constants.ts
|
|
13522
|
+
var STATUS_COLOR2 = {
|
|
13523
|
+
PENDING: "#D4AF37",
|
|
13524
|
+
LIVE: "#0ecb81",
|
|
13525
|
+
CLOSED: "#848e9c",
|
|
13526
|
+
CANCELLED: "#f6465d"
|
|
13527
|
+
};
|
|
13528
|
+
var ACTIVITY_PAGE_SIZE_DEFAULT = 10;
|
|
13529
|
+
var formatCurrency4 = (value, opts) => {
|
|
13530
|
+
const min = opts?.minimumFractionDigits ?? 2;
|
|
13531
|
+
const max = opts?.maximumFractionDigits ?? 2;
|
|
13532
|
+
return `$${value.toLocaleString("en-US", { minimumFractionDigits: min, maximumFractionDigits: max })}`;
|
|
13533
|
+
};
|
|
13534
|
+
var formatNumber2 = (value, maximumFractionDigits = 2) => value.toLocaleString("en-US", { minimumFractionDigits: 0, maximumFractionDigits });
|
|
13535
|
+
var formatTimestamp = (unix) => {
|
|
13536
|
+
if (!unix) return "\u2014";
|
|
13537
|
+
let sec;
|
|
13538
|
+
if (unix > 1e18) sec = Math.floor(unix / 1e9);
|
|
13539
|
+
else if (unix > 1e14) sec = Math.floor(unix / 1e6);
|
|
13540
|
+
else if (unix > 1e12) sec = Math.floor(unix / 1e3);
|
|
13541
|
+
else sec = unix;
|
|
13542
|
+
return new Date(sec * 1e3).toLocaleString("en-AU", {
|
|
13543
|
+
day: "2-digit",
|
|
13544
|
+
month: "short",
|
|
13545
|
+
hour: "2-digit",
|
|
13546
|
+
minute: "2-digit",
|
|
13547
|
+
hour12: false
|
|
13548
|
+
});
|
|
13549
|
+
};
|
|
13626
13550
|
var formatAddress = (address) => `${address.slice(0, 6)}...${address.slice(-4)}`;
|
|
13627
13551
|
var prettyLabel = (value) => value.split("_").map((part) => part.charAt(0) + part.slice(1).toLowerCase()).join(" ");
|
|
13628
13552
|
var sideLabel = (side) => side?.toUpperCase() === "SELL" ? "Sell" : "Buy";
|
|
@@ -13861,16 +13785,16 @@ function PortfolioActivityPanel({
|
|
|
13861
13785
|
/* @__PURE__ */ jsx("span", { style: { color: "rgba(255,255,255,0.4)", fontSize: "0.7rem" }, children: pos.tokenName.toUpperCase() })
|
|
13862
13786
|
] }) }),
|
|
13863
13787
|
/* @__PURE__ */ jsx(PositionsCell, { children: /* @__PURE__ */ jsxs("span", { style: { color: "#fff", fontSize: "0.8rem" }, children: [
|
|
13864
|
-
|
|
13788
|
+
formatCurrency4(currentValue, { minimumFractionDigits: 0, maximumFractionDigits: 0 }),
|
|
13865
13789
|
" ",
|
|
13866
13790
|
/* @__PURE__ */ jsx("span", { style: { color: "rgba(255,255,255,0.4)", fontSize: "0.7rem" }, children: "USD" })
|
|
13867
13791
|
] }) }),
|
|
13868
|
-
/* @__PURE__ */ jsx(PositionsCell, { children: /* @__PURE__ */ jsx("span", { style: { color: "rgba(255,255,255,0.7)", fontSize: "0.8rem" }, children:
|
|
13869
|
-
/* @__PURE__ */ jsx(PositionsCell, { children: /* @__PURE__ */ jsx("span", { style: { color: "#fff", fontSize: "0.8rem" }, children:
|
|
13792
|
+
/* @__PURE__ */ jsx(PositionsCell, { children: /* @__PURE__ */ jsx("span", { style: { color: "rgba(255,255,255,0.7)", fontSize: "0.8rem" }, children: formatCurrency4(pos.averageEntryPrice) }) }),
|
|
13793
|
+
/* @__PURE__ */ jsx(PositionsCell, { children: /* @__PURE__ */ jsx("span", { style: { color: "#fff", fontSize: "0.8rem" }, children: formatCurrency4(pos.marketPrice) }) }),
|
|
13870
13794
|
/* @__PURE__ */ jsxs(PositionsCell, { children: [
|
|
13871
13795
|
/* @__PURE__ */ jsxs(PnLAmount, { $positive: isPositive, children: [
|
|
13872
13796
|
isPositive ? "+" : "-",
|
|
13873
|
-
|
|
13797
|
+
formatCurrency4(Math.abs(pnl))
|
|
13874
13798
|
] }),
|
|
13875
13799
|
/* @__PURE__ */ jsxs(PnLPercentage, { $positive: isPositive, children: [
|
|
13876
13800
|
isPositive ? "+" : "",
|
|
@@ -13929,8 +13853,8 @@ function PortfolioActivityPanel({
|
|
|
13929
13853
|
return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
|
|
13930
13854
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: order.tokenName }) }),
|
|
13931
13855
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatNumber2(order.quantity) }) }),
|
|
13932
|
-
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children:
|
|
13933
|
-
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children:
|
|
13856
|
+
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatCurrency4(order.price) }) }),
|
|
13857
|
+
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(order.price * order.quantity) }) }),
|
|
13934
13858
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(ActivityTag, { $color: meta.color, $bg: meta.bg, children: prettyLabel(order.status) }) }),
|
|
13935
13859
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(order.createdAt) }) })
|
|
13936
13860
|
] }, `${order.tokenName}-${order.txHash}-${order.createdAt}`);
|
|
@@ -13961,7 +13885,7 @@ function PortfolioActivityPanel({
|
|
|
13961
13885
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: sideLabel(order.side), children: sideLabel(order.side) }) }),
|
|
13962
13886
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: prettyLabel(order.type) }) }),
|
|
13963
13887
|
/* @__PURE__ */ jsx(GridCell, { children: onAmendOrder ? /* @__PURE__ */ jsx(EditableField, { value: order.quantity, format: formatNumber2, onCommit: (v) => onAmendOrder(order.id, { quantity: v }) }) : /* @__PURE__ */ jsx(CellText, { children: formatNumber2(order.quantity) }) }),
|
|
13964
|
-
/* @__PURE__ */ jsx(GridCell, { children: !isMarket && order.price && onAmendOrder ? /* @__PURE__ */ jsx(EditableField, { value: order.price, format: (v) =>
|
|
13888
|
+
/* @__PURE__ */ jsx(GridCell, { children: !isMarket && order.price && onAmendOrder ? /* @__PURE__ */ jsx(EditableField, { value: order.price, format: (v) => formatCurrency4(v), onCommit: (v) => onAmendOrder(order.id, { price: v }) }) : /* @__PURE__ */ jsx(CellText, { children: isMarket || !order.price ? "Market" : formatCurrency4(order.price) }) }),
|
|
13965
13889
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsxs(CellText, { $muted: true, children: [
|
|
13966
13890
|
filledPercent,
|
|
13967
13891
|
"%"
|
|
@@ -14005,7 +13929,7 @@ function PortfolioActivityPanel({
|
|
|
14005
13929
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: sideLabel(order.side), children: sideLabel(order.side) }) }),
|
|
14006
13930
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: prettyLabel(order.type) }) }),
|
|
14007
13931
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatNumber2(order.quantity) }) }),
|
|
14008
|
-
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: isMarket || !order.price ? "Market" :
|
|
13932
|
+
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: isMarket || !order.price ? "Market" : formatCurrency4(order.price) }) }),
|
|
14009
13933
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsxs(CellText, { $muted: true, children: [
|
|
14010
13934
|
filledPercent,
|
|
14011
13935
|
"%"
|
|
@@ -14032,9 +13956,9 @@ function PortfolioActivityPanel({
|
|
|
14032
13956
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: trade.tokenName }) }),
|
|
14033
13957
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: sideLabel(trade.side), children: sideLabel(trade.side) }) }),
|
|
14034
13958
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatNumber2(trade.quantity) }) }),
|
|
14035
|
-
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children:
|
|
14036
|
-
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children:
|
|
14037
|
-
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children:
|
|
13959
|
+
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price) }) }),
|
|
13960
|
+
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price * trade.quantity) }) }),
|
|
13961
|
+
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatCurrency4(trade.fee) }) }),
|
|
14038
13962
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(trade.executedAt) }) })
|
|
14039
13963
|
] }, trade.tradeId))
|
|
14040
13964
|
] })
|
|
@@ -14056,7 +13980,7 @@ function PortfolioActivityPanel({
|
|
|
14056
13980
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: isDeposit ? "Buy" : "Sell", children: isDeposit ? "Deposit" : "Withdraw" }) }),
|
|
14057
13981
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsxs(CellText, { $color: isDeposit ? "#0ecb81" : "#f6465d", children: [
|
|
14058
13982
|
isDeposit ? "+" : "-",
|
|
14059
|
-
|
|
13983
|
+
formatCurrency4(t.amount)
|
|
14060
13984
|
] }) }),
|
|
14061
13985
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatAddress(t.address) }) }),
|
|
14062
13986
|
/* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(ActivityTag, { $color: statusMeta.color, $bg: statusMeta.bg, children: prettyLabel(t.status) }) }),
|
|
@@ -14643,424 +14567,77 @@ var CloseAllModalX = styled9.button`
|
|
|
14643
14567
|
color: rgba(255, 255, 255, 0.4);
|
|
14644
14568
|
font-size: 1.25rem;
|
|
14645
14569
|
cursor: pointer;
|
|
14646
|
-
padding: 0.25rem;
|
|
14647
|
-
line-height: 1;
|
|
14648
|
-
transition: color 0.15s;
|
|
14649
|
-
|
|
14650
|
-
&:hover { color: #fff; }
|
|
14651
|
-
`;
|
|
14652
|
-
var CloseAllTitle = styled9.div`
|
|
14653
|
-
font-size: 1rem;
|
|
14654
|
-
font-weight: 600;
|
|
14655
|
-
color: #fff;
|
|
14656
|
-
margin-bottom: 0.5rem;
|
|
14657
|
-
`;
|
|
14658
|
-
var CloseAllDesc = styled9.div`
|
|
14659
|
-
font-size: 0.8rem;
|
|
14660
|
-
color: rgba(255, 255, 255, 0.5);
|
|
14661
|
-
line-height: 1.45;
|
|
14662
|
-
margin-bottom: 1rem;
|
|
14663
|
-
`;
|
|
14664
|
-
var CloseAllOption = styled9.div`
|
|
14665
|
-
display: flex;
|
|
14666
|
-
align-items: center;
|
|
14667
|
-
gap: 0.6rem;
|
|
14668
|
-
padding: 0.6rem 0.75rem;
|
|
14669
|
-
border-radius: 8px;
|
|
14670
|
-
cursor: pointer;
|
|
14671
|
-
font-size: 0.85rem;
|
|
14672
|
-
color: rgba(255, 255, 255, 0.85);
|
|
14673
|
-
transition: background 0.15s;
|
|
14674
|
-
margin-bottom: 0.35rem;
|
|
14675
|
-
|
|
14676
|
-
&:hover { background: rgba(255, 255, 255, 0.04); }
|
|
14677
|
-
`;
|
|
14678
|
-
var CloseAllRadio = styled9.div`
|
|
14679
|
-
width: 16px;
|
|
14680
|
-
height: 16px;
|
|
14681
|
-
border-radius: 50%;
|
|
14682
|
-
border: 2px solid ${(p) => p.$selected ? "#f6465d" : "rgba(255, 255, 255, 0.2)"};
|
|
14683
|
-
position: relative;
|
|
14684
|
-
flex-shrink: 0;
|
|
14685
|
-
transition: border-color 0.15s;
|
|
14686
|
-
|
|
14687
|
-
&::after {
|
|
14688
|
-
content: '';
|
|
14689
|
-
position: absolute;
|
|
14690
|
-
top: 50%;
|
|
14691
|
-
left: 50%;
|
|
14692
|
-
transform: translate(-50%, -50%);
|
|
14693
|
-
width: 8px;
|
|
14694
|
-
height: 8px;
|
|
14695
|
-
border-radius: 50%;
|
|
14696
|
-
background: ${(p) => p.$selected ? "#f6465d" : "transparent"};
|
|
14697
|
-
transition: background 0.15s;
|
|
14698
|
-
}
|
|
14699
|
-
`;
|
|
14700
|
-
var CloseAllConfirmBtn = styled9.button`
|
|
14701
|
-
width: 100%;
|
|
14702
|
-
margin-top: 0.75rem;
|
|
14703
|
-
background: rgba(246, 70, 93, 0.15);
|
|
14704
|
-
border: 1px solid rgba(246, 70, 93, 0.4);
|
|
14705
|
-
border-radius: 8px;
|
|
14706
|
-
padding: 0.7rem 1rem;
|
|
14707
|
-
font-size: 0.85rem;
|
|
14708
|
-
font-weight: 600;
|
|
14709
|
-
color: #f6465d;
|
|
14710
|
-
cursor: pointer;
|
|
14711
|
-
transition: all 0.15s ease;
|
|
14712
|
-
|
|
14713
|
-
&:hover {
|
|
14714
|
-
background: rgba(246, 70, 93, 0.25);
|
|
14715
|
-
}
|
|
14716
|
-
`;
|
|
14717
|
-
function NewsOrdersSection({ newsItems, newsConnectionStatus, activityData }) {
|
|
14718
|
-
return /* @__PURE__ */ jsxs(Row2, { children: [
|
|
14719
|
-
/* @__PURE__ */ jsx(
|
|
14720
|
-
PropertyNewsUpdates,
|
|
14721
|
-
{
|
|
14722
|
-
items: newsItems,
|
|
14723
|
-
heading: "Property News & Updates",
|
|
14724
|
-
connectionStatus: newsConnectionStatus
|
|
14725
|
-
}
|
|
14726
|
-
),
|
|
14727
|
-
/* @__PURE__ */ jsx(ActivityWrapper, { children: /* @__PURE__ */ jsx(
|
|
14728
|
-
PortfolioActivityPanel,
|
|
14729
|
-
{
|
|
14730
|
-
positions: activityData?.positions,
|
|
14731
|
-
showPositionsTab: true,
|
|
14732
|
-
onPositionClick: activityData?.onPositionClick,
|
|
14733
|
-
offeringOrders: activityData?.offeringOrders,
|
|
14734
|
-
openOrders: activityData?.openOrders,
|
|
14735
|
-
orderHistory: activityData?.orderHistory,
|
|
14736
|
-
tradeHistory: activityData?.tradeHistory,
|
|
14737
|
-
transfers: activityData?.transfers,
|
|
14738
|
-
onCancelOrder: activityData?.onCancelOrder,
|
|
14739
|
-
cancellingOrderId: activityData?.cancellingOrderId,
|
|
14740
|
-
defaultTab: activityData?.defaultTab ?? "positions",
|
|
14741
|
-
pageSize: activityData?.pageSize ?? 6
|
|
14742
|
-
}
|
|
14743
|
-
) })
|
|
14744
|
-
] });
|
|
14745
|
-
}
|
|
14746
|
-
var Row2 = styled9.div`
|
|
14747
|
-
display: grid;
|
|
14748
|
-
grid-template-columns: 1fr 2fr;
|
|
14749
|
-
gap: 1.5rem;
|
|
14750
|
-
margin-top: 1.5rem;
|
|
14751
|
-
max-width: 1800px;
|
|
14752
|
-
margin-left: auto;
|
|
14753
|
-
margin-right: auto;
|
|
14754
|
-
overflow: hidden;
|
|
14755
|
-
@media (max-width: 768px) {
|
|
14756
|
-
grid-template-columns: 1fr;
|
|
14757
|
-
gap: 1rem;
|
|
14758
|
-
}
|
|
14759
|
-
& > * {
|
|
14760
|
-
min-width: 0;
|
|
14761
|
-
overflow: hidden;
|
|
14762
|
-
}
|
|
14763
|
-
`;
|
|
14764
|
-
var ActivityWrapper = styled9.div`
|
|
14765
|
-
background-color: var(--color-card-darker, #111);
|
|
14766
|
-
border-radius: 8px;
|
|
14767
|
-
padding: 1.5rem;
|
|
14768
|
-
display: flex;
|
|
14769
|
-
flex-direction: column;
|
|
14770
|
-
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
|
|
14771
|
-
border: 1px solid var(--color-border);
|
|
14772
|
-
min-height: 280px;
|
|
14773
|
-
overflow: hidden;
|
|
14774
|
-
@media (max-width: 768px) {
|
|
14775
|
-
padding: 1rem;
|
|
14776
|
-
min-height: auto;
|
|
14777
|
-
}
|
|
14778
|
-
`;
|
|
14779
|
-
function OrderConfirmationModal({
|
|
14780
|
-
open,
|
|
14781
|
-
onClose,
|
|
14782
|
-
hasInsufficientFunds,
|
|
14783
|
-
tokenQuantity,
|
|
14784
|
-
tokenPrice,
|
|
14785
|
-
propertyName,
|
|
14786
|
-
tokenSymbol,
|
|
14787
|
-
estExposure,
|
|
14788
|
-
orderTotal,
|
|
14789
|
-
availableBalance,
|
|
14790
|
-
onConfirm,
|
|
14791
|
-
isPlacing = false,
|
|
14792
|
-
placingLabel = "Placing order\u2026"
|
|
14793
|
-
}) {
|
|
14794
|
-
if (!open) return null;
|
|
14795
|
-
const handleOverlayClose = () => {
|
|
14796
|
-
if (isPlacing) return;
|
|
14797
|
-
onClose();
|
|
14798
|
-
};
|
|
14799
|
-
return /* @__PURE__ */ jsx(Overlay3, { onClick: handleOverlayClose, children: /* @__PURE__ */ jsxs(Modal, { onClick: (e) => e.stopPropagation(), children: [
|
|
14800
|
-
/* @__PURE__ */ jsx(ModalHeader, { children: /* @__PURE__ */ jsxs("h3", { children: [
|
|
14801
|
-
"Confirm Order",
|
|
14802
|
-
/* @__PURE__ */ jsx(Badge2, { children: "Subscribe" })
|
|
14803
|
-
] }) }),
|
|
14804
|
-
/* @__PURE__ */ jsx(ModalBody, { children: [
|
|
14805
|
-
{ label: "Order Type", value: "Primary Offering" },
|
|
14806
|
-
{ label: "Property", value: propertyName },
|
|
14807
|
-
{ label: "Units", value: `${tokenQuantity.toLocaleString()} ${tokenSymbol}`, highlight: true },
|
|
14808
|
-
{
|
|
14809
|
-
label: "Unit Price",
|
|
14810
|
-
value: `$${tokenPrice.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
|
|
14811
|
-
},
|
|
14812
|
-
{ label: "Property Exposure", value: `${estExposure}%` },
|
|
14813
|
-
{ label: "Total Investment", value: `$${orderTotal.toLocaleString()}`, highlight: true }
|
|
14814
|
-
].map((row, index, arr) => /* @__PURE__ */ jsxs(ModalRow, { "data-divider": index < arr.length - 1, children: [
|
|
14815
|
-
/* @__PURE__ */ jsx("span", { children: row.label }),
|
|
14816
|
-
/* @__PURE__ */ jsx("strong", { "data-highlight": row.highlight, children: row.value })
|
|
14817
|
-
] }, row.label)) }),
|
|
14818
|
-
hasInsufficientFunds ? /* @__PURE__ */ jsxs(Warning, { children: [
|
|
14819
|
-
/* @__PURE__ */ jsx("p", { children: "\u26A0 Insufficient Balance" }),
|
|
14820
|
-
/* @__PURE__ */ jsxs("small", { children: [
|
|
14821
|
-
"You need ",
|
|
14822
|
-
/* @__PURE__ */ jsxs("strong", { children: [
|
|
14823
|
-
"$",
|
|
14824
|
-
orderTotal.toLocaleString()
|
|
14825
|
-
] }),
|
|
14826
|
-
" but only have",
|
|
14827
|
-
" ",
|
|
14828
|
-
/* @__PURE__ */ jsxs("strong", { children: [
|
|
14829
|
-
"$",
|
|
14830
|
-
availableBalance.toLocaleString()
|
|
14831
|
-
] }),
|
|
14832
|
-
" available."
|
|
14833
|
-
] })
|
|
14834
|
-
] }) : /* @__PURE__ */ jsxs(Summary, { children: [
|
|
14835
|
-
"Your order for ",
|
|
14836
|
-
/* @__PURE__ */ jsxs("strong", { children: [
|
|
14837
|
-
tokenQuantity.toLocaleString(),
|
|
14838
|
-
" ",
|
|
14839
|
-
tokenSymbol,
|
|
14840
|
-
" units"
|
|
14841
|
-
] }),
|
|
14842
|
-
" in the",
|
|
14843
|
-
" ",
|
|
14844
|
-
/* @__PURE__ */ jsx("strong", { children: propertyName }),
|
|
14845
|
-
" Primary Offering will be placed for ",
|
|
14846
|
-
/* @__PURE__ */ jsxs("strong", { children: [
|
|
14847
|
-
"$",
|
|
14848
|
-
tokenPrice.toFixed(2),
|
|
14849
|
-
"/unit"
|
|
14850
|
-
] }),
|
|
14851
|
-
"."
|
|
14852
|
-
] }),
|
|
14853
|
-
/* @__PURE__ */ jsxs(ButtonRow2, { children: [
|
|
14854
|
-
/* @__PURE__ */ jsx(
|
|
14855
|
-
"button",
|
|
14856
|
-
{
|
|
14857
|
-
type: "button",
|
|
14858
|
-
onClick: onClose,
|
|
14859
|
-
className: "secondary",
|
|
14860
|
-
disabled: isPlacing,
|
|
14861
|
-
children: "Cancel"
|
|
14862
|
-
}
|
|
14863
|
-
),
|
|
14864
|
-
!hasInsufficientFunds && /* @__PURE__ */ jsx(
|
|
14865
|
-
"button",
|
|
14866
|
-
{
|
|
14867
|
-
type: "button",
|
|
14868
|
-
onClick: onConfirm,
|
|
14869
|
-
className: "primary",
|
|
14870
|
-
disabled: isPlacing,
|
|
14871
|
-
children: isPlacing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
14872
|
-
/* @__PURE__ */ jsx(Spinner, { "aria-hidden": true }),
|
|
14873
|
-
/* @__PURE__ */ jsx("span", { children: placingLabel })
|
|
14874
|
-
] }) : "Place Order"
|
|
14875
|
-
}
|
|
14876
|
-
)
|
|
14877
|
-
] })
|
|
14878
|
-
] }) });
|
|
14879
|
-
}
|
|
14880
|
-
var Overlay3 = styled9.div`
|
|
14881
|
-
position: fixed;
|
|
14882
|
-
top: 0;
|
|
14883
|
-
left: 0;
|
|
14884
|
-
right: 0;
|
|
14885
|
-
bottom: 0;
|
|
14886
|
-
background-color: rgba(0,0,0,0.7);
|
|
14887
|
-
display: flex;
|
|
14888
|
-
align-items: center;
|
|
14889
|
-
justify-content: center;
|
|
14890
|
-
z-index: 10000;
|
|
14891
|
-
backdrop-filter: blur(4px);
|
|
14892
|
-
`;
|
|
14893
|
-
var Modal = styled9.div`
|
|
14894
|
-
background: linear-gradient(135deg, rgba(26,29,35,0.95) 0%, rgba(26,29,35,0.98) 100%);
|
|
14895
|
-
border: 1px solid rgba(255,255,255,0.1);
|
|
14896
|
-
border-radius: 16px;
|
|
14897
|
-
padding: 2rem;
|
|
14898
|
-
max-width: 480px;
|
|
14899
|
-
width: 90%;
|
|
14900
|
-
box-shadow: 0 20px 60px rgba(0,0,0,0.5);
|
|
14901
|
-
`;
|
|
14902
|
-
var ModalHeader = styled9.div`
|
|
14903
|
-
display: flex;
|
|
14904
|
-
align-items: center;
|
|
14905
|
-
margin-bottom: 1.5rem;
|
|
14906
|
-
padding-bottom: 1rem;
|
|
14907
|
-
border-bottom: 1px solid rgba(255,255,255,0.1);
|
|
14908
|
-
h3 {
|
|
14909
|
-
margin: 0;
|
|
14910
|
-
font-size: 1.25rem;
|
|
14911
|
-
font-weight: 600;
|
|
14912
|
-
color: #fff;
|
|
14913
|
-
display: flex;
|
|
14914
|
-
align-items: center;
|
|
14915
|
-
gap: 0.5rem;
|
|
14916
|
-
}
|
|
14570
|
+
padding: 0.25rem;
|
|
14571
|
+
line-height: 1;
|
|
14572
|
+
transition: color 0.15s;
|
|
14573
|
+
|
|
14574
|
+
&:hover { color: #fff; }
|
|
14917
14575
|
`;
|
|
14918
|
-
var
|
|
14919
|
-
|
|
14920
|
-
border-radius: 6px;
|
|
14921
|
-
font-size: 0.75rem;
|
|
14576
|
+
var CloseAllTitle = styled9.div`
|
|
14577
|
+
font-size: 1rem;
|
|
14922
14578
|
font-weight: 600;
|
|
14923
|
-
|
|
14924
|
-
|
|
14925
|
-
background: linear-gradient(135deg, rgba(212,175,55,0.2) 0%, rgba(212,175,55,0.1) 100%);
|
|
14926
|
-
color: #D4AF37;
|
|
14927
|
-
border: 1px solid rgba(212,175,55,0.3);
|
|
14579
|
+
color: #fff;
|
|
14580
|
+
margin-bottom: 0.5rem;
|
|
14928
14581
|
`;
|
|
14929
|
-
var
|
|
14930
|
-
|
|
14931
|
-
|
|
14932
|
-
|
|
14582
|
+
var CloseAllDesc = styled9.div`
|
|
14583
|
+
font-size: 0.8rem;
|
|
14584
|
+
color: rgba(255, 255, 255, 0.5);
|
|
14585
|
+
line-height: 1.45;
|
|
14586
|
+
margin-bottom: 1rem;
|
|
14933
14587
|
`;
|
|
14934
|
-
var
|
|
14588
|
+
var CloseAllOption = styled9.div`
|
|
14935
14589
|
display: flex;
|
|
14936
|
-
justify-content: space-between;
|
|
14937
14590
|
align-items: center;
|
|
14938
|
-
|
|
14939
|
-
|
|
14940
|
-
&[data-divider='false'] {
|
|
14941
|
-
border-bottom: none;
|
|
14942
|
-
}
|
|
14943
|
-
span {
|
|
14944
|
-
color: rgba(255,255,255,0.6);
|
|
14945
|
-
font-size: 0.9rem;
|
|
14946
|
-
}
|
|
14947
|
-
strong {
|
|
14948
|
-
color: #fff;
|
|
14949
|
-
font-weight: 500;
|
|
14950
|
-
font-size: 0.95rem;
|
|
14951
|
-
}
|
|
14952
|
-
strong[data-highlight='true'] {
|
|
14953
|
-
color: #D4AF37;
|
|
14954
|
-
font-weight: 600;
|
|
14955
|
-
}
|
|
14956
|
-
`;
|
|
14957
|
-
var Warning = styled9.div`
|
|
14958
|
-
background: rgba(246,70,93,0.1);
|
|
14959
|
-
border: 1px solid rgba(246,70,93,0.3);
|
|
14960
|
-
border-radius: 8px;
|
|
14961
|
-
padding: 1rem;
|
|
14962
|
-
margin-bottom: 1.5rem;
|
|
14963
|
-
p {
|
|
14964
|
-
margin: 0;
|
|
14965
|
-
color: #f6465d;
|
|
14966
|
-
font-size: 0.9rem;
|
|
14967
|
-
font-weight: 600;
|
|
14968
|
-
}
|
|
14969
|
-
small {
|
|
14970
|
-
display: block;
|
|
14971
|
-
margin-top: 0.5rem;
|
|
14972
|
-
color: rgba(255,255,255,0.7);
|
|
14973
|
-
font-size: 0.85rem;
|
|
14974
|
-
line-height: 1.5;
|
|
14975
|
-
}
|
|
14976
|
-
`;
|
|
14977
|
-
var Summary = styled9.div`
|
|
14978
|
-
background: rgba(255,255,255,0.03);
|
|
14979
|
-
border: 1px solid rgba(255,255,255,0.08);
|
|
14591
|
+
gap: 0.6rem;
|
|
14592
|
+
padding: 0.6rem 0.75rem;
|
|
14980
14593
|
border-radius: 8px;
|
|
14981
|
-
|
|
14982
|
-
|
|
14983
|
-
color: rgba(255,255,255,0.
|
|
14984
|
-
|
|
14985
|
-
|
|
14986
|
-
|
|
14987
|
-
|
|
14988
|
-
to { transform: rotate(360deg); }
|
|
14594
|
+
cursor: pointer;
|
|
14595
|
+
font-size: 0.85rem;
|
|
14596
|
+
color: rgba(255, 255, 255, 0.85);
|
|
14597
|
+
transition: background 0.15s;
|
|
14598
|
+
margin-bottom: 0.35rem;
|
|
14599
|
+
|
|
14600
|
+
&:hover { background: rgba(255, 255, 255, 0.04); }
|
|
14989
14601
|
`;
|
|
14990
|
-
var
|
|
14991
|
-
|
|
14992
|
-
|
|
14993
|
-
height: 14px;
|
|
14602
|
+
var CloseAllRadio = styled9.div`
|
|
14603
|
+
width: 16px;
|
|
14604
|
+
height: 16px;
|
|
14994
14605
|
border-radius: 50%;
|
|
14995
|
-
border: 2px solid rgba(255, 255, 255, 0.
|
|
14996
|
-
|
|
14997
|
-
|
|
14998
|
-
|
|
14999
|
-
|
|
15000
|
-
|
|
15001
|
-
|
|
15002
|
-
|
|
15003
|
-
|
|
15004
|
-
|
|
15005
|
-
|
|
15006
|
-
|
|
15007
|
-
|
|
15008
|
-
|
|
15009
|
-
|
|
15010
|
-
|
|
15011
|
-
display: inline-flex;
|
|
15012
|
-
align-items: center;
|
|
15013
|
-
justify-content: center;
|
|
15014
|
-
}
|
|
15015
|
-
button:disabled {
|
|
15016
|
-
cursor: not-allowed;
|
|
15017
|
-
opacity: 0.75;
|
|
15018
|
-
}
|
|
15019
|
-
.secondary {
|
|
15020
|
-
background: rgba(255,255,255,0.1);
|
|
15021
|
-
color: rgba(255,255,255,0.8);
|
|
15022
|
-
border: 1px solid rgba(255,255,255,0.2);
|
|
15023
|
-
}
|
|
15024
|
-
.primary {
|
|
15025
|
-
background: linear-gradient(135deg, #0ecb81 0%, #0ba968 100%);
|
|
15026
|
-
color: #fff;
|
|
15027
|
-
border: none;
|
|
15028
|
-
box-shadow: 0 4px 12px rgba(14,203,129,0.3);
|
|
14606
|
+
border: 2px solid ${(p) => p.$selected ? "#f6465d" : "rgba(255, 255, 255, 0.2)"};
|
|
14607
|
+
position: relative;
|
|
14608
|
+
flex-shrink: 0;
|
|
14609
|
+
transition: border-color 0.15s;
|
|
14610
|
+
|
|
14611
|
+
&::after {
|
|
14612
|
+
content: '';
|
|
14613
|
+
position: absolute;
|
|
14614
|
+
top: 50%;
|
|
14615
|
+
left: 50%;
|
|
14616
|
+
transform: translate(-50%, -50%);
|
|
14617
|
+
width: 8px;
|
|
14618
|
+
height: 8px;
|
|
14619
|
+
border-radius: 50%;
|
|
14620
|
+
background: ${(p) => p.$selected ? "#f6465d" : "transparent"};
|
|
14621
|
+
transition: background 0.15s;
|
|
15029
14622
|
}
|
|
15030
14623
|
`;
|
|
14624
|
+
var CloseAllConfirmBtn = styled9.button`
|
|
14625
|
+
width: 100%;
|
|
14626
|
+
margin-top: 0.75rem;
|
|
14627
|
+
background: rgba(246, 70, 93, 0.15);
|
|
14628
|
+
border: 1px solid rgba(246, 70, 93, 0.4);
|
|
14629
|
+
border-radius: 8px;
|
|
14630
|
+
padding: 0.7rem 1rem;
|
|
14631
|
+
font-size: 0.85rem;
|
|
14632
|
+
font-weight: 600;
|
|
14633
|
+
color: #f6465d;
|
|
14634
|
+
cursor: pointer;
|
|
14635
|
+
transition: all 0.15s ease;
|
|
15031
14636
|
|
|
15032
|
-
|
|
15033
|
-
|
|
15034
|
-
|
|
15035
|
-
|
|
15036
|
-
{ src: "/properties/Musgrave/LivingRoom_Musgrave_Loafmarkets.jpg", title: "Living Room", subtitle: "Spacious living" },
|
|
15037
|
-
{ src: "/properties/Musgrave/Kitchen_Musgrave_Loafmarkets.jpg", title: "Kitchen", subtitle: "Modern design" },
|
|
15038
|
-
{ src: "/properties/Musgrave/DiningRoom_Musgrave_Loafmarkets.jpg", title: "Dining Room", subtitle: "Elegant dining" },
|
|
15039
|
-
{ src: "/properties/Musgrave/BreakfastRoom_Musgrave_Loafmarkets.jpg", title: "Breakfast Room", subtitle: "Morning light" },
|
|
15040
|
-
{ src: "/properties/Musgrave/MainBedroom_Musgrave_Loafmarkets.jpg", title: "Main Bedroom", subtitle: "Master suite" },
|
|
15041
|
-
{ src: "/properties/Musgrave/GuestBedroom_Musgrave_Loafmarkets.jpg", title: "Guest Bedroom", subtitle: "Comfortable stay" },
|
|
15042
|
-
{ src: "/properties/Musgrave/Bathroom_Musgrave_Loafmarkets.jpg", title: "Bathroom", subtitle: "Luxury finishes" },
|
|
15043
|
-
{ src: "/properties/Musgrave/PoolArea_Musgrave_Loafmarkets.jpg", title: "Pool Area", subtitle: "Resort living" },
|
|
15044
|
-
{ src: "/properties/Musgrave/GardenView_Musgrave_Loafmarkets.jpg", title: "Garden View", subtitle: "Lush gardens" },
|
|
15045
|
-
{ src: "/properties/Musgrave/SideGarden_Musgrave_Loafmarkets.jpg", title: "Side Garden", subtitle: "Private retreat" },
|
|
15046
|
-
{ src: "/properties/Musgrave/AerialView_Musgrave_Loafmarkets.jpg", title: "Aerial View", subtitle: "Property overview" },
|
|
15047
|
-
{ src: "/properties/Musgrave/AerialLocation_Musgrave_Loafmarkets.jpg", title: "Aerial Location", subtitle: "Neighborhood" },
|
|
15048
|
-
{ src: "/properties/Musgrave/Floorplan_Musgrave_Loafmarkets.jpg", title: "Floorplan", subtitle: "Layout" }
|
|
15049
|
-
];
|
|
15050
|
-
var galleryCategories = [
|
|
15051
|
-
{ name: "Exterior", startIndex: 0 },
|
|
15052
|
-
{ name: "Living", startIndex: 2 },
|
|
15053
|
-
{ name: "Bedrooms", startIndex: 6 },
|
|
15054
|
-
{ name: "Outdoor", startIndex: 9 },
|
|
15055
|
-
{ name: "Aerial", startIndex: 12 },
|
|
15056
|
-
{ name: "Floorplan", startIndex: 14 }
|
|
15057
|
-
];
|
|
15058
|
-
var STATUS_COLOR2 = {
|
|
15059
|
-
PENDING: "#D4AF37",
|
|
15060
|
-
LIVE: "#0ecb81",
|
|
15061
|
-
CLOSED: "#848e9c",
|
|
15062
|
-
CANCELLED: "#f6465d"
|
|
15063
|
-
};
|
|
14637
|
+
&:hover {
|
|
14638
|
+
background: rgba(246, 70, 93, 0.25);
|
|
14639
|
+
}
|
|
14640
|
+
`;
|
|
15064
14641
|
function PropertyBuy({
|
|
15065
14642
|
propertyName = "Loaf Property",
|
|
15066
14643
|
propertyLocation: propertyLocationLabel = "Sydney, NSW",
|
|
@@ -15107,7 +14684,6 @@ function PropertyBuy({
|
|
|
15107
14684
|
const offeringValuation = saleData?.offeringValuation ?? tokenPrice * supplyToSell;
|
|
15108
14685
|
const ipoStatus = saleData?.status ?? "PENDING";
|
|
15109
14686
|
const ipoStarted = ipoStatus === "LIVE" || isPrivateClient && ipoStatus === "PENDING";
|
|
15110
|
-
const ipoEnded = ipoStatus === "CLOSED" || ipoStatus === "CANCELLED";
|
|
15111
14687
|
const statusLabel = ipoStatus;
|
|
15112
14688
|
const statusColor = STATUS_COLOR2[ipoStatus] ?? "#D4AF37";
|
|
15113
14689
|
const displayStatusLabel = isPrivateClient && ipoStatus !== "LIVE" ? "Private Client Access" : statusLabel;
|
|
@@ -15231,17 +14807,23 @@ function PropertyBuy({
|
|
|
15231
14807
|
isPrivateClient
|
|
15232
14808
|
}
|
|
15233
14809
|
),
|
|
15234
|
-
/* @__PURE__ */ jsx(
|
|
15235
|
-
|
|
14810
|
+
/* @__PURE__ */ jsx(ActivityWrapper, { children: /* @__PURE__ */ jsx(
|
|
14811
|
+
PortfolioActivityPanel,
|
|
15236
14812
|
{
|
|
15237
|
-
|
|
15238
|
-
|
|
15239
|
-
|
|
15240
|
-
|
|
15241
|
-
|
|
15242
|
-
|
|
14813
|
+
positions: portfolioActivity?.positions,
|
|
14814
|
+
showPositionsTab: true,
|
|
14815
|
+
onPositionClick: portfolioActivity?.onPositionClick,
|
|
14816
|
+
offeringOrders: portfolioActivity?.offeringOrders,
|
|
14817
|
+
openOrders: portfolioActivity?.openOrders,
|
|
14818
|
+
orderHistory: portfolioActivity?.orderHistory,
|
|
14819
|
+
tradeHistory: portfolioActivity?.tradeHistory,
|
|
14820
|
+
transfers: portfolioActivity?.transfers,
|
|
14821
|
+
onCancelOrder: portfolioActivity?.onCancelOrder,
|
|
14822
|
+
cancellingOrderId: portfolioActivity?.cancellingOrderId,
|
|
14823
|
+
defaultTab: "subscriptions",
|
|
14824
|
+
pageSize: 6
|
|
15243
14825
|
}
|
|
15244
|
-
),
|
|
14826
|
+
) }),
|
|
15245
14827
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
15246
14828
|
/* @__PURE__ */ jsx(
|
|
15247
14829
|
OrderPanel,
|
|
@@ -15281,24 +14863,22 @@ function PropertyBuy({
|
|
|
15281
14863
|
purchaseError && /* @__PURE__ */ jsx("div", { style: { marginTop: "0.75rem", padding: "0.75rem 1rem", borderRadius: "8px", background: "rgba(246,70,93,0.1)", border: "1px solid rgba(246,70,93,0.3)", color: "#f6465d", fontSize: "0.8rem", fontWeight: 500 }, children: purchaseError })
|
|
15282
14864
|
] })
|
|
15283
14865
|
] }),
|
|
15284
|
-
/* @__PURE__ */ jsxs(
|
|
14866
|
+
/* @__PURE__ */ jsxs(NewsVideoRow, { children: [
|
|
15285
14867
|
/* @__PURE__ */ jsx(
|
|
15286
|
-
|
|
14868
|
+
PropertyNewsUpdates,
|
|
15287
14869
|
{
|
|
15288
|
-
|
|
15289
|
-
|
|
15290
|
-
|
|
15291
|
-
tokenName
|
|
14870
|
+
items: newsItems,
|
|
14871
|
+
heading: "Property News & Updates",
|
|
14872
|
+
connectionStatus: newsConnectionStatus
|
|
15292
14873
|
}
|
|
15293
14874
|
),
|
|
15294
|
-
/* @__PURE__ */
|
|
15295
|
-
|
|
15296
|
-
{
|
|
15297
|
-
|
|
15298
|
-
|
|
15299
|
-
|
|
15300
|
-
|
|
15301
|
-
)
|
|
14875
|
+
/* @__PURE__ */ jsxs(VideoWrapper, { children: [
|
|
14876
|
+
/* @__PURE__ */ jsx("div", { className: "section-header", children: /* @__PURE__ */ jsx("h3", { children: propertyName }) }),
|
|
14877
|
+
/* @__PURE__ */ jsx("div", { className: "video-container", children: /* @__PURE__ */ jsxs("video", { controls: true, loop: true, autoPlay: true, muted: true, playsInline: true, children: [
|
|
14878
|
+
/* @__PURE__ */ jsx("source", { src: "/properties/Musgrave/musgrave.mp4", type: "video/mp4" }),
|
|
14879
|
+
"Your browser does not support the video tag."
|
|
14880
|
+
] }) })
|
|
14881
|
+
] })
|
|
15302
14882
|
] }),
|
|
15303
14883
|
/* @__PURE__ */ jsx(
|
|
15304
14884
|
OrderConfirmationModal,
|
|
@@ -15389,6 +14969,85 @@ var HeroGrid = styled9.div`
|
|
|
15389
14969
|
gap: 0.5rem;
|
|
15390
14970
|
}
|
|
15391
14971
|
`;
|
|
14972
|
+
var ActivityWrapper = styled9.div`
|
|
14973
|
+
background-color: var(--color-card-darker, #111);
|
|
14974
|
+
border-radius: 8px;
|
|
14975
|
+
padding: 1.5rem;
|
|
14976
|
+
display: flex;
|
|
14977
|
+
flex-direction: column;
|
|
14978
|
+
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
|
|
14979
|
+
border: 1px solid var(--color-border);
|
|
14980
|
+
min-height: 280px;
|
|
14981
|
+
overflow: hidden;
|
|
14982
|
+
@media (max-width: 768px) {
|
|
14983
|
+
padding: 1rem;
|
|
14984
|
+
min-height: auto;
|
|
14985
|
+
}
|
|
14986
|
+
`;
|
|
14987
|
+
var NewsVideoRow = styled9.div`
|
|
14988
|
+
display: grid;
|
|
14989
|
+
grid-template-columns: 1fr 2fr;
|
|
14990
|
+
gap: 1.5rem;
|
|
14991
|
+
margin-top: 1.5rem;
|
|
14992
|
+
max-width: 1800px;
|
|
14993
|
+
margin-left: auto;
|
|
14994
|
+
margin-right: auto;
|
|
14995
|
+
overflow: hidden;
|
|
14996
|
+
@media (max-width: 768px) {
|
|
14997
|
+
grid-template-columns: 1fr;
|
|
14998
|
+
gap: 1rem;
|
|
14999
|
+
}
|
|
15000
|
+
& > * {
|
|
15001
|
+
min-width: 0;
|
|
15002
|
+
overflow: hidden;
|
|
15003
|
+
}
|
|
15004
|
+
`;
|
|
15005
|
+
var VideoWrapper = styled9.div`
|
|
15006
|
+
background-color: var(--color-card-darker, #111);
|
|
15007
|
+
border-radius: 8px;
|
|
15008
|
+
padding: 1.5rem;
|
|
15009
|
+
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
|
|
15010
|
+
border: 1px solid var(--color-border);
|
|
15011
|
+
display: flex;
|
|
15012
|
+
flex-direction: column;
|
|
15013
|
+
overflow: hidden;
|
|
15014
|
+
.section-header {
|
|
15015
|
+
display: flex;
|
|
15016
|
+
justify-content: space-between;
|
|
15017
|
+
align-items: center;
|
|
15018
|
+
padding-bottom: 0.75rem;
|
|
15019
|
+
margin-bottom: 1rem;
|
|
15020
|
+
border-bottom: 1px solid rgba(255,255,255,0.1);
|
|
15021
|
+
h3 {
|
|
15022
|
+
font-size: 0.9rem;
|
|
15023
|
+
font-weight: 600;
|
|
15024
|
+
color: var(--color-text);
|
|
15025
|
+
margin: 0;
|
|
15026
|
+
}
|
|
15027
|
+
}
|
|
15028
|
+
.video-container {
|
|
15029
|
+
flex: 1;
|
|
15030
|
+
position: relative;
|
|
15031
|
+
background: #000;
|
|
15032
|
+
border-radius: 8px;
|
|
15033
|
+
overflow: hidden;
|
|
15034
|
+
min-height: 300px;
|
|
15035
|
+
video {
|
|
15036
|
+
position: absolute;
|
|
15037
|
+
top: 0;
|
|
15038
|
+
left: 0;
|
|
15039
|
+
width: 100%;
|
|
15040
|
+
height: 100%;
|
|
15041
|
+
object-fit: cover;
|
|
15042
|
+
}
|
|
15043
|
+
}
|
|
15044
|
+
@media (max-width: 768px) {
|
|
15045
|
+
padding: 1rem;
|
|
15046
|
+
.video-container {
|
|
15047
|
+
min-height: 200px;
|
|
15048
|
+
}
|
|
15049
|
+
}
|
|
15050
|
+
`;
|
|
15392
15051
|
var PaymentOption = styled9.div`
|
|
15393
15052
|
display: flex;
|
|
15394
15053
|
align-items: center;
|
|
@@ -16378,7 +16037,7 @@ function PropertyValuation({
|
|
|
16378
16037
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
|
|
16379
16038
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
16380
16039
|
/* @__PURE__ */ jsx(PropertyDetailLabel, { children: "Last Price" }),
|
|
16381
|
-
/* @__PURE__ */ jsx(PricingDetailValue, { children:
|
|
16040
|
+
/* @__PURE__ */ jsx(PricingDetailValue, { children: formatCurrency5(lastPrice) })
|
|
16382
16041
|
] }),
|
|
16383
16042
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
16384
16043
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [
|
|
@@ -16389,11 +16048,11 @@ function PropertyValuation({
|
|
|
16389
16048
|
] })
|
|
16390
16049
|
] }),
|
|
16391
16050
|
/* @__PURE__ */ jsxs(PricingDetailValue, { style: { color: "var(--color-accent)", fontWeight: "bold" }, children: [
|
|
16392
|
-
|
|
16051
|
+
formatCurrency5(fairValue),
|
|
16393
16052
|
" ",
|
|
16394
16053
|
/* @__PURE__ */ jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
|
|
16395
16054
|
"(",
|
|
16396
|
-
|
|
16055
|
+
formatCurrency5(fairValue * tokensOutstanding, { maximumFractionDigits: 0 }),
|
|
16397
16056
|
")"
|
|
16398
16057
|
] })
|
|
16399
16058
|
] })
|
|
@@ -16410,7 +16069,7 @@ function PropertyValuation({
|
|
|
16410
16069
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "fairValue", position: 50 }),
|
|
16411
16070
|
/* @__PURE__ */ jsxs(GaugePriceTag, { position: gaugePosition, children: [
|
|
16412
16071
|
/* @__PURE__ */ jsx("span", { children: "Last Price" }),
|
|
16413
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
16072
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency5(lastPrice) })
|
|
16414
16073
|
] }),
|
|
16415
16074
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "lastPrice", position: gaugePosition })
|
|
16416
16075
|
] }),
|
|
@@ -16418,7 +16077,7 @@ function PropertyValuation({
|
|
|
16418
16077
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#4CAF50" }, children: [
|
|
16419
16078
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
16420
16079
|
"< ",
|
|
16421
|
-
|
|
16080
|
+
formatCurrency5(undervaluedThreshold)
|
|
16422
16081
|
] }),
|
|
16423
16082
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
16424
16083
|
"(",
|
|
@@ -16427,7 +16086,7 @@ function PropertyValuation({
|
|
|
16427
16086
|
] })
|
|
16428
16087
|
] }) }),
|
|
16429
16088
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "var(--color-accent)" }, children: [
|
|
16430
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
16089
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency5(fairValue) }),
|
|
16431
16090
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
16432
16091
|
"(",
|
|
16433
16092
|
formatMillions(fairValue * tokensOutstanding),
|
|
@@ -16437,7 +16096,7 @@ function PropertyValuation({
|
|
|
16437
16096
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#F44336" }, children: [
|
|
16438
16097
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
16439
16098
|
"> ",
|
|
16440
|
-
|
|
16099
|
+
formatCurrency5(overvaluedThreshold)
|
|
16441
16100
|
] }),
|
|
16442
16101
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
16443
16102
|
"(",
|
|
@@ -16530,7 +16189,7 @@ function PropertyValuation({
|
|
|
16530
16189
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "fairValue", position: 50 }),
|
|
16531
16190
|
/* @__PURE__ */ jsxs(GaugePriceTag, { position: gaugePosition, children: [
|
|
16532
16191
|
/* @__PURE__ */ jsx("span", { children: "Last Price" }),
|
|
16533
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
16192
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency5(lastPrice) })
|
|
16534
16193
|
] }),
|
|
16535
16194
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "lastPrice", position: gaugePosition })
|
|
16536
16195
|
] }),
|
|
@@ -16538,7 +16197,7 @@ function PropertyValuation({
|
|
|
16538
16197
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#0ecb81" }, children: [
|
|
16539
16198
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
16540
16199
|
"< ",
|
|
16541
|
-
|
|
16200
|
+
formatCurrency5(undervaluedThreshold)
|
|
16542
16201
|
] }),
|
|
16543
16202
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
16544
16203
|
"(",
|
|
@@ -16547,7 +16206,7 @@ function PropertyValuation({
|
|
|
16547
16206
|
] })
|
|
16548
16207
|
] }) }),
|
|
16549
16208
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#f0b90b" }, children: [
|
|
16550
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
16209
|
+
/* @__PURE__ */ jsx("span", { children: formatCurrency5(fairValue) }),
|
|
16551
16210
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
16552
16211
|
"(",
|
|
16553
16212
|
formatMillions(fairValue * tokensOutstanding),
|
|
@@ -16557,7 +16216,7 @@ function PropertyValuation({
|
|
|
16557
16216
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#f6465d" }, children: [
|
|
16558
16217
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
16559
16218
|
"> ",
|
|
16560
|
-
|
|
16219
|
+
formatCurrency5(overvaluedThreshold)
|
|
16561
16220
|
] }),
|
|
16562
16221
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
16563
16222
|
"(",
|
|
@@ -16600,7 +16259,7 @@ function PropertyValuation({
|
|
|
16600
16259
|
/* @__PURE__ */ jsxs(SalePriceBar, { children: [
|
|
16601
16260
|
/* @__PURE__ */ jsxs(SalePriceLeft, { children: [
|
|
16602
16261
|
/* @__PURE__ */ jsx(SalePriceLabel, { children: "Sale Price" }),
|
|
16603
|
-
/* @__PURE__ */ jsx(SalePriceAmount, { children:
|
|
16262
|
+
/* @__PURE__ */ jsx(SalePriceAmount, { children: formatCurrency5(sale.price) })
|
|
16604
16263
|
] }),
|
|
16605
16264
|
/* @__PURE__ */ jsx(SaleDate, { children: sale.saleDate ?? "\u2014" })
|
|
16606
16265
|
] }),
|
|
@@ -16627,7 +16286,7 @@ function PropertyValuation({
|
|
|
16627
16286
|
error ? /* @__PURE__ */ jsx(ErrorMessage, { children: error }) : null
|
|
16628
16287
|
] });
|
|
16629
16288
|
}
|
|
16630
|
-
function
|
|
16289
|
+
function formatCurrency5(value, options) {
|
|
16631
16290
|
if (value == null || Number.isNaN(value)) {
|
|
16632
16291
|
return "\u2014";
|
|
16633
16292
|
}
|
|
@@ -16701,7 +16360,7 @@ function buildAxisLabels(min, max) {
|
|
|
16701
16360
|
for (let i = 0; i < steps; i += 1) {
|
|
16702
16361
|
const ratio = i / (steps - 1);
|
|
16703
16362
|
const value = max - ratio * (max - min);
|
|
16704
|
-
labels.push(
|
|
16363
|
+
labels.push(formatCurrency5(value, { maximumFractionDigits: 0, minimumFractionDigits: 0 }));
|
|
16705
16364
|
}
|
|
16706
16365
|
return labels;
|
|
16707
16366
|
}
|