diff --git a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/MarketplaceDetails.tsx b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/MarketplaceDetails.tsx index 19ae1f929bb..31ea0cc5248 100644 --- a/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/MarketplaceDetails.tsx +++ b/apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/overview/components/MarketplaceDetails.tsx @@ -1,11 +1,7 @@ import { WalletAddress } from "@/components/blocks/wallet-address"; -import { - GridItem, - SimpleGrid, - Skeleton, - SkeletonText, - useBreakpointValue, -} from "@chakra-ui/react"; +import { Badge } from "@/components/ui/badge"; +import { SkeletonContainer } from "@/components/ui/skeleton"; +import { TrackedLinkTW } from "@/components/ui/tracked-link"; import { ListingStatsV3 } from "contract-ui/tabs/listings/components/listing-stats"; import { useMemo } from "react"; import type { ThirdwebContract } from "thirdweb"; @@ -19,7 +15,6 @@ import { } from "thirdweb/extensions/marketplace"; import { useReadContract } from "thirdweb/react"; import { min } from "thirdweb/utils"; -import { Badge, Card, Heading, Text, TrackedLink } from "tw-components"; import { NFTMediaWithEmptyState } from "tw-components/nft-media"; type ListingData = @@ -87,18 +82,14 @@ const DirectListingCards: React.FC = ({

Direct Listing

- View all -> - + = ({ return ( <>
- English Auctions - + English Auctions + + View all -> - +
= ({ hasEnglishAuctions={hasEnglishAuctions} /> - {hasDirectListings && contract && ( + {hasDirectListings && ( = ({ /> )} - {hasEnglishAuctions && contract && ( + {hasEnglishAuctions && ( = ({ chainSlug, contractAddress, }) => { - const isMobile = useBreakpointValue({ base: true, md: false }); - listings = isPending - ? Array.from({ length: isMobile ? 2 : 3 }).map((_, idx) => - dummyMetadata(idx), - ) - : listings.slice(0, isMobile ? 2 : 3); + ? Array.from({ length: 3 }).map((_, idx) => dummyMetadata(idx)) + : listings.slice(0, 3); const directListingsHref = `/${chainSlug}/${contractAddress}/direct-listings`; const englishAuctionsHref = `/${chainSlug}/${contractAddress}/english-auctions`; return ( - +
{listings.map((listing, index) => ( - - -
- - - -
-
- - {listing.asset.metadata.name} - - {isMarketplaceV1 && ( - - - {listing.type === "direct-listing" +
+ {/* Image */} + { + return ( + + ); + }} + /> +
+ +
+ {/* Card Link + Title */} + ( + + {v} + + )} + /> + + {isMarketplaceV1 && ( + - + : "English Auction" + } + skeletonData={listing.type} + render={(v) => ( +

{v}

+ )} + /> + )} + + ( +
+

Seller

+ +
)} + /> - - Seller - - - - - - {listing.currencyValue.displayValue}{" "} - {listing.currencyValue.symbol} - -
- - +

+ {listing.currencyValue.displayValue}{" "} + {listing.currencyValue.symbol} +

+ + )} +
+
))} -
+ ); }; diff --git a/apps/dashboard/src/tw-components/nft-media.tsx b/apps/dashboard/src/tw-components/nft-media.tsx index ec6ca147b3c..c0971270a3b 100644 --- a/apps/dashboard/src/tw-components/nft-media.tsx +++ b/apps/dashboard/src/tw-components/nft-media.tsx @@ -26,7 +26,7 @@ export const NFTMediaWithEmptyState: React.FC<{ height: props.height, }} className={cn( - "grid flex-shrink-0 place-items-center overflow-hidden rounded-xl border border-border object-contain", + "grid flex-shrink-0 place-items-center overflow-hidden rounded-lg border border-border object-contain", props.className, )} > @@ -44,7 +44,7 @@ export const NFTMediaWithEmptyState: React.FC<{ height: props.height, }} className={cn( - "flex-shrink-0 overflow-hidden rounded-xl object-contain", + "flex-shrink-0 overflow-hidden rounded-lg object-contain", props.className, )} >