@loafmarkets/ui 0.1.76 → 0.1.78

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
@@ -2930,7 +2930,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2930
2930
  "LIVE"
2931
2931
  ] }) : null
2932
2932
  ] }),
2933
- isHomeVariant && /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: 0, marginTop: "0.75rem", marginBottom: "0.25rem" }, children: ["all", "property", "market"].map((tab) => /* @__PURE__ */ jsx(
2933
+ isHomeVariant && /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: "1.5rem", marginTop: "0.5rem", marginBottom: "1rem", borderBottom: "1px solid rgba(255, 255, 255, 0.08)", paddingBottom: "0.5rem" }, children: ["all", "property", "market"].map((tab) => /* @__PURE__ */ jsx(
2934
2934
  "button",
2935
2935
  {
2936
2936
  type: "button",
@@ -2939,7 +2939,8 @@ var PropertyNewsUpdates = React5.forwardRef(
2939
2939
  background: "transparent",
2940
2940
  border: "none",
2941
2941
  borderBottom: homeTab === tab ? "2px solid var(--color-accent, #f0b90b)" : "2px solid transparent",
2942
- padding: "0.5rem 0.75rem",
2942
+ padding: "0 0 0.5rem 0",
2943
+ marginBottom: "-1px",
2943
2944
  fontSize: "0.75rem",
2944
2945
  fontWeight: homeTab === tab ? 600 : 400,
2945
2946
  color: homeTab === tab ? "var(--color-text, #fff)" : "var(--color-text-secondary, #848e9c)",
@@ -9707,6 +9708,90 @@ function OfferingProgressCard({
9707
9708
  ] })
9708
9709
  ] });
9709
9710
  }
9711
+ if (variant === "home") {
9712
+ const isPreLive = !ipoStarted && ipoStatus !== "CLOSED" && ipoStatus !== "CANCELLED";
9713
+ return /* @__PURE__ */ jsxs(Container, { style, className, children: [
9714
+ /* @__PURE__ */ jsxs(Header2, { children: [
9715
+ /* @__PURE__ */ jsxs("h3", { children: [
9716
+ /* @__PURE__ */ jsx(FaChartLine, {}),
9717
+ " Offering Progress"
9718
+ ] }),
9719
+ /* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "center", gap: "0.4rem" }, children: ipoStarted ? /* @__PURE__ */ jsxs(StatusSpan, { $color: "#0ecb81", children: [
9720
+ /* @__PURE__ */ jsx(StatusDot, { $color: "#0ecb81", $pulse: true }),
9721
+ "LIVE"
9722
+ ] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
9723
+ /* @__PURE__ */ jsx(StatusDot, { $color: statusColor || "#D4AF37" }),
9724
+ statusLabel || "Preparing"
9725
+ ] }) })
9726
+ ] }),
9727
+ isPreLive ? /* @__PURE__ */ jsxs(HomePreLiveRow, { children: [
9728
+ countdown ? /* @__PURE__ */ jsxs(HomeCountdownSide, { children: [
9729
+ /* @__PURE__ */ jsx(CountdownLabel, { children: "Opens In" }),
9730
+ /* @__PURE__ */ jsxs(CountdownDigits, { children: [
9731
+ /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.days).padStart(2, "0") }),
9732
+ /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "D" }),
9733
+ /* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
9734
+ /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.hours).padStart(2, "0") }),
9735
+ /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "H" }),
9736
+ /* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
9737
+ /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.minutes).padStart(2, "0") }),
9738
+ /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "M" }),
9739
+ /* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
9740
+ /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.seconds).padStart(2, "0") }),
9741
+ /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "S" })
9742
+ ] })
9743
+ ] }) : /* @__PURE__ */ jsx(HomeCountdownSide, { children: /* @__PURE__ */ jsx(PreLiveStatus, { $statusColor: statusColor, children: "Sale Not Yet Open" }) }),
9744
+ /* @__PURE__ */ jsxs(HomeUnitsSide, { children: [
9745
+ /* @__PURE__ */ jsx(HomeUnitsLabel, { children: "Units Subscribed" }),
9746
+ /* @__PURE__ */ jsxs(HomeUnitsValue, { children: [
9747
+ /* @__PURE__ */ jsx(HomeSpinner, {}),
9748
+ /* @__PURE__ */ jsxs("span", { children: [
9749
+ " / ",
9750
+ supplyToSell.toLocaleString()
9751
+ ] })
9752
+ ] })
9753
+ ] })
9754
+ ] }) : /* @__PURE__ */ jsxs(LiveBody, { children: [
9755
+ /* @__PURE__ */ jsxs(LiveTopRow, { children: [
9756
+ /* @__PURE__ */ jsxs("div", { children: [
9757
+ /* @__PURE__ */ jsxs(LiveLabel, { children: [
9758
+ "Offering Subscribed ",
9759
+ /* @__PURE__ */ jsx("span", { children: "\u24D8" })
9760
+ ] }),
9761
+ /* @__PURE__ */ jsxs(LivePercent, { children: [
9762
+ percentSold.toFixed(1),
9763
+ "%",
9764
+ /* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
9765
+ ] })
9766
+ ] }),
9767
+ /* @__PURE__ */ jsxs("div", { style: { textAlign: "right" }, children: [
9768
+ /* @__PURE__ */ jsx(LiveLabel, { children: "Units Subscribed" }),
9769
+ /* @__PURE__ */ jsxs(UnitsValue, { children: [
9770
+ /* @__PURE__ */ jsx("span", { children: totalSold.toLocaleString() }),
9771
+ /* @__PURE__ */ jsxs("small", { children: [
9772
+ "/ ",
9773
+ supplyToSell.toLocaleString()
9774
+ ] })
9775
+ ] })
9776
+ ] })
9777
+ ] }),
9778
+ /* @__PURE__ */ jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
9779
+ /* @__PURE__ */ jsxs(ProgressInfo, { children: [
9780
+ /* @__PURE__ */ jsxs(ProgressSubscribers, { children: [
9781
+ "Subscribers: ",
9782
+ subscriberCount.toLocaleString()
9783
+ ] }),
9784
+ /* @__PURE__ */ jsxs(ProgressAmounts, { children: [
9785
+ /* @__PURE__ */ jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
9786
+ /* @__PURE__ */ jsxs("span", { className: "target", children: [
9787
+ " / ",
9788
+ formatCurrency3(computedTarget)
9789
+ ] })
9790
+ ] })
9791
+ ] })
9792
+ ] })
9793
+ ] });
9794
+ }
9710
9795
  return /* @__PURE__ */ jsxs(Container, { style, className, children: [
9711
9796
  /* @__PURE__ */ jsxs(Header2, { children: [
9712
9797
  /* @__PURE__ */ jsxs("h3", { children: [
@@ -10015,6 +10100,52 @@ var CompactContainer = styled25.div`
10015
10100
  flex-direction: column;
10016
10101
  gap: 0.5rem;
10017
10102
  `;
10103
+ var HomePreLiveRow = styled25.div`
10104
+ display: flex;
10105
+ align-items: center;
10106
+ justify-content: space-between;
10107
+ padding-top: 1rem;
10108
+ `;
10109
+ var HomeCountdownSide = styled25.div`
10110
+ display: flex;
10111
+ flex-direction: column;
10112
+ align-items: center;
10113
+ flex: 1;
10114
+ `;
10115
+ var HomeUnitsSide = styled25.div`
10116
+ text-align: center;
10117
+ flex-shrink: 0;
10118
+ `;
10119
+ var HomeUnitsLabel = styled25.div`
10120
+ font-size: 0.6rem;
10121
+ color: var(--color-text-secondary);
10122
+ text-transform: uppercase;
10123
+ letter-spacing: 0.1em;
10124
+ margin-bottom: 0.2rem;
10125
+ `;
10126
+ var HomeUnitsValue = styled25.div`
10127
+ font-size: 1.1rem;
10128
+ font-weight: 700;
10129
+ font-family: monospace;
10130
+ span {
10131
+ color: var(--color-text-secondary);
10132
+ font-weight: 400;
10133
+ }
10134
+ `;
10135
+ var HomeSpinner = styled25.span`
10136
+ display: inline-block;
10137
+ width: 14px;
10138
+ height: 14px;
10139
+ border: 2px solid rgba(255, 255, 255, 0.1);
10140
+ border-top-color: var(--color-accent, #f0b90b);
10141
+ border-radius: 50%;
10142
+ animation: homeSpin 1s linear infinite;
10143
+ vertical-align: middle;
10144
+ margin-right: 0.15rem;
10145
+ @keyframes homeSpin {
10146
+ to { transform: rotate(360deg); }
10147
+ }
10148
+ `;
10018
10149
  var MAX_DISPLAY_AMOUNT = 6e4;
10019
10150
  var formatCurrency4 = (amount) => {
10020
10151
  if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;