- Landing.jsx : écran d'accueil "Entrer dans le Marais" sur / - Home.jsx : jeu sur /jeu, click animation float-up, sidebar responsive - formatNumber.ts : util partagé k/M/B/T (remplace 4 copies locales) - home.scss : rewrite classes (game-cover, click-zone, tadpole-sprite, game-sidebar) - Responsive : sidebar fixe desktop, drawer bottom mobile (<768px) - navbar : wildCoin → resource-counter, auth-nav stylé, dead code supprimé - GameSync.tsx : bridge useSaveSync ↔ Zustand (câblé dans App) - tadpole.svg : asset renommé (SantaClause-bag → tadpole) - deploy/ : Apache vhost SPA+proxy, deploy.sh, ecosystem.config.cjs PM2 - NavBarData : Jeu → /jeu - Cleanup : dead imports, commentaires legacy
33 lines
796 B
JavaScript
Executable File
33 lines
796 B
JavaScript
Executable File
import BoutiqueCard from "../components/BoutiqueCard";
|
|
import "../scss/shop.scss";
|
|
import shop from "../data/shop";
|
|
|
|
export default function Boutique() {
|
|
|
|
|
|
return (
|
|
<main>
|
|
<div className="shoppagecontainer">
|
|
<h1>Boutique</h1>
|
|
<div className="cardcontainer">
|
|
{shop.map((item) => {
|
|
return (
|
|
<BoutiqueCard
|
|
key={item.name}
|
|
name={item.name}
|
|
price={item.price}
|
|
incrementValue={item.incrementValue}
|
|
description={item.description}
|
|
image={item.image}
|
|
link={item.link}
|
|
type={item.type}
|
|
buyed={item.buyed}
|
|
/>
|
|
);
|
|
})}
|
|
</div>
|
|
</div>
|
|
</main>
|
|
);
|
|
}
|