import React, { useEffect, useState } from "react"; import Search from "../../ui/inputs/Search"; import vehicle from "../../../assets/image/vehicles.png"; import workStation from "../../../assets/image/workStation.png"; import machines from "../../../assets/image/machines.png"; import feneration from "../../../assets/image/feneration.png"; import worker from "../../../assets/image/worker.png"; import { getCategoryAsset } from "../../../services/factoryBuilder/assest/assets/getCategoryAsset"; interface AssetProp { filename: string; thumbnail: string; category: string; description: string; tags: string; url: String; uploadDate: number; isArchieve: boolean; animated: boolean; price: number; CreatedBy: String; } const Assets: React.FC = () => { const [searchValue, setSearchValue] = useState(""); const [selectedCategory, setSelectedCategory] = useState(null); const [filteredAsset, setFilteredAsset] = useState([]); const handleSearchChange = (value: string) => { setSearchValue(value); setSelectedCategory(null); // Reset selected category when search changes }; const categoryList = [ { assetName: "Doors", assetImage: "", category: "Feneration", categoryImage: feneration, }, { assetName: "Windows", assetImage: "", category: "Feneration", categoryImage: feneration, }, { assetName: "Pillars", assetImage: "", category: "Feneration", categoryImage: feneration, }, { category: "Vehicles", categoryImage: vehicle, }, { category: "Workstation", categoryImage: workStation, }, { category: "Machines", categoryImage: machines, }, { category: "Workers", categoryImage: worker, }, ]; // Get unique categories const uniqueCategories = Array.from( new Set(categoryList.map((asset) => asset.category)) ); const fetchCategoryAssets = async (asset: any) => { try { setSelectedCategory(asset); const res = await getCategoryAsset(asset); setFilteredAsset(res); } catch (error) {} }; return (
{searchValue ? (

Results for "{searchValue}"

) : selectedCategory ? (
{/* Back Button */}
setSelectedCategory(null)} > ← Back

{selectedCategory}

{filteredAsset && filteredAsset?.map((asset: any, index: number) => (
{asset.filename}
{asset.filename}
))}
) : (

Categories

{uniqueCategories.map((category, index) => { const categoryInfo = categoryList.find( (asset) => asset.category === category ); return (
fetchCategoryAssets(category)} > {category}
{category}
); })}
)}
); }; export default Assets;