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
This commit is contained in:
2026-03-20 13:41:09 +01:00
parent 307feb711f
commit 95dca420a5
15 changed files with 2729 additions and 308 deletions

View File

@@ -0,0 +1,9 @@
// formatNumber.ts — Affichage formaté des grands nombres
export function formatNumber(n: number): string {
if (n >= 1e12) return `${(n / 1e12).toFixed(2)}T`;
if (n >= 1e9) return `${(n / 1e9).toFixed(2)}B`;
if (n >= 1e6) return `${(n / 1e6).toFixed(2)}M`;
if (n >= 1e3) return `${(n / 1e3).toFixed(1)}k`;
return Math.floor(n).toString();
}