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:
9
Frontend/src/utils/formatNumber.ts
Normal file
9
Frontend/src/utils/formatNumber.ts
Normal 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();
|
||||
}
|
||||
Reference in New Issue
Block a user