Commit Graph

12 Commits

Author SHA1 Message Date
5323ad056e chore: suppression artefacts Xmass — portraits PNG, WildCoin, entries formation
- Suppression dossier png/ (13 fichiers portraits formation + w-coin + bg-cover legacy)
- Suppression entries Achievements 48-58 (portraits promo Wild Code School)
- Remplacement icône monnaie w-coin.png → tadpole.svg dans boutiquecard
2026-03-20 14:07:59 +01:00
8bb0fa4a8e chore: suppression artefacts Xmass — SVG SantaClause, WildCoin, Mouffle, Bretzel
Plus aucun code ne référence ces assets. Le seul SVG legacy
encore utilisé (SantaClause-bag) a déjà été copié en tadpole.svg.
2026-03-20 14:03:35 +01:00
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
307feb711f feat(sprint1-step5): migration Tailwind v4 + Zustand — suppression WildCoinContext
- Install tailwindcss @tailwindcss/vite zustand
- useGameStore.ts : Zustand store wrappant economy.ts (tick, click, buy, prestige, buyNode, loadFromServer)
- GameTick.tsx : composant timer 1s
- GeneratorShop.tsx : boutique générateurs Tailwind (remplace Amelioration.jsx)
- EvolutionTree, PrestigePanel, MilestoneBar : rewrite Zustand + Tailwind
- Hud.jsx : rewrite Zustand + Tailwind (suppression Hud.scss)
- BoutiqueCard, Achievements : migrés vers Zustand
- Supprimé : WildCoin/ (4 fichiers), timer/Timer.jsx, useEconomy.ts, Hud.scss
- WildCoinProvider retiré de main.jsx
2026-03-20 13:40:51 +01:00
d215e9a33e feat(sprint1-step4): SuperOAuth login frontend
- AuthContext : fix exports, x-auth-token header, loginWithOAuth(), suppression axios/jwt-decode
- Login.jsx : redirect SuperOAuth Discord avec tenantId=clickerz
- AuthCallback.jsx : extraction token query param, flow OAuth complet
- .env.sample : ajout VITE_SUPEROAUTH_URL
- Mode invité préservé (pas de route guard)
2026-03-20 13:40:33 +01:00
a52746ed0c feat(sprint1-step3b): backend save system + anti-cheat + données rattrapées
- game_saves table + migration 002 (JSON state, anti-cheat metadata)
- saveControllers.js : load/save avec validation delta ressources (750k/s × 1.1)
- GameSaveManager : upsert MySQL ON DUPLICATE KEY UPDATE
- useSaveSync hook : auto-save 30s + keepalive beforeunload + guest fallback
- save-validation.test.ts : 8 tests anti-cheat
- economy.ts : arbre d'évolution 5 nœuds + prestige ADN (rattrapage step 2)
- economy.test.ts : +40 tests (évolution tree, multipliers, start bonus)
- GDD + SPRINT1.md : docs sprint complètes
- Rethème data : shop.json, Achievements.json, Cookie, Legal (rattrapage step 1)
2026-03-20 13:40:16 +01:00
9f0ccda99b feat(sprint1-step3): PrestigePanel + MilestoneBar + équilibrage générateurs fixes 2026-03-17 07:09:14 +01:00
c69da320cc feat(sprint1-step2): core economy TS + useEconomy hook (lazy calc) + 13 tests vitest 2026-03-17 06:36:51 +01:00
c414cf2d07 db(T0): schema + migration 001 — super_oauth_id, firstname, lastname
tech-lead: overflow granted — gate migration avant Sprint B+C SuperOAuth
2026-03-15 18:11:42 +01:00
e0bd6a2c4b fix: hardcoded localhost → VITE_BACKEND_URL 2026-03-15 17:43:20 +01:00
be9c28b59d fix(security): IDOR verifyToken+verifySelf, resetTokenSecret, firstname/lastname add, JWT expiresIn 7d 2026-03-15 17:25:31 +01:00
4e93753250 feat: initial import — ClickerZ formation project (Express + React/Vite) 2026-03-15 14:29:33 +01:00