@loafmarkets/ui 0.1.327 → 0.1.329

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.mjs CHANGED
@@ -2832,6 +2832,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2832
2832
  viewAllHref,
2833
2833
  viewAllLabel = "View All News",
2834
2834
  connectionStatus = "live",
2835
+ disablePagination = false,
2835
2836
  ...props
2836
2837
  }, ref) => {
2837
2838
  const isPurchaseVariant = variant === "purchases";
@@ -2865,7 +2866,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2865
2866
  () => Math.max(1, Math.ceil(homeFilteredItems.length / ITEMS_PER_PAGE)),
2866
2867
  [homeFilteredItems.length]
2867
2868
  );
2868
- const homePaginatedItems = homeFilteredItems.slice(homePage * ITEMS_PER_PAGE, (homePage + 1) * ITEMS_PER_PAGE);
2869
+ const homePaginatedItems = disablePagination ? homeFilteredItems : homeFilteredItems.slice(homePage * ITEMS_PER_PAGE, (homePage + 1) * ITEMS_PER_PAGE);
2869
2870
  return /* @__PURE__ */ jsxs(
2870
2871
  "div",
2871
2872
  {
@@ -2920,7 +2921,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2920
2921
  /* @__PURE__ */ jsx(
2921
2922
  "div",
2922
2923
  {
2923
- className: cn("flex flex-1 flex-col overflow-hidden", isHomeVariant ? "mt-2 gap-0" : "mt-4 gap-3"),
2924
+ className: cn("flex flex-1 flex-col overflow-y-auto overflow-x-hidden", isHomeVariant ? "mt-2 gap-0" : "mt-4 gap-3"),
2924
2925
  style: !isPurchaseVariant && !isHomeVariant ? { minHeight: `${ITEMS_PER_PAGE * 86}px` } : void 0,
2925
2926
  children: isPurchaseVariant ? purchaseItems.length > 0 ? purchaseItems.slice(0, 7).map((purchase, index) => {
2926
2927
  const maxAmount = 6e4;
@@ -3064,7 +3065,7 @@ var PropertyNewsUpdates = React5.forwardRef(
3064
3065
  ] })
3065
3066
  }
3066
3067
  ),
3067
- isHomeVariant && homeTotalPages > 1 && /* @__PURE__ */ jsxs("div", { className: "mt-3 flex items-center justify-between text-xs text-white/60", children: [
3068
+ isHomeVariant && !disablePagination && homeTotalPages > 1 && /* @__PURE__ */ jsxs("div", { className: "mt-3 flex items-center justify-between text-xs text-white/60", children: [
3068
3069
  /* @__PURE__ */ jsx(
3069
3070
  "button",
3070
3071
  {
@@ -3128,6 +3129,46 @@ var PropertyNewsUpdates = React5.forwardRef(
3128
3129
  }
3129
3130
  );
3130
3131
  PropertyNewsUpdates.displayName = "PropertyNewsUpdates";
3132
+ function PropertyMediaRow({
3133
+ newsItems,
3134
+ newsConnectionStatus,
3135
+ videoSrc,
3136
+ videoTitle,
3137
+ className
3138
+ }) {
3139
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-4 lg:flex-row lg:items-stretch lg:gap-6 lg:h-[700px]", className), children: [
3140
+ /* @__PURE__ */ jsx("div", { className: "lg:hidden h-[320px]", children: /* @__PURE__ */ jsx(PropertyTour, { title: videoTitle, src: videoSrc, className: "h-full w-full !max-w-none" }) }),
3141
+ /* @__PURE__ */ jsx(
3142
+ "div",
3143
+ {
3144
+ className: "overflow-auto w-full max-h-[480px] lg:max-h-none lg:flex-[0_1_520px] lg:min-w-[380px] lg:max-w-[520px] lg:h-full border border-white/10 rounded-[12px]",
3145
+ style: { background: "#111111" },
3146
+ children: /* @__PURE__ */ jsx(
3147
+ PropertyNewsUpdates,
3148
+ {
3149
+ items: newsItems,
3150
+ variant: "home",
3151
+ heading: "Property News & Headlines",
3152
+ connectionStatus: newsConnectionStatus,
3153
+ highlightFirst: false,
3154
+ disablePagination: true,
3155
+ style: {
3156
+ maxWidth: "none",
3157
+ background: "transparent",
3158
+ borderRadius: 0,
3159
+ padding: "1.25rem 1.5rem",
3160
+ boxShadow: "none",
3161
+ border: "none",
3162
+ height: "100%",
3163
+ overflow: "visible"
3164
+ }
3165
+ }
3166
+ )
3167
+ }
3168
+ ),
3169
+ /* @__PURE__ */ jsx("div", { className: "hidden lg:flex lg:flex-1 lg:min-w-0 lg:h-full", children: /* @__PURE__ */ jsx(PropertyTour, { title: videoTitle, src: videoSrc, className: "h-full w-full !max-w-none" }) })
3170
+ ] });
3171
+ }
3131
3172
  var defaultFormat = (value) => new Intl.NumberFormat("en-US", {
3132
3173
  style: "currency",
3133
3174
  currency: "USD",
@@ -8518,14 +8559,6 @@ var DEFAULT_FEATURES = [
8518
8559
  { icon: /* @__PURE__ */ jsx(MdYard, { size: 18 }), label: "Garden" },
8519
8560
  { icon: /* @__PURE__ */ jsx(MdFitnessCenter, { size: 18 }), label: "Gym" }
8520
8561
  ];
8521
- var DEFAULT_PROPERTY_INFO = [
8522
- { label: "Property Type", value: "N/A" },
8523
- { label: "Built", value: "N/A" },
8524
- { label: "Ownership", value: "N/A" },
8525
- { label: "Zoning", value: "N/A" },
8526
- { label: "Levels", value: "N/A" },
8527
- { label: "Status", value: "N/A" }
8528
- ];
8529
8562
  var DEFAULT_DESCRIPTION = "Property description not available.";
8530
8563
  function truncateAddress(addr) {
8531
8564
  if (addr.length <= 12) return addr;
@@ -8566,7 +8599,7 @@ function generateDividendHistory(valuation, totalTokens, tokenPrice, realPriceHi
8566
8599
  return { records, priceHistory };
8567
8600
  }
8568
8601
  function PropertyOverview({
8569
- propertyName,
8602
+ propertyName: _propertyName,
8570
8603
  location,
8571
8604
  midPrice,
8572
8605
  onTradeClick,
@@ -8580,7 +8613,7 @@ function PropertyOverview({
8580
8613
  landSizeSqm: landProp,
8581
8614
  buildingSizeSqm: buildingProp,
8582
8615
  features: featuresProp,
8583
- propertyInfo: propertyInfoProp,
8616
+ propertyInfo: _propertyInfoProp,
8584
8617
  overviewData,
8585
8618
  bedrooms,
8586
8619
  bathrooms,
@@ -8618,25 +8651,11 @@ function PropertyOverview({
8618
8651
  }
8619
8652
  return f;
8620
8653
  })();
8621
- propertyInfoProp ?? (() => {
8622
- const info = [...DEFAULT_PROPERTY_INFO];
8623
- if (propertyTypeLabel && !overviewData) info[0] = { label: "Property Type", value: propertyTypeLabel };
8624
- if (overviewData) {
8625
- info[0] = { label: "Property Type", value: overviewData.propertyType ?? propertyTypeLabel ?? "N/A" };
8626
- info[1] = { label: "Built", value: String(overviewData.yearBuilt) };
8627
- info[2] = { label: "Ownership", value: overviewData.ownership };
8628
- info[3] = { label: "Zoning", value: overviewData.zoning };
8629
- info[4] = { label: "Levels", value: String(overviewData.levels) };
8630
- info[5] = { label: "DA Status", value: overviewData.daStatus, status: overviewData.daStatus?.toLowerCase() === "approved" ? "active" : "progress" };
8631
- }
8632
- return info;
8633
- })();
8634
8654
  const resolvedTokensIssued = tokensIssued ?? overviewData?.tokensIssued ?? null;
8635
8655
  const resolvedValuation = overviewData?.offeringValuation ?? (midPrice && resolvedTokensIssued ? midPrice * resolvedTokensIssued : null);
8636
8656
  const tokenPriceValue = midPrice > 0 ? midPrice : null;
8637
8657
  const weeklyRent = overviewData?.weeklyRent ?? 0;
8638
8658
  const annualRent = weeklyRent * 52;
8639
- resolvedValuation && annualRent > 0 ? (annualRent / resolvedValuation * 100).toFixed(2) : null;
8640
8659
  const monthlyCoupon = annualRent / 12;
8641
8660
  const tokenMarketCap = tokenPriceValue && resolvedTokensIssued ? tokenPriceValue * resolvedTokensIssued : null;
8642
8661
  const currentDividendYield = tokenMarketCap && monthlyCoupon > 0 ? (monthlyCoupon * 12 / tokenMarketCap * 100).toFixed(2) : null;
@@ -8659,12 +8678,6 @@ function PropertyOverview({
8659
8678
  { label: "Location", value: location || "\u2014" }
8660
8679
  ];
8661
8680
  const vol24hDollar = volume24h != null && tokenPriceValue ? volume24h * tokenPriceValue : null;
8662
- (() => {
8663
- if (!tokenMarketCap || tokenMarketCap <= 0 || vol24hDollar == null) return null;
8664
- const turnover = vol24hDollar / (tokenMarketCap / 2);
8665
- const holdPct = Math.max(0, Math.min(100, (1 - turnover) * 100));
8666
- return { holdPct, tradePct: +(100 - holdPct).toFixed(1) };
8667
- })();
8668
8681
  const fmtDollar = (v) => {
8669
8682
  if (v >= 1e6) return `$${(v / 1e6).toFixed(2)}M`;
8670
8683
  if (v >= 1e3) return `$${Math.round(v).toLocaleString()}`;
@@ -9424,20 +9437,6 @@ var AssetBentoNarratives = styled9.div`
9424
9437
  margin-top: 0.75rem;
9425
9438
  @media (max-width: 768px) { grid-template-columns: 1fr; }
9426
9439
  `;
9427
- styled9.div`
9428
- width: 100vw;
9429
- position: relative;
9430
- left: 50%;
9431
- margin-left: -50vw;
9432
- display: flex;
9433
- justify-content: center;
9434
- > * {
9435
- width: 100%;
9436
- max-width: 1800px;
9437
- padding: 0 clamp(1rem, 2vw, 2rem);
9438
- box-sizing: border-box;
9439
- }
9440
- `;
9441
9440
  var Section = styled9.div`
9442
9441
  background: #111;
9443
9442
  border-radius: 12px;
@@ -9554,45 +9553,6 @@ var TokenDetailValue = styled9.span`
9554
9553
  font-weight: 500;
9555
9554
  font-family: ${(p) => p.$mono ? "'SF Mono', 'Fira Code', monospace" : "inherit"};
9556
9555
  `;
9557
- styled9.div`
9558
- background: rgba(255,255,255,0.025);
9559
- border: 1px solid rgba(255,255,255,0.06);
9560
- border-radius: 10px;
9561
- padding: 1rem 1.25rem;
9562
- `;
9563
- styled9.div`
9564
- font-size: 0.6rem;
9565
- color: rgba(255,255,255,0.3);
9566
- text-transform: uppercase;
9567
- letter-spacing: 0.1em;
9568
- font-weight: 500;
9569
- margin-bottom: 0.85rem;
9570
- `;
9571
- styled9.div`
9572
- display: flex;
9573
- gap: 0.5rem;
9574
- justify-content: space-between;
9575
- `;
9576
- styled9.div`
9577
- display: flex;
9578
- flex-direction: column;
9579
- align-items: center;
9580
- gap: 0.4rem;
9581
- flex: 1;
9582
- min-width: 0;
9583
- `;
9584
- styled9.div`
9585
- display: flex;
9586
- align-items: center;
9587
- justify-content: center;
9588
- height: 44px;
9589
- `;
9590
- styled9.span`
9591
- font-size: 0.62rem;
9592
- color: rgba(255,255,255,0.35);
9593
- font-weight: 400;
9594
- text-align: center;
9595
- `;
9596
9556
  var CopyBtn = styled9.button`
9597
9557
  background: none;
9598
9558
  border: none;
@@ -9698,12 +9658,6 @@ var StatsTab = styled9.button`
9698
9658
  var StatsTabContent = styled9.div`
9699
9659
  padding: 0.5rem 1.25rem 1.25rem;
9700
9660
  `;
9701
- styled9.div`
9702
- display: grid;
9703
- grid-template-columns: 340px 340px;
9704
- gap: 1rem;
9705
- @media (max-width: 768px) { grid-template-columns: 1fr; }
9706
- `;
9707
9661
  var StatsColumn = styled9.div`
9708
9662
  background: #111111;
9709
9663
  border: 1px solid rgba(255,255,255,0.1);
@@ -9740,26 +9694,12 @@ var StatLabel = styled9.span`
9740
9694
  align-items: center;
9741
9695
  gap: 0.5rem;
9742
9696
  `;
9743
- styled9.span`
9744
- font-size: 0.6rem;
9745
- color: #4CAF50;
9746
- display: inline-flex;
9747
- align-items: center;
9748
- gap: 3px;
9749
- `;
9750
9697
  var StatValue = styled9.span`
9751
9698
  font-size: 0.88rem;
9752
9699
  font-weight: 500;
9753
9700
  color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
9754
9701
  font-variant-numeric: tabular-nums;
9755
9702
  `;
9756
- styled9.div`
9757
- display: grid;
9758
- grid-template-columns: repeat(3, 1fr);
9759
- gap: 0.75rem;
9760
- margin-bottom: 1.25rem;
9761
- @media (max-width: 768px) { grid-template-columns: 1fr; }
9762
- `;
9763
9703
  var NarrativeCard = styled9.div`
9764
9704
  background: #111111;
9765
9705
  border: 1px solid rgba(255,255,255,0.1);
@@ -10040,65 +9980,6 @@ var CompAssetTooltipRow = styled9.div`
10040
9980
  font-variant-numeric: tabular-nums;
10041
9981
  }
10042
9982
  `;
10043
- styled9.div`
10044
- font-size: 0.65rem;
10045
- color: rgba(255,255,255,0.35);
10046
- text-transform: uppercase;
10047
- letter-spacing: 0.08em;
10048
- font-weight: 500;
10049
- margin-top: 1rem;
10050
- padding-top: 0.75rem;
10051
- padding-bottom: 0.35rem;
10052
- border-top: 1px solid rgba(255,255,255,0.04);
10053
- `;
10054
- styled9.div`
10055
- font-size: 0.72rem;
10056
- color: rgba(255,255,255,0.3);
10057
- line-height: 1.5;
10058
- margin-bottom: 0.6rem;
10059
- `;
10060
- styled9.div`
10061
- display: flex;
10062
- flex-direction: column;
10063
- `;
10064
- styled9.div`
10065
- display: grid;
10066
- grid-template-columns: 1fr 52px auto auto;
10067
- align-items: center;
10068
- gap: 0.4rem;
10069
- padding: 0.45rem 0;
10070
- border-bottom: ${(p) => p.$last ? "none" : "1px solid rgba(255,255,255,0.03)"};
10071
- ${(p) => p.$active ? `
10072
- background: rgba(212,175,55,0.04);
10073
- margin: 0 -0.5rem;
10074
- padding-left: 0.5rem;
10075
- padding-right: 0.5rem;
10076
- border-radius: 6px;
10077
- ` : ""}
10078
- `;
10079
- styled9.span`
10080
- font-size: 0.8rem;
10081
- font-weight: 500;
10082
- color: rgba(255,255,255,0.7);
10083
- `;
10084
- styled9.span`
10085
- font-size: 0.72rem;
10086
- color: rgba(255,255,255,0.3);
10087
- text-align: center;
10088
- font-variant-numeric: tabular-nums;
10089
- `;
10090
- styled9.span`
10091
- font-size: 0.65rem;
10092
- color: rgba(255,255,255,0.2);
10093
- text-align: right;
10094
- white-space: nowrap;
10095
- `;
10096
- styled9.span`
10097
- font-size: 0.68rem;
10098
- font-weight: 500;
10099
- text-align: right;
10100
- color: ${(p) => p.$status === "listed" ? "#D4AF37" : "rgba(255,255,255,0.25)"};
10101
- `;
10102
9983
  var FeaturesPanel = styled9.div`
10103
9984
  display: flex;
10104
9985
  flex-wrap: wrap;
@@ -10109,14 +9990,6 @@ var FeaturesPanel = styled9.div`
10109
9990
  padding: 1rem 1.25rem;
10110
9991
  justify-content: center;
10111
9992
  `;
10112
- styled9.div`
10113
- display: flex;
10114
- flex-wrap: wrap;
10115
- gap: 0.5rem 1.25rem;
10116
- padding-top: 0.75rem;
10117
- margin-top: 0.25rem;
10118
- border-top: 1px solid rgba(255,255,255,0.04);
10119
- `;
10120
9993
  var AssetFeatureItem = styled9.div`
10121
9994
  display: flex;
10122
9995
  align-items: center;
@@ -10213,101 +10086,6 @@ var SecurityDocLink = styled9.a`
10213
10086
  color: rgba(212,175,55,0.9);
10214
10087
  }
10215
10088
  `;
10216
- styled9.div`
10217
- display: flex;
10218
- flex-direction: column;
10219
- gap: 6px;
10220
- padding: 0.75rem 0 0;
10221
- margin-top: 0.5rem;
10222
- border-top: 1px solid rgba(255,255,255,0.04);
10223
- `;
10224
- styled9.div`
10225
- display: flex;
10226
- align-items: center;
10227
- gap: 5px;
10228
- `;
10229
- styled9.span`
10230
- font-size: 0.65rem;
10231
- font-weight: 600;
10232
- text-transform: uppercase;
10233
- letter-spacing: 0.06em;
10234
- color: rgba(255,255,255,0.4);
10235
- `;
10236
- styled9.span`
10237
- position: relative;
10238
- display: inline-flex;
10239
- align-items: center;
10240
- justify-content: center;
10241
- width: 13px;
10242
- height: 13px;
10243
- border-radius: 50%;
10244
- border: 1px solid rgba(255,255,255,0.15);
10245
- font-size: 0.5rem;
10246
- font-weight: 700;
10247
- color: rgba(255,255,255,0.3);
10248
- cursor: help;
10249
- flex-shrink: 0;
10250
-
10251
- &::after {
10252
- content: attr(data-tip);
10253
- position: absolute;
10254
- bottom: calc(100% + 6px);
10255
- left: 0;
10256
- width: max-content;
10257
- max-width: 260px;
10258
- padding: 8px 12px;
10259
- border-radius: 6px;
10260
- background: #1a1a1e;
10261
- border: 1px solid rgba(255,255,255,0.1);
10262
- color: rgba(255,255,255,0.7);
10263
- font-size: 0.7rem;
10264
- font-weight: 400;
10265
- letter-spacing: 0;
10266
- text-transform: none;
10267
- line-height: 1.45;
10268
- white-space: normal;
10269
- pointer-events: none;
10270
- opacity: 0;
10271
- transition: opacity 0.15s;
10272
- z-index: 10;
10273
- }
10274
-
10275
- &:hover::after {
10276
- opacity: 1;
10277
- }
10278
- `;
10279
- styled9.div`
10280
- display: flex;
10281
- align-items: center;
10282
- justify-content: space-between;
10283
- `;
10284
- styled9.span`
10285
- font-size: 0.7rem;
10286
- font-weight: 600;
10287
- text-transform: uppercase;
10288
- letter-spacing: 0.05em;
10289
- color: ${(p) => p.$side === "trade" ? "rgba(246, 70, 93, 0.6)" : "rgba(14, 203, 129, 0.6)"};
10290
- `;
10291
- styled9.span`
10292
- font-size: 0.75rem;
10293
- font-weight: 600;
10294
- font-variant-numeric: tabular-nums;
10295
- color: ${(p) => p.$side === "trade" ? "rgba(246, 70, 93, 0.7)" : "rgba(14, 203, 129, 0.7)"};
10296
- `;
10297
- styled9.div`
10298
- height: 6px;
10299
- border-radius: 3px;
10300
- background: rgba(246, 70, 93, 0.15);
10301
- overflow: hidden;
10302
- position: relative;
10303
- `;
10304
- styled9.div`
10305
- height: 100%;
10306
- width: ${(p) => p.$pct}%;
10307
- border-radius: 3px;
10308
- background: rgba(14, 203, 129, 0.35);
10309
- transition: width 0.6s ease;
10310
- `;
10311
10089
  var DividendHistoryBtn = styled9.button`
10312
10090
  margin-top: 0.75rem;
10313
10091
  padding: 0.5rem 0;
@@ -11711,6 +11489,10 @@ var AssetName = styled9.div`
11711
11489
  svg { margin-left: 0.75rem; transition: transform 0.3s cubic-bezier(0.4,0,0.2,1); opacity: 0.7; }
11712
11490
  &:hover svg { opacity: 1; }
11713
11491
 
11492
+ @media (min-width: 769px) and (max-width: 1200px) {
11493
+ font-size: clamp(0.9rem, 0.5vw + 0.55rem, 1.15rem);
11494
+ }
11495
+
11714
11496
  @media (max-width: 768px) {
11715
11497
  font-size: 1rem;
11716
11498
  }
@@ -11840,7 +11622,7 @@ var IPOOptionThumb = styled9.img`
11840
11622
  var IPOOptionName = styled9.div`
11841
11623
  font-weight: 500;
11842
11624
  font-size: 0.82rem;
11843
- color: ${(p) => "#ebebeb"};
11625
+ color: ${"#ebebeb"};
11844
11626
  line-height: 1.3;
11845
11627
  `;
11846
11628
  var IPOOptionLocation = styled9.div`
@@ -12871,9 +12653,9 @@ var Panel = styled9.div`
12871
12653
  height: 100%;
12872
12654
  display: flex;
12873
12655
  flex-direction: column;
12874
- min-width: 450px;
12875
- max-width: 520px;
12876
- width: 520px;
12656
+ min-width: 380px;
12657
+ max-width: 460px;
12658
+ width: 460px;
12877
12659
  overflow: hidden;
12878
12660
  @media (max-width: 1024px) {
12879
12661
  min-width: 0;
@@ -13717,7 +13499,7 @@ var STATUS_COLOR2 = {
13717
13499
  CLOSED: "#848e9c",
13718
13500
  CANCELLED: "#f6465d"
13719
13501
  };
13720
- var ACTIVITY_PAGE_SIZE_DEFAULT = 10;
13502
+ var ACTIVITY_PAGE_SIZE_DEFAULT = 8;
13721
13503
  var formatCurrency4 = (value, opts) => {
13722
13504
  const min = opts?.minimumFractionDigits ?? 2;
13723
13505
  const max = opts?.maximumFractionDigits ?? 2;
@@ -13809,12 +13591,13 @@ function PortfolioActivityPanel({
13809
13591
  compactPositions = false,
13810
13592
  defaultTab,
13811
13593
  pageSize = ACTIVITY_PAGE_SIZE_DEFAULT,
13812
- blockExplorerBaseUrl = "https://sepolia.basescan.org/tx",
13594
+ blockExplorerBaseUrl: _blockExplorerBaseUrl = "https://sepolia.basescan.org/tx",
13813
13595
  className,
13814
13596
  style
13815
13597
  }) {
13816
13598
  const resolvedDefaultTab = defaultTab ?? (showPositionsTab ? "positions" : showSubscriptionsTab ? "subscriptions" : "orders");
13817
13599
  const [activeTab, setActiveTab] = useState(resolvedDefaultTab);
13600
+ const [currentPage, setCurrentPage] = useState(0);
13818
13601
  const [pendingCancelOrderId, setPendingCancelOrderId] = useState(null);
13819
13602
  const [cancelAllConfirmOpen, setCancelAllConfirmOpen] = useState(false);
13820
13603
  const [cancellingAll, setCancellingAll] = useState(false);
@@ -13917,24 +13700,6 @@ function PortfolioActivityPanel({
13917
13700
  }));
13918
13701
  return [...orderHistory, ...mapped].sort((a, b) => b.createdAt - a.createdAt);
13919
13702
  }, [showSubscriptionsTab, offeringOrders, orderHistory]);
13920
- useMemo(() => {
13921
- switch (activeTab) {
13922
- case "positions":
13923
- return positions.length;
13924
- case "subscriptions":
13925
- return offeringOrders.length;
13926
- case "open-orders":
13927
- return openOrders.length;
13928
- case "orders":
13929
- return mergedOrderHistory.length;
13930
- case "trades":
13931
- return tradeHistory.length;
13932
- case "transfers":
13933
- return transfers.length;
13934
- default:
13935
- return 0;
13936
- }
13937
- }, [activeTab, positions.length, offeringOrders.length, openOrders.length, mergedOrderHistory.length, tradeHistory.length, transfers.length]);
13938
13703
  const positionsCount = positions.length;
13939
13704
  const openOrdersCount = useMemo(
13940
13705
  () => openOrders.filter((o) => o.status === "OPEN" || o.status === "PARTIALLY_FILLED").length,
@@ -13953,7 +13718,30 @@ function PortfolioActivityPanel({
13953
13718
  );
13954
13719
  const handleTabChange = (tab) => {
13955
13720
  setActiveTab(tab);
13721
+ setCurrentPage(0);
13956
13722
  };
13723
+ const activeDataLength = (() => {
13724
+ switch (activeTab) {
13725
+ case "subscriptions":
13726
+ return offeringOrders.length;
13727
+ case "open-orders":
13728
+ return openOrders.length;
13729
+ case "orders":
13730
+ return mergedOrderHistory.length;
13731
+ case "trades":
13732
+ return tradeHistory.length;
13733
+ case "transfers":
13734
+ return transfers.length;
13735
+ default:
13736
+ return 0;
13737
+ }
13738
+ })();
13739
+ const totalPages = Math.ceil(activeDataLength / pageSize);
13740
+ const pagedOfferingOrders = offeringOrders.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
13741
+ const pagedOpenOrders = openOrders.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
13742
+ const pagedOrderHistory = mergedOrderHistory.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
13743
+ const pagedTradeHistory = tradeHistory.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
13744
+ const pagedTransfers = transfers.slice(currentPage * pageSize, (currentPage + 1) * pageSize);
13957
13745
  return /* @__PURE__ */ jsxs(Container2, { className, style, children: [
13958
13746
  /* @__PURE__ */ jsx(PanelTitle, { children: "Activity" }),
13959
13747
  /* @__PURE__ */ jsxs(TabContainer, { children: [
@@ -14182,7 +13970,7 @@ function PortfolioActivityPanel({
14182
13970
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Status" }),
14183
13971
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" })
14184
13972
  ] }),
14185
- offeringOrders.map((order) => {
13973
+ pagedOfferingOrders.map((order) => {
14186
13974
  const meta = getOrderStatusMeta(order.status);
14187
13975
  return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
14188
13976
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: order.tokenName }) }),
@@ -14209,7 +13997,7 @@ function PortfolioActivityPanel({
14209
13997
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Status" }),
14210
13998
  onCancelOrder && /* @__PURE__ */ jsx(GridHeaderCell, {})
14211
13999
  ] }),
14212
- openOrders.map((order) => {
14000
+ pagedOpenOrders.map((order) => {
14213
14001
  const meta = getOrderStatusMeta(order.status);
14214
14002
  const isMarket = order.type === "MARKET";
14215
14003
  const filledPercent = order.quantity > 0 ? Math.round(order.filledQuantity / order.quantity * 100) : 0;
@@ -14254,7 +14042,7 @@ function PortfolioActivityPanel({
14254
14042
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Status" }),
14255
14043
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" })
14256
14044
  ] }),
14257
- mergedOrderHistory.map((order) => {
14045
+ pagedOrderHistory.map((order) => {
14258
14046
  const meta = getOrderStatusMeta(order.status);
14259
14047
  const isMarket = order.type === "MARKET";
14260
14048
  const filledPercent = order.quantity > 0 ? Math.round(order.filledQuantity / order.quantity * 100) : 0;
@@ -14278,40 +14066,50 @@ function PortfolioActivityPanel({
14278
14066
  activeTab === "trades" && /* @__PURE__ */ jsxs(Fragment, { children: [
14279
14067
  tradeHistory.length === 0 && /* @__PURE__ */ jsx(EmptyState, { children: "Completed trades will appear here." }),
14280
14068
  tradeHistory.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
14281
- /* @__PURE__ */ jsxs(GridHeader, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
14069
+ /* @__PURE__ */ jsxs(GridHeader, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr", children: [
14282
14070
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Asset" }),
14283
14071
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Side" }),
14284
14072
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Qty" }),
14285
14073
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Price" }),
14286
14074
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Total" }),
14287
- /* @__PURE__ */ jsx(GridHeaderCell, { children: "Fee" }),
14075
+ /* @__PURE__ */ jsx(GridHeaderCell, { children: "Settlement" }),
14288
14076
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" })
14289
14077
  ] }),
14290
- tradeHistory.map((trade) => /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 0.8fr 1fr", children: [
14291
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: trade.tokenName }) }),
14292
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: sideLabel(trade.side), children: sideLabel(trade.side) }) }),
14293
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatNumber2(trade.quantity) }) }),
14294
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price) }) }),
14295
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price * trade.quantity) }) }),
14296
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatCurrency4(trade.fee) }) }),
14297
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(trade.executedAt) }) })
14298
- ] }, trade.tradeId))
14078
+ pagedTradeHistory.map((trade) => {
14079
+ const s = trade.status?.toUpperCase();
14080
+ const isSettled = s === "SETTLED" || s === "CONFIRMED" || s === "FILLED" || s === "ALLOCATED";
14081
+ const isFailed = s === "SETTLEMENT_FAILED" || s === "REJECTED" || s === "CANCELLED" || s === "CANCELED";
14082
+ const isSettling = !isSettled && !isFailed && !!trade.status;
14083
+ const settlementLabel = isSettled ? "Settled" : isFailed ? "Settlement Failed" : isSettling ? prettyLabel(trade.status) : "\u2014";
14084
+ const settlementMeta = isSettled ? { color: "#0ecb81", bg: "rgba(14,203,129,0.1)" } : isFailed ? { color: "#f6465d", bg: "rgba(246,70,93,0.12)" } : isSettling ? { color: "#f0b90b", bg: "rgba(240,185,11,0.15)" } : null;
14085
+ return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr", children: [
14086
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: trade.tokenName }) }),
14087
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: sideLabel(trade.side), children: sideLabel(trade.side) }) }),
14088
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatNumber2(trade.quantity) }) }),
14089
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price) }) }),
14090
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { children: formatCurrency4(trade.price * trade.quantity) }) }),
14091
+ /* @__PURE__ */ jsx(GridCell, { children: settlementMeta ? /* @__PURE__ */ jsx(ActivityTag, { $color: settlementMeta.color, $bg: settlementMeta.bg, children: settlementLabel }) : /* @__PURE__ */ jsx(CellText, { $muted: true, children: "\u2014" }) }),
14092
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(trade.executedAt) }) })
14093
+ ] }, trade.tradeId);
14094
+ })
14299
14095
  ] })
14300
14096
  ] }),
14301
14097
  activeTab === "transfers" && /* @__PURE__ */ jsxs(Fragment, { children: [
14302
14098
  transfers.length === 0 && /* @__PURE__ */ jsx(EmptyState, { children: "Deposits and withdrawals will appear here." }),
14303
14099
  transfers.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
14304
- /* @__PURE__ */ jsxs(GridHeader, { $columns: "0.8fr 1fr 1.5fr 0.8fr 1fr", children: [
14100
+ /* @__PURE__ */ jsxs(GridHeader, { $columns: "0.8fr 1fr 1.5fr 0.8fr 1fr 36px", children: [
14305
14101
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Type" }),
14306
14102
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Amount" }),
14307
14103
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Address" }),
14308
14104
  /* @__PURE__ */ jsx(GridHeaderCell, { children: "Status" }),
14309
- /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" })
14105
+ /* @__PURE__ */ jsx(GridHeaderCell, { children: "Date" }),
14106
+ /* @__PURE__ */ jsx(GridHeaderCell, {})
14310
14107
  ] }),
14311
- transfers.map((t, idx) => {
14108
+ pagedTransfers.map((t, idx) => {
14312
14109
  const isDeposit = t.type === "DEPOSIT";
14313
14110
  const statusMeta = getOrderStatusMeta(t.status);
14314
- return /* @__PURE__ */ jsxs(GridRow, { $columns: "0.8fr 1fr 1.5fr 0.8fr 1fr", children: [
14111
+ const txUrl = t.blockchainTxHash ? `${_blockExplorerBaseUrl}/${t.blockchainTxHash}` : null;
14112
+ return /* @__PURE__ */ jsxs(GridRow, { $columns: "0.8fr 1fr 1.5fr 0.8fr 1fr 36px", children: [
14315
14113
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: isDeposit ? "Buy" : "Sell", children: isDeposit ? "Deposit" : "Withdraw" }) }),
14316
14114
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsxs(CellText, { $color: isDeposit ? "#0ecb81" : "#f6465d", children: [
14317
14115
  isDeposit ? "+" : "-",
@@ -14319,12 +14117,26 @@ function PortfolioActivityPanel({
14319
14117
  ] }) }),
14320
14118
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatAddress(t.address) }) }),
14321
14119
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(ActivityTag, { $color: statusMeta.color, $bg: statusMeta.bg, children: prettyLabel(t.status) }) }),
14322
- /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(t.createdAt) }) })
14120
+ /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $muted: true, children: formatTimestamp(t.createdAt) }) }),
14121
+ /* @__PURE__ */ jsx(GridCell, { children: txUrl && /* @__PURE__ */ jsx(TxLink, { href: txUrl, target: "_blank", rel: "noopener noreferrer", title: "View on BaseScan", children: /* @__PURE__ */ jsxs("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
14122
+ /* @__PURE__ */ jsx("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
14123
+ /* @__PURE__ */ jsx("polyline", { points: "15 3 21 3 21 9" }),
14124
+ /* @__PURE__ */ jsx("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
14125
+ ] }) }) })
14323
14126
  ] }, t.blockchainTxHash ?? `transfer-${idx}`);
14324
14127
  })
14325
14128
  ] })
14326
14129
  ] })
14327
14130
  ] }),
14131
+ totalPages > 1 && /* @__PURE__ */ jsxs(PaginationBar, { children: [
14132
+ /* @__PURE__ */ jsx(PaginationBtn, { disabled: currentPage === 0, onClick: () => setCurrentPage((p) => p - 1), children: "\u2039 Prev" }),
14133
+ /* @__PURE__ */ jsxs(PaginationInfo, { children: [
14134
+ currentPage + 1,
14135
+ " / ",
14136
+ totalPages
14137
+ ] }),
14138
+ /* @__PURE__ */ jsx(PaginationBtn, { disabled: currentPage >= totalPages - 1, onClick: () => setCurrentPage((p) => p + 1), children: "Next \u203A" })
14139
+ ] }),
14328
14140
  cancelAllConfirmOpen && /* @__PURE__ */ jsx(CancelConfirmOverlay, { onClick: () => setCancelAllConfirmOpen(false), children: /* @__PURE__ */ jsxs(CancelConfirmModal, { onClick: (e) => e.stopPropagation(), children: [
14329
14141
  /* @__PURE__ */ jsx(CancelConfirmTitle, { children: "Cancel All Orders" }),
14330
14142
  /* @__PURE__ */ jsxs(CancelConfirmBody, { children: [
@@ -14445,48 +14257,6 @@ var TabCount = styled9.span`
14445
14257
  font-weight: 600;
14446
14258
  margin-left: 2px;
14447
14259
  `;
14448
- styled9.div`
14449
- display: grid;
14450
- grid-template-columns: auto 1fr auto auto;
14451
- align-items: center;
14452
- gap: 0 1rem;
14453
- padding: 0.6rem 0.25rem;
14454
- border-bottom: 1px solid rgba(255, 255, 255, 0.04);
14455
-
14456
- &:last-child {
14457
- border-bottom: none;
14458
- }
14459
-
14460
- &:hover {
14461
- background: rgba(255, 255, 255, 0.015);
14462
- }
14463
- `;
14464
- styled9.span`
14465
- font-size: 0.6rem;
14466
- font-weight: 700;
14467
- text-transform: uppercase;
14468
- letter-spacing: 0.03em;
14469
- padding: 0.2rem 0.45rem;
14470
- border-radius: 3px;
14471
- min-width: 28px;
14472
- text-align: center;
14473
- color: ${({ $side }) => $side === "Buy" ? "#0ecb81" : "#f6465d"};
14474
- background: ${({ $side }) => $side === "Buy" ? "rgba(14, 203, 129, 0.1)" : "rgba(246, 70, 93, 0.1)"};
14475
- `;
14476
- styled9.div`
14477
- display: flex;
14478
- flex-direction: column;
14479
- gap: 0.1rem;
14480
- `;
14481
- styled9.span`
14482
- font-size: 0.8rem;
14483
- color: #fff;
14484
- font-weight: 500;
14485
- `;
14486
- styled9.span`
14487
- font-size: 0.6rem;
14488
- color: rgba(255, 255, 255, 0.35);
14489
- `;
14490
14260
  var ActivityTag = styled9.span`
14491
14261
  font-size: 0.58rem;
14492
14262
  font-weight: 600;
@@ -14496,41 +14266,6 @@ var ActivityTag = styled9.span`
14496
14266
  background: ${({ $bg }) => $bg || "rgba(255, 255, 255, 0.06)"};
14497
14267
  white-space: nowrap;
14498
14268
  `;
14499
- styled9.span`
14500
- font-size: 0.8rem;
14501
- font-weight: 600;
14502
- color: #fff;
14503
- text-align: right;
14504
- white-space: nowrap;
14505
- `;
14506
- styled9.div`
14507
- display: flex;
14508
- align-items: center;
14509
- justify-content: flex-end;
14510
- gap: 0.35rem;
14511
- `;
14512
- styled9.a`
14513
- display: inline-flex;
14514
- align-items: center;
14515
- justify-content: center;
14516
- width: 26px;
14517
- height: 26px;
14518
- border-radius: 6px;
14519
- border: 1px solid rgba(14, 203, 129, 0.4);
14520
- color: #0ecb81;
14521
- transition: opacity 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
14522
-
14523
- &:hover {
14524
- opacity: 0.85;
14525
- transform: translateY(-1px);
14526
- border-color: rgba(14, 203, 129, 0.8);
14527
- }
14528
-
14529
- &:focus-visible {
14530
- outline: 2px solid rgba(14, 203, 129, 0.8);
14531
- outline-offset: 2px;
14532
- }
14533
- `;
14534
14269
  var EmptyState = styled9.div`
14535
14270
  padding: 1.5rem 0.75rem;
14536
14271
  text-align: center;
@@ -15035,13 +14770,6 @@ var CAssetName = styled9.div`
15035
14770
  align-items: center;
15036
14771
  gap: 0.3rem;
15037
14772
  `;
15038
- styled9.img`
15039
- width: 22px;
15040
- height: 22px;
15041
- border-radius: 4px;
15042
- object-fit: cover;
15043
- flex-shrink: 0;
15044
- `;
15045
14773
  var CUnitsCell = styled9.div`
15046
14774
  font-size: 0.78rem;
15047
14775
  color: rgba(255, 255, 255, 0.8);
@@ -15117,6 +14845,48 @@ var CCloseBtn = styled9.button`
15117
14845
  border-color: rgba(230, 200, 126, 0.5);
15118
14846
  }
15119
14847
  `;
14848
+ var TxLink = styled9.a`
14849
+ display: flex;
14850
+ align-items: center;
14851
+ justify-content: center;
14852
+ color: rgba(230, 200, 126, 0.7);
14853
+ transition: color 0.15s;
14854
+ &:hover { color: #E6C87E; }
14855
+ `;
14856
+ var PaginationBar = styled9.div`
14857
+ display: flex;
14858
+ align-items: center;
14859
+ justify-content: flex-end;
14860
+ gap: 0.5rem;
14861
+ padding: 0.45rem 0.75rem;
14862
+ border-top: 1px solid rgba(255, 255, 255, 0.06);
14863
+ flex-shrink: 0;
14864
+ `;
14865
+ var PaginationBtn = styled9.button`
14866
+ background: transparent;
14867
+ border: 1px solid rgba(255, 255, 255, 0.1);
14868
+ border-radius: 4px;
14869
+ padding: 0.2rem 0.6rem;
14870
+ font-size: 0.7rem;
14871
+ color: rgba(255, 255, 255, 0.55);
14872
+ cursor: pointer;
14873
+ transition: all 0.15s;
14874
+ &:hover:not(:disabled) {
14875
+ border-color: rgba(230, 200, 126, 0.4);
14876
+ color: #E6C87E;
14877
+ }
14878
+ &:disabled {
14879
+ opacity: 0.3;
14880
+ cursor: default;
14881
+ }
14882
+ `;
14883
+ var PaginationInfo = styled9.span`
14884
+ font-size: 0.7rem;
14885
+ color: rgba(255, 255, 255, 0.4);
14886
+ min-width: 3rem;
14887
+ text-align: center;
14888
+ font-variant-numeric: tabular-nums;
14889
+ `;
15120
14890
  var formatOrderCurrency = (amount) => {
15121
14891
  if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
15122
14892
  return `$${Math.round(amount).toLocaleString()}`;
@@ -15132,7 +14902,7 @@ var formatTimeAgo2 = (timestamp) => {
15132
14902
  };
15133
14903
  function PropertyBuy({
15134
14904
  propertyName = "Loaf Property",
15135
- propertyLocation: propertyLocationLabel = "Sydney, NSW",
14905
+ propertyLocation: _propertyLocationLabel = "Sydney, NSW",
15136
14906
  tokenDisplayName = "Property Token",
15137
14907
  tokenSymbol = "LOAF",
15138
14908
  tokenName,
@@ -15157,6 +14927,7 @@ function PropertyBuy({
15157
14927
  portfolioActivity,
15158
14928
  newsItems = [],
15159
14929
  newsConnectionStatus,
14930
+ videoUrl,
15160
14931
  toast
15161
14932
  }) {
15162
14933
  const [sliderValue, setSliderValue] = useState(0);
@@ -15399,32 +15170,15 @@ function PropertyBuy({
15399
15170
  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 })
15400
15171
  ] })
15401
15172
  ] }),
15402
- /* @__PURE__ */ jsxs(NewsVideoRow, { children: [
15403
- /* @__PURE__ */ jsx(
15404
- PropertyNewsUpdates,
15405
- {
15406
- items: newsItems,
15407
- variant: "home",
15408
- heading: "Property News & Headlines",
15409
- connectionStatus: newsConnectionStatus,
15410
- highlightFirst: false,
15411
- style: {
15412
- maxWidth: "none",
15413
- background: "#111111",
15414
- borderRadius: "8px",
15415
- padding: "1.25rem 1.5rem",
15416
- boxShadow: "0 4px 12px rgba(0,0,0,0.1)",
15417
- border: "none",
15418
- height: "100%",
15419
- overflow: "hidden"
15420
- }
15421
- }
15422
- ),
15423
- /* @__PURE__ */ jsxs(VideoPanel, { children: [
15424
- /* @__PURE__ */ jsx("div", { className: "video-header", children: /* @__PURE__ */ jsx("h3", { children: propertyName }) }),
15425
- /* @__PURE__ */ jsx("div", { className: "video-frame", children: /* @__PURE__ */ jsx("video", { controls: true, loop: true, autoPlay: true, muted: true, playsInline: true, children: /* @__PURE__ */ jsx("source", { src: "/properties/Musgrave/musgrave.mp4", type: "video/mp4" }) }) })
15426
- ] })
15427
- ] }),
15173
+ /* @__PURE__ */ jsx(
15174
+ PropertyMediaRow,
15175
+ {
15176
+ newsItems,
15177
+ newsConnectionStatus,
15178
+ videoSrc: videoUrl || "/property-showcase.mp4",
15179
+ videoTitle: propertyName
15180
+ }
15181
+ ),
15428
15182
  /* @__PURE__ */ jsx(
15429
15183
  OrderConfirmationModal,
15430
15184
  {
@@ -15447,7 +15201,7 @@ function PropertyBuy({
15447
15201
  }
15448
15202
  var HeroGrid = styled9.div`
15449
15203
  display: grid;
15450
- grid-template-columns: 1fr auto;
15204
+ grid-template-columns: minmax(0, 1fr) 460px;
15451
15205
  grid-template-rows: auto auto minmax(450px, 520px);
15452
15206
  gap: 1.5rem;
15453
15207
  width: 100%;
@@ -15457,16 +15211,21 @@ var HeroGrid = styled9.div`
15457
15211
  & > div:nth-child(1) {
15458
15212
  grid-column: 1 / 2;
15459
15213
  grid-row: 1 / 2;
15214
+ min-width: 0;
15460
15215
  }
15461
15216
 
15462
15217
  & > div:nth-child(2) {
15463
15218
  grid-column: 1 / 2;
15464
15219
  grid-row: 2 / 3;
15220
+ min-width: 0;
15221
+ overflow: hidden;
15465
15222
  }
15466
15223
 
15467
15224
  & > div:nth-child(3) {
15468
15225
  grid-column: 1 / 2;
15469
15226
  grid-row: 3 / 4;
15227
+ min-width: 0;
15228
+ overflow: hidden;
15470
15229
  }
15471
15230
 
15472
15231
  & > div:nth-child(4) {
@@ -15474,9 +15233,10 @@ var HeroGrid = styled9.div`
15474
15233
  grid-row: 1 / 4;
15475
15234
  display: flex;
15476
15235
  flex-direction: column;
15236
+ min-width: 0;
15477
15237
  }
15478
15238
 
15479
- @media (max-width: 1024px) {
15239
+ @media (max-width: 1280px) {
15480
15240
  display: flex;
15481
15241
  flex-direction: column;
15482
15242
  gap: 1rem;
@@ -15535,15 +15295,17 @@ var BottomRow = styled9.div`
15535
15295
  display: flex;
15536
15296
  gap: 1.5rem;
15537
15297
  align-items: stretch;
15538
- @media (max-width: 1024px) {
15298
+ min-width: 0;
15299
+ overflow: hidden;
15300
+ @media (max-width: 1280px) {
15539
15301
  flex-direction: column;
15540
15302
  gap: 1rem;
15541
15303
  }
15542
15304
  `;
15543
15305
  var RecentOrderPanel = styled9.div`
15544
- flex: 0 0 auto;
15545
- min-width: 420px;
15546
- max-width: 540px;
15306
+ flex: 0 0 340px;
15307
+ min-width: 0;
15308
+ max-width: 380px;
15547
15309
  background-color: var(--color-card-darker, #111);
15548
15310
  border-radius: 8px;
15549
15311
  padding: 1.5rem;
@@ -15709,78 +15471,6 @@ var PurchaseAmount = styled9.div`
15709
15471
  white-space: nowrap;
15710
15472
  margin-left: 1rem;
15711
15473
  `;
15712
- var NewsVideoRow = styled9.div`
15713
- display: flex;
15714
- gap: 1.5rem;
15715
- height: 700px;
15716
- align-items: stretch;
15717
-
15718
- & > *:first-child {
15719
- flex: 0 1 520px;
15720
- min-width: 380px;
15721
- max-width: 520px;
15722
- }
15723
-
15724
- & > *:last-child {
15725
- flex: 1 1 0%;
15726
- min-width: 0;
15727
- }
15728
-
15729
- @media (max-width: 1024px) {
15730
- flex-direction: column;
15731
- height: auto;
15732
- gap: 1rem;
15733
-
15734
- & > *:first-child {
15735
- flex: none;
15736
- max-width: none;
15737
- width: 100%;
15738
- }
15739
-
15740
- & > *:last-child {
15741
- flex: none;
15742
- width: 100%;
15743
- min-height: 400px;
15744
- }
15745
- }
15746
- `;
15747
- var VideoPanel = styled9.div`
15748
- background: #111111;
15749
- border-radius: 8px;
15750
- display: flex;
15751
- flex-direction: column;
15752
- overflow: hidden;
15753
- width: 100%;
15754
- height: 100%;
15755
-
15756
- .video-header {
15757
- padding: 1.25rem 1.5rem 0;
15758
- h3 {
15759
- font-size: 1.1rem;
15760
- font-weight: 600;
15761
- color: #fff;
15762
- margin: 0 0 1rem;
15763
- }
15764
- }
15765
-
15766
- .video-frame {
15767
- flex: 1;
15768
- position: relative;
15769
- margin: 0 1.5rem 1.5rem;
15770
- border-radius: 8px;
15771
- overflow: hidden;
15772
- background: #000;
15773
-
15774
- video {
15775
- position: absolute;
15776
- top: 0;
15777
- left: 0;
15778
- width: 100%;
15779
- height: 100%;
15780
- object-fit: cover;
15781
- }
15782
- }
15783
- `;
15784
15474
  var PaymentOption = styled9.div`
15785
15475
  display: flex;
15786
15476
  align-items: center;
@@ -18306,6 +17996,6 @@ function hasPendingActivity(data) {
18306
17996
  }) ?? false;
18307
17997
  }
18308
17998
 
18309
- export { AssetSelectorBar, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Header, HousePositionSlider, HousePositionSliderMobile, LoafLiquidityBadge, LoafLiquidityLogo, LoginPopup, MobileTradeNav, OfferingProgressCard, Orderbook, owner_booking_default as OwnerBooking, PaymentPopup, PortfolioActivityPanel, PortfolioSummary, PriceChart, PropertyBuy, PropertyCompareBar, PropertyDocuments, PropertyHeroHeader, PropertyHistory, PropertyInspectionTimes, PropertyNewsUpdates, PropertyOffers, PropertyOverview, PropertyPhotoGallery, PropertySubheader, PropertyTour, PropertyValuation, Skeleton, SlideDigit, ToastProvider, TradeConfirmationModal, TradingSlider, YourOrders, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
17999
+ export { AssetSelectorBar, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Header, HousePositionSlider, HousePositionSliderMobile, LoafLiquidityBadge, LoafLiquidityLogo, LoginPopup, MobileTradeNav, OfferingProgressCard, Orderbook, owner_booking_default as OwnerBooking, PaymentPopup, PortfolioActivityPanel, PortfolioSummary, PriceChart, PropertyBuy, PropertyCompareBar, PropertyDocuments, PropertyHeroHeader, PropertyHistory, PropertyInspectionTimes, PropertyMediaRow, PropertyNewsUpdates, PropertyOffers, PropertyOverview, PropertyPhotoGallery, PropertySubheader, PropertyTour, PropertyValuation, Skeleton, SlideDigit, ToastProvider, TradeConfirmationModal, TradingSlider, YourOrders, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
18310
18000
  //# sourceMappingURL=index.mjs.map
18311
18001
  //# sourceMappingURL=index.mjs.map