import { useState, useEffect } from "react"; export default function Builder() { const [products, setProducts] = useState([]); // Available products from the API const [build, setBuild] = useState([]); // User's selected parts const [loading, setLoading] = useState(true); // Fetch available products on page load useEffect(() => { async function fetchProducts() { try { const response = await fetch("/api/products"); // Replace with your actual API endpoint const data = await response.json(); setProducts(data); setLoading(false); } catch (error) { console.error("Error fetching products:", error); setLoading(false); } } fetchProducts(); }, []); // Add a product to the build const addToBuild = (product) => { setBuild((prevBuild) => [...prevBuild, product]); }; // Remove a product from the build const removeFromBuild = (productId) => { setBuild((prevBuild) => prevBuild.filter((item) => item.id !== productId)); }; return (

Build Your Firearm

{/* Available Products */}

Available Products

{loading ? (

Loading products...

) : (
{products.map((product) => (

{product.name}

{product.description}

${product.price}

))}
)}
{/* Current Build */}

Current Build

{build.length === 0 ? (

No parts added yet. Start building your firearm!

) : (
    {build.map((item) => (
  • {item.name}
  • ))}
)}
); }