Files
ClickerZ/Frontend/src/App.jsx
Tetardtek 95dca420a5 feat(sprint1-step6): polish, landing page, responsive, deploy config
- 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
2026-03-20 13:41:09 +01:00

40 lines
986 B
JavaScript
Executable File

import { useState } from "react";
import { Outlet } from "react-router-dom";
import Navbar from "./components/navbar";
import Footer from "./components/footer";
import Hud from "./components/Hud/Hud";
import { GameTick } from "./components/GameTick";
import { GameSync } from "./components/GameSync";
import "./scss/root.scss";
import "./scss/components/footer.scss";
import navData from "./data/NavBarData.json";
function App() {
const [isVisible, setIsVisible] = useState(false);
const [toggleRain, setToggleRain] = useState(false);
return (
<>
<GameTick />
<GameSync />
<Navbar
navData={navData}
isVisible={isVisible}
setIsVisible={setIsVisible}
toggleRain={toggleRain}
setToggleRain={setToggleRain}
/>
<Hud isVisible={isVisible} setIsVisible={setIsVisible} />
<main>
<Outlet context={[toggleRain, setToggleRain]} />
</main>
<Footer />
</>
);
}
export default App;