@loafmarkets/ui 0.1.58 → 0.1.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +24 -2
- package/dist/index.d.ts +24 -2
- package/dist/index.js +19 -172
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +20 -174
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -958,8 +958,30 @@ type PropertyBuyProps = {
|
|
|
958
958
|
onCancelOrder?: (orderId: number) => Promise<void>;
|
|
959
959
|
cancellingOrderId?: number | null;
|
|
960
960
|
};
|
|
961
|
+
newsItems?: PropertyNewsItem[];
|
|
962
|
+
newsConnectionStatus?: 'live' | 'connecting';
|
|
961
963
|
};
|
|
962
|
-
declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, tokenDisplayName, tokenSymbol, tokenName, isAuthenticated, onSignIn, saleData, walletUsdcBalance, walletPropertyTokenBalance, onPurchase, purchaseStatus, purchaseError, onDeposit, opensAt, isPrivateClient, recentOrders, ordersAllocated, subscribers, isLoadingActivity, selectorItems, onSelectorSelect, portfolioActivity, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
|
|
964
|
+
declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, tokenDisplayName, tokenSymbol, tokenName, isAuthenticated, onSignIn, saleData, walletUsdcBalance, walletPropertyTokenBalance, onPurchase, purchaseStatus, purchaseError, onDeposit, opensAt, isPrivateClient, recentOrders, ordersAllocated, subscribers, isLoadingActivity, selectorItems, onSelectorSelect, portfolioActivity, newsItems, newsConnectionStatus, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
|
|
965
|
+
|
|
966
|
+
type OfferingProgressCardProps = {
|
|
967
|
+
ipoStarted: boolean;
|
|
968
|
+
statusLabel: string;
|
|
969
|
+
statusColor: string;
|
|
970
|
+
ipoStatus: string;
|
|
971
|
+
tokenPrice: number;
|
|
972
|
+
offeringValuation: number;
|
|
973
|
+
percentSold: number;
|
|
974
|
+
totalSold: number;
|
|
975
|
+
supplyToSell: number;
|
|
976
|
+
opensAt?: number | null;
|
|
977
|
+
subscriberCount?: number;
|
|
978
|
+
raisedAmount?: number;
|
|
979
|
+
targetAmount?: number;
|
|
980
|
+
isPrivateClient?: boolean;
|
|
981
|
+
style?: React__default.CSSProperties;
|
|
982
|
+
className?: string;
|
|
983
|
+
};
|
|
984
|
+
declare function OfferingProgressCard({ ipoStarted, statusLabel, statusColor, ipoStatus, tokenPrice, offeringValuation, percentSold, totalSold, supplyToSell, opensAt, subscriberCount, raisedAmount, targetAmount, isPrivateClient, style, className, }: OfferingProgressCardProps): react_jsx_runtime.JSX.Element;
|
|
963
985
|
|
|
964
986
|
type OwnerBookingProps = {
|
|
965
987
|
propertyName?: string | null;
|
|
@@ -1109,4 +1131,4 @@ interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1109
1131
|
*/
|
|
1110
1132
|
declare const Skeleton: React$1.ForwardRefExoticComponent<SkeletonProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1111
1133
|
|
|
1112
|
-
export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, type OverviewResponse, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
|
|
1134
|
+
export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, OfferingProgressCard, type OfferingProgressCardProps, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, type OverviewResponse, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
|
package/dist/index.d.ts
CHANGED
|
@@ -958,8 +958,30 @@ type PropertyBuyProps = {
|
|
|
958
958
|
onCancelOrder?: (orderId: number) => Promise<void>;
|
|
959
959
|
cancellingOrderId?: number | null;
|
|
960
960
|
};
|
|
961
|
+
newsItems?: PropertyNewsItem[];
|
|
962
|
+
newsConnectionStatus?: 'live' | 'connecting';
|
|
961
963
|
};
|
|
962
|
-
declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, tokenDisplayName, tokenSymbol, tokenName, isAuthenticated, onSignIn, saleData, walletUsdcBalance, walletPropertyTokenBalance, onPurchase, purchaseStatus, purchaseError, onDeposit, opensAt, isPrivateClient, recentOrders, ordersAllocated, subscribers, isLoadingActivity, selectorItems, onSelectorSelect, portfolioActivity, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
|
|
964
|
+
declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, tokenDisplayName, tokenSymbol, tokenName, isAuthenticated, onSignIn, saleData, walletUsdcBalance, walletPropertyTokenBalance, onPurchase, purchaseStatus, purchaseError, onDeposit, opensAt, isPrivateClient, recentOrders, ordersAllocated, subscribers, isLoadingActivity, selectorItems, onSelectorSelect, portfolioActivity, newsItems, newsConnectionStatus, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
|
|
965
|
+
|
|
966
|
+
type OfferingProgressCardProps = {
|
|
967
|
+
ipoStarted: boolean;
|
|
968
|
+
statusLabel: string;
|
|
969
|
+
statusColor: string;
|
|
970
|
+
ipoStatus: string;
|
|
971
|
+
tokenPrice: number;
|
|
972
|
+
offeringValuation: number;
|
|
973
|
+
percentSold: number;
|
|
974
|
+
totalSold: number;
|
|
975
|
+
supplyToSell: number;
|
|
976
|
+
opensAt?: number | null;
|
|
977
|
+
subscriberCount?: number;
|
|
978
|
+
raisedAmount?: number;
|
|
979
|
+
targetAmount?: number;
|
|
980
|
+
isPrivateClient?: boolean;
|
|
981
|
+
style?: React__default.CSSProperties;
|
|
982
|
+
className?: string;
|
|
983
|
+
};
|
|
984
|
+
declare function OfferingProgressCard({ ipoStarted, statusLabel, statusColor, ipoStatus, tokenPrice, offeringValuation, percentSold, totalSold, supplyToSell, opensAt, subscriberCount, raisedAmount, targetAmount, isPrivateClient, style, className, }: OfferingProgressCardProps): react_jsx_runtime.JSX.Element;
|
|
963
985
|
|
|
964
986
|
type OwnerBookingProps = {
|
|
965
987
|
propertyName?: string | null;
|
|
@@ -1109,4 +1131,4 @@ interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1109
1131
|
*/
|
|
1110
1132
|
declare const Skeleton: React$1.ForwardRefExoticComponent<SkeletonProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1111
1133
|
|
|
1112
|
-
export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, type OverviewResponse, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
|
|
1134
|
+
export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, OfferingProgressCard, type OfferingProgressCardProps, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, type OverviewResponse, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
|
package/dist/index.js
CHANGED
|
@@ -9692,7 +9692,9 @@ function OfferingProgressCard({
|
|
|
9692
9692
|
subscriberCount = 0,
|
|
9693
9693
|
raisedAmount,
|
|
9694
9694
|
targetAmount,
|
|
9695
|
-
isPrivateClient = false
|
|
9695
|
+
isPrivateClient = false,
|
|
9696
|
+
style,
|
|
9697
|
+
className
|
|
9696
9698
|
}) {
|
|
9697
9699
|
const [currentTime, setCurrentTime] = React5.useState(/* @__PURE__ */ new Date());
|
|
9698
9700
|
const [countdown, setCountdown] = React5.useState(null);
|
|
@@ -9722,7 +9724,7 @@ function OfferingProgressCard({
|
|
|
9722
9724
|
const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
|
|
9723
9725
|
return () => clearInterval(interval);
|
|
9724
9726
|
}, [opensAt]);
|
|
9725
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { children: [
|
|
9727
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { style, className, children: [
|
|
9726
9728
|
/* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
|
|
9727
9729
|
/* @__PURE__ */ jsxRuntime.jsxs("h3", { children: [
|
|
9728
9730
|
/* @__PURE__ */ jsxRuntime.jsx(fa.FaChartLine, {}),
|
|
@@ -12115,31 +12117,16 @@ var CancelConfirmProceed = styled25__default.default.button`
|
|
|
12115
12117
|
cursor: not-allowed;
|
|
12116
12118
|
}
|
|
12117
12119
|
`;
|
|
12118
|
-
function NewsOrdersSection({ newsItems, activityData }) {
|
|
12120
|
+
function NewsOrdersSection({ newsItems, newsConnectionStatus, activityData }) {
|
|
12119
12121
|
return /* @__PURE__ */ jsxRuntime.jsxs(Row2, { children: [
|
|
12120
|
-
/* @__PURE__ */ jsxRuntime.
|
|
12121
|
-
|
|
12122
|
-
|
|
12123
|
-
|
|
12124
|
-
|
|
12125
|
-
|
|
12126
|
-
|
|
12127
|
-
|
|
12128
|
-
/* @__PURE__ */ jsxRuntime.jsx(TradeNewsList, { children: newsItems.map((newsItem) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12129
|
-
TradeNewsItem,
|
|
12130
|
-
{
|
|
12131
|
-
"data-new": newsItem.isNew,
|
|
12132
|
-
children: [
|
|
12133
|
-
/* @__PURE__ */ jsxRuntime.jsx(TradeNewsTitle, { children: newsItem.title }),
|
|
12134
|
-
/* @__PURE__ */ jsxRuntime.jsxs(TradeNewsInfo, { children: [
|
|
12135
|
-
/* @__PURE__ */ jsxRuntime.jsx(TradeNewsDate, { "data-new": newsItem.isNew, children: newsItem.date }),
|
|
12136
|
-
/* @__PURE__ */ jsxRuntime.jsx(TradeNewsCategory, { "data-type": newsItem.type, children: newsItem.type === "property" ? "Property Update" : "Market News" })
|
|
12137
|
-
] })
|
|
12138
|
-
]
|
|
12139
|
-
},
|
|
12140
|
-
newsItem.displayId || `${newsItem.id}-fallback`
|
|
12141
|
-
)) })
|
|
12142
|
-
] }),
|
|
12122
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12123
|
+
PropertyNewsUpdates,
|
|
12124
|
+
{
|
|
12125
|
+
items: newsItems,
|
|
12126
|
+
heading: "Property News & Updates",
|
|
12127
|
+
connectionStatus: newsConnectionStatus
|
|
12128
|
+
}
|
|
12129
|
+
),
|
|
12143
12130
|
/* @__PURE__ */ jsxRuntime.jsx(ActivityWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
12144
12131
|
PortfolioActivityPanel,
|
|
12145
12132
|
{
|
|
@@ -12177,7 +12164,7 @@ var Row2 = styled25__default.default.div`
|
|
|
12177
12164
|
overflow: hidden;
|
|
12178
12165
|
}
|
|
12179
12166
|
`;
|
|
12180
|
-
var
|
|
12167
|
+
var ActivityWrapper = styled25__default.default.div`
|
|
12181
12168
|
background-color: var(--color-card-darker, #111);
|
|
12182
12169
|
border-radius: 8px;
|
|
12183
12170
|
padding: 1.5rem;
|
|
@@ -12187,107 +12174,11 @@ var TradeNewsPanel = styled25__default.default.div`
|
|
|
12187
12174
|
border: 1px solid var(--color-border);
|
|
12188
12175
|
min-height: 280px;
|
|
12189
12176
|
overflow: hidden;
|
|
12190
|
-
@media (max-width: 768px) {
|
|
12191
|
-
max-width: 100%;
|
|
12192
|
-
flex: 0 0 100%;
|
|
12193
|
-
}
|
|
12194
12177
|
@media (max-width: 768px) {
|
|
12195
12178
|
padding: 1rem;
|
|
12196
12179
|
min-height: auto;
|
|
12197
12180
|
}
|
|
12198
12181
|
`;
|
|
12199
|
-
var ActivityWrapper = styled25__default.default(TradeNewsPanel)``;
|
|
12200
|
-
var TradeNewsHeader = styled25__default.default.div`
|
|
12201
|
-
display: flex;
|
|
12202
|
-
justify-content: space-between;
|
|
12203
|
-
align-items: center;
|
|
12204
|
-
padding-bottom: 0.75rem;
|
|
12205
|
-
margin-bottom: 1rem;
|
|
12206
|
-
border-bottom: 1px solid rgba(255,255,255,0.1);
|
|
12207
|
-
h3 {
|
|
12208
|
-
margin: 0;
|
|
12209
|
-
font-size: 0.9rem;
|
|
12210
|
-
font-weight: 600;
|
|
12211
|
-
color: var(--color-text);
|
|
12212
|
-
}
|
|
12213
|
-
span {
|
|
12214
|
-
font-size: 0.7rem;
|
|
12215
|
-
color: var(--color-text-secondary);
|
|
12216
|
-
display: flex;
|
|
12217
|
-
align-items: center;
|
|
12218
|
-
gap: 0.25rem;
|
|
12219
|
-
font-weight: 500;
|
|
12220
|
-
}
|
|
12221
|
-
.dot {
|
|
12222
|
-
width: 6px;
|
|
12223
|
-
height: 6px;
|
|
12224
|
-
border-radius: 50%;
|
|
12225
|
-
background-color: #0ecb81;
|
|
12226
|
-
animation: pulse 2s infinite;
|
|
12227
|
-
}
|
|
12228
|
-
@keyframes pulse {
|
|
12229
|
-
0% { opacity: 0.4; }
|
|
12230
|
-
50% { opacity: 1; }
|
|
12231
|
-
100% { opacity: 0.4; }
|
|
12232
|
-
}
|
|
12233
|
-
`;
|
|
12234
|
-
var TradeNewsList = styled25__default.default.div`
|
|
12235
|
-
display: flex;
|
|
12236
|
-
flex-direction: column;
|
|
12237
|
-
gap: 0.75rem;
|
|
12238
|
-
flex: 1;
|
|
12239
|
-
overflow: visible;
|
|
12240
|
-
max-width: 100%;
|
|
12241
|
-
`;
|
|
12242
|
-
var TradeNewsItem = styled25__default.default.div`
|
|
12243
|
-
display: flex;
|
|
12244
|
-
flex-direction: column;
|
|
12245
|
-
padding: 0.75rem;
|
|
12246
|
-
background-color: rgba(255,255,255,0.05);
|
|
12247
|
-
border-radius: 6px;
|
|
12248
|
-
cursor: pointer;
|
|
12249
|
-
transition: all 0.2s;
|
|
12250
|
-
&[data-new='true'] {
|
|
12251
|
-
background-color: rgba(14,203,129,0.1);
|
|
12252
|
-
}
|
|
12253
|
-
&:hover {
|
|
12254
|
-
background-color: rgba(255,255,255,0.08);
|
|
12255
|
-
transform: translateY(-2px);
|
|
12256
|
-
}
|
|
12257
|
-
`;
|
|
12258
|
-
var TradeNewsTitle = styled25__default.default.h4`
|
|
12259
|
-
font-size: 0.9375rem;
|
|
12260
|
-
font-weight: 500;
|
|
12261
|
-
margin: 0 0 0.5rem 0;
|
|
12262
|
-
color: var(--color-text);
|
|
12263
|
-
`;
|
|
12264
|
-
var TradeNewsInfo = styled25__default.default.div`
|
|
12265
|
-
display: flex;
|
|
12266
|
-
justify-content: space-between;
|
|
12267
|
-
align-items: center;
|
|
12268
|
-
font-size: 0.75rem;
|
|
12269
|
-
color: var(--color-text-secondary);
|
|
12270
|
-
`;
|
|
12271
|
-
var TradeNewsDate = styled25__default.default.span`
|
|
12272
|
-
&[data-new='true'] {
|
|
12273
|
-
color: #0ecb81;
|
|
12274
|
-
}
|
|
12275
|
-
`;
|
|
12276
|
-
var TradeNewsCategory = styled25__default.default.span`
|
|
12277
|
-
padding: 0.25rem 0.5rem;
|
|
12278
|
-
border-radius: 4px;
|
|
12279
|
-
background-color: rgba(240,185,11,0.1);
|
|
12280
|
-
color: var(--color-accent, #f0b90b);
|
|
12281
|
-
font-weight: 500;
|
|
12282
|
-
white-space: nowrap;
|
|
12283
|
-
overflow: hidden;
|
|
12284
|
-
text-overflow: ellipsis;
|
|
12285
|
-
max-width: 100px;
|
|
12286
|
-
&[data-type='property'] {
|
|
12287
|
-
background-color: rgba(14,203,129,0.1);
|
|
12288
|
-
color: #0ecb81;
|
|
12289
|
-
}
|
|
12290
|
-
`;
|
|
12291
12182
|
function OrderConfirmationModal({
|
|
12292
12183
|
open,
|
|
12293
12184
|
onClose,
|
|
@@ -12542,22 +12433,6 @@ var ButtonRow2 = styled25__default.default.div`
|
|
|
12542
12433
|
`;
|
|
12543
12434
|
|
|
12544
12435
|
// src/components/property-buy/constants.ts
|
|
12545
|
-
var allNewsItems = [
|
|
12546
|
-
{ id: 1, title: "RBA signals potential rate cut in Q1 2026 - property stocks rally", type: "market" },
|
|
12547
|
-
{ id: 2, title: "Sydney unemployment drops to 3.1% - Eastern suburbs lead recovery", type: "market" },
|
|
12548
|
-
{ id: 3, title: "Musgrave heritage listing confirmed - protects architectural value", type: "property" },
|
|
12549
|
-
{ id: 4, title: "Mosman Council approves DA for Musgrave restoration works", type: "property" },
|
|
12550
|
-
{ id: 5, title: "Nearby 12 Mcleod St sells for $18.5M - sets new street record", type: "market" },
|
|
12551
|
-
{ id: 6, title: "Eastern suburbs rental yields reach 3.8% - highest in 5 years", type: "market" },
|
|
12552
|
-
{ id: 7, title: "Musgrave pool resurfacing completed - heritage sandstone preserved", type: "property" },
|
|
12553
|
-
{ id: 8, title: "Mosman median house price hits $7.2M - up 9% YoY", type: "market" },
|
|
12554
|
-
{ id: 9, title: "Musgrave gardens featured in Heritage NSW annual report", type: "property" },
|
|
12555
|
-
{ id: 10, title: "Lower North Shore vacancy rates drop to 1.2% - rental demand surges", type: "market" },
|
|
12556
|
-
{ id: 11, title: "Musgrave structural inspection complete - excellent condition confirmed", type: "property" },
|
|
12557
|
-
{ id: 12, title: "Sydney harbour views premium reaches 35% - Mosman leads growth", type: "market" },
|
|
12558
|
-
{ id: 13, title: "New security system installed at Musgrave - smart home integration", type: "property" },
|
|
12559
|
-
{ id: 14, title: "Heritage property demand up 22% - pre-Federation homes most sought", type: "market" }
|
|
12560
|
-
];
|
|
12561
12436
|
var musgraveGalleryImages = [
|
|
12562
12437
|
{ src: "/properties/Musgrave/ExteriorFront_Musgrave_Loafmarkets.jpg", title: "Exterior Front", subtitle: "Grand entrance" },
|
|
12563
12438
|
{ src: "/properties/Musgrave/ExteriorDusk_Musgrave_Loafmarkets.jpg", title: "Exterior Dusk", subtitle: "Evening ambiance" },
|
|
@@ -12612,7 +12487,9 @@ function PropertyBuy({
|
|
|
12612
12487
|
isLoadingActivity = false,
|
|
12613
12488
|
selectorItems,
|
|
12614
12489
|
onSelectorSelect,
|
|
12615
|
-
portfolioActivity
|
|
12490
|
+
portfolioActivity,
|
|
12491
|
+
newsItems = [],
|
|
12492
|
+
newsConnectionStatus
|
|
12616
12493
|
}) {
|
|
12617
12494
|
const [sliderValue, setSliderValue] = React5.useState(0);
|
|
12618
12495
|
const [availableBalance, setAvailableBalance] = React5.useState(walletUsdcBalance ?? 0);
|
|
@@ -12625,15 +12502,6 @@ function PropertyBuy({
|
|
|
12625
12502
|
const [orderPlacedSuccess, setOrderPlacedSuccess] = React5.useState(false);
|
|
12626
12503
|
const [lastOrderDetails, setLastOrderDetails] = React5.useState(null);
|
|
12627
12504
|
const [showOrderConfirmModal, setShowOrderConfirmModal] = React5.useState(false);
|
|
12628
|
-
const [, setLiveNewsIndex] = React5.useState(0);
|
|
12629
|
-
const [newsItems, setNewsItems] = React5.useState(
|
|
12630
|
-
() => allNewsItems.slice(0, 4).map((item, index) => ({
|
|
12631
|
-
...item,
|
|
12632
|
-
displayId: `${item.id}-initial-${index}`,
|
|
12633
|
-
date: index === 0 ? "Just now" : `${(index + 1) * 3} minutes ago`,
|
|
12634
|
-
isNew: false
|
|
12635
|
-
}))
|
|
12636
|
-
);
|
|
12637
12505
|
const tokenPrice = saleData?.tokenPrice ?? 250;
|
|
12638
12506
|
const feeRate = (saleData?.feePercent ?? 0.5) / 100;
|
|
12639
12507
|
const totalSold = saleData?.totalSold ?? 0;
|
|
@@ -12733,29 +12601,6 @@ function PropertyBuy({
|
|
|
12733
12601
|
setSliderValue(0);
|
|
12734
12602
|
setManualOrderAmount(null);
|
|
12735
12603
|
};
|
|
12736
|
-
React5.useEffect(() => {
|
|
12737
|
-
const newsInterval = setInterval(() => {
|
|
12738
|
-
setLiveNewsIndex((prev) => {
|
|
12739
|
-
const nextIndex = (prev + 1) % allNewsItems.length;
|
|
12740
|
-
setNewsItems((current) => {
|
|
12741
|
-
const incoming = allNewsItems[nextIndex];
|
|
12742
|
-
if (current.some((item) => item.id === incoming.id)) {
|
|
12743
|
-
return current;
|
|
12744
|
-
}
|
|
12745
|
-
return [
|
|
12746
|
-
{ ...incoming, displayId: `${incoming.id}-${Date.now()}`, date: "Just now", isNew: true },
|
|
12747
|
-
...current.slice(0, 3).map((item) => ({
|
|
12748
|
-
...item,
|
|
12749
|
-
isNew: false,
|
|
12750
|
-
date: item.date === "Just now" ? "8 seconds ago" : item.date
|
|
12751
|
-
}))
|
|
12752
|
-
];
|
|
12753
|
-
});
|
|
12754
|
-
return nextIndex;
|
|
12755
|
-
});
|
|
12756
|
-
}, 8e3);
|
|
12757
|
-
return () => clearInterval(newsInterval);
|
|
12758
|
-
}, []);
|
|
12759
12604
|
if (saleData?.loading) {
|
|
12760
12605
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-16 px-8 text-[var(--color-text-secondary)] text-center text-[0.9rem]", children: "Loading sale data..." });
|
|
12761
12606
|
}
|
|
@@ -12853,6 +12698,7 @@ function PropertyBuy({
|
|
|
12853
12698
|
NewsOrdersSection,
|
|
12854
12699
|
{
|
|
12855
12700
|
newsItems,
|
|
12701
|
+
newsConnectionStatus,
|
|
12856
12702
|
activityData: portfolioActivity
|
|
12857
12703
|
}
|
|
12858
12704
|
)
|
|
@@ -15301,6 +15147,7 @@ exports.LoafLiquidityBadge = LoafLiquidityBadge;
|
|
|
15301
15147
|
exports.LoafLiquidityLogo = LoafLiquidityLogo;
|
|
15302
15148
|
exports.LoginPopup = LoginPopup;
|
|
15303
15149
|
exports.MobileTradeNav = MobileTradeNav;
|
|
15150
|
+
exports.OfferingProgressCard = OfferingProgressCard;
|
|
15304
15151
|
exports.Orderbook = Orderbook;
|
|
15305
15152
|
exports.OwnerBooking = owner_booking_default;
|
|
15306
15153
|
exports.PaymentPopup = PaymentPopup;
|