Files
Dwinzo_dev/app/src/modules/market/CardsContainer.tsx

79 lines
2.0 KiB
TypeScript
Raw Normal View History

import React, { useState } from "react";
2025-03-26 11:30:17 +05:30
import Card from "./Card";
2025-03-26 16:21:35 +05:30
import AssetPreview from "./AssetPreview";
2025-03-29 12:57:16 +05:30
2025-03-28 13:55:30 +05:30
interface ModelData {
CreatedBy: string;
animated: string | null;
category: string;
description: string;
filename: string;
isArchieve: boolean;
modelfileID: string;
tags: string;
thumbnail: string;
uploadDate: number;
_id: string;
2025-03-31 12:59:12 +05:30
price: number;
2025-03-28 13:55:30 +05:30
}
interface ModelsProps {
models: ModelData[];
}
2025-03-26 11:30:17 +05:30
const CardsContainer: React.FC<ModelsProps> = ({ models }) => {
2025-03-26 16:21:35 +05:30
const [selectedCard, setSelectedCard] = useState<{
assetName: string;
2025-03-29 12:57:16 +05:30
uploadedOn: number;
2025-03-26 16:21:35 +05:30
price: number;
rating: number;
views: number;
2025-03-29 12:57:16 +05:30
description: string;
2025-03-26 16:21:35 +05:30
} | null>(null);
const handleCardSelect = (cardData: {
assetName: string;
2025-03-29 12:57:16 +05:30
uploadedOn: number;
2025-03-26 16:21:35 +05:30
price: number;
rating: number;
views: number;
2025-03-29 12:57:16 +05:30
description: string;
2025-03-26 16:21:35 +05:30
}) => {
setSelectedCard(cardData);
};
2025-03-26 11:30:17 +05:30
return (
<div className="cards-container-wrapper">
<div className="cards-container-container">
<div className="header">Products You May Like</div>
<div className="cards-wrapper-container">
{models.length > 0 &&
models.map((assetDetail) => (
<React.Fragment key={assetDetail._id}>
<Card
assetName={assetDetail?.filename}
uploadedOn={assetDetail.uploadDate}
price={assetDetail?.price}
rating={4.5}
views={800}
onSelectCard={handleCardSelect}
image={assetDetail.thumbnail}
description={assetDetail.description}
/>
</React.Fragment>
))}
{/* <RenderOverlay> */}
{selectedCard && (
<AssetPreview
selectedCard={selectedCard}
setSelectedCard={setSelectedCard}
2025-03-26 16:21:35 +05:30
/>
)}
{/* </RenderOverlay> */}
</div>
2025-03-26 11:30:17 +05:30
</div>
</div>
);
};
2025-03-26 16:21:35 +05:30
export default CardsContainer;