Commit Graph

33 Commits

Author SHA1 Message Date
julien fa00719a3e feat(herowars): migrate JSON static imports to HttpClient assets
Replace all TypeScript JSON imports with an HWDataService that loads
6 data files from /assets/files-data/ via HttpClient with shareReplay(1).
Update all 9 consumer components to subscribe asynchronously. Remove
unused qcm-bpa.json import and dead methods from QcmComponent.
Add ADR 0013 documenting the decision.
2026-04-26 23:46:35 +02:00
julien 86c075db10 chore: remove React/Next.js remnants from Angular codebase
The develop branch had been contaminated by a merge with the old
Next.js/React version of the project. These 66 files (pages, layouts,
_components, _types, server actions, CSS modules) were Next.js App Router
artifacts unused by and invisible to the Angular application.
2026-04-26 17:31:34 +02:00
julien 9ad8129321 chore: remove unused and legacy JSON data files
- qcm/: MongoDB export dumps (dev_acproapidb.users, headupdb.*,
  qcm_categories) — not imported anywhere in the codebase
- dashboard-components/*/data.json: scaffolding stubs — not imported
  in their respective component .ts files
2026-04-26 17:17:52 +02:00
julien 7215c01741 Remove one-shot data migration tool (jumps.json + importJumps) 2026-04-26 16:15:54 +02:00
julien e12bbf29ae fix(build): remove unused Angular imports (NG8113) and chartist CSS 2026-04-26 07:13:57 +02:00
julien 8c898cd652 chore(deps): upgrade Angular 20 → 21
Migrates to Angular 21.0.0: updates tsconfig lib to es2022, migrates
bootstrap options in main.ts, and completes control flow migration
(*ngFor/*ngIf → @for/@if) in jumps and jumps-by-month templates to
resolve duplicate ng-template name conflicts skipped by the schematic.
Also fixes pre-commit hook to load nvm before running tests.
2026-04-26 06:49:50 +02:00
julien be5f5775ef chore(deps): upgrade Angular 19 → 20
- ng update @angular/core@20 @angular/cli@20 @angular/material@20 @angular-eslint@20 @angular/google-maps@20
- Remove ng-chartist (abandoned, incompatible with Angular 20): replace <x-chartist> with <app-bars-chart> in dropzones-bar and jumps-by-month
- Migrate all constructor injection to inject() function (ng generate @angular/core:inject, 67 files)
- TypeScript 5.5 → 5.9.3
- DOCUMENT import moved from @angular/common to @angular/core (automatic migration)
- tsconfig moduleResolution updated to "bundler"
2026-04-26 06:40:13 +02:00
julien 5400294d45 chore(deps): upgrade Angular 18 → 19
- ng update @angular/core@19 @angular/cli@19 @angular/material@19 @angular-eslint/schematics@19
- Migration: remove standalone:true (now default in v19) from 60 components
- Migration: zone.js 0.14 → 0.15
- Fix pre-existing build budget error: raise initial bundle limit to 5mb (app ships large static JSON assets)
2026-04-26 06:25:02 +02:00
julien b8eb8a9393 feat(tooling): add lint-staged with Prettier + ESLint on pre-commit
- Install prettier, lint-staged, eslint-config-prettier
- Configure lint-staged in package.json: Prettier write on staged files, ESLint check on .ts/.html
- Add eslint-config-prettier to .eslintrc.json extends to disable formatting rules that conflict with Prettier
- Configure no-unused-vars to allow _ prefix (intentional destructuring pattern)
- Replace manual prettier/git update-index lines in pre-commit hook with npx lint-staged
- Fix pre-existing ESLint errors: remove unused imports in herowars-guildraid, fix useless escapes in middleware.ts, fix eslint-disable comment in utilityTypes.ts
2026-04-26 06:07:07 +02:00
julien b645f28daf fix(tests): fix all 39 failing specs and re-enable pre-commit hook
- Fix circular dependency in guildwar-attack/defence: import FortificationCardContentComponent directly instead of via @components/shared barrel
- Add index === -1 guard in guildwar-attack, guildwar-defence, guildwar-teams _setChampionsByPower to avoid crash when members input is empty
- Fix MembersStatisticsComponent to guard against undefined member in ngOnInit
- Fix JumpComponent: initialize jump with sautants/author defaults to avoid template crash
- Add provideRouter([]), provideHttpClient(), provideAnimations(), provideNativeDateAdapter() to 26 spec files missing them
- Register Chart.js scales in chart component specs
- Rewrite FrenchPaginator spec to instantiate service directly
- Fix AppComponent spec assertions to match actual component
- Re-enable npm test in .husky/pre-commit
2026-04-26 05:28:58 +02:00
julien 246d420fe5 chore: merge angular branch into develop
Resolves add/add conflicts by keeping Angular-specific versions.
Fixes pre-existing build issues surfaced by the merge:
- Remove obsolete _icomoon.scss (conflict with icomoon.scss)
- Replace deprecated async with waitForAsync in 6 spec files (Angular 18)
- Add stylePreprocessorOptions.includePaths to test config in angular.json
- Disable pre-commit test hook (pre-existing failures in HeroWars suite)
2026-04-26 04:45:19 +02:00
julien 69cf4548d2 refactor(naming): harmonize service file names and API domain prefixes
- Rename hwclan.service.ts → hw-clan.service.ts, hwmember.service.ts → hw-member.service.ts (Angular Style Guide kebab-case)
- Replace _apiVersion (/v1, /v2) with _apiDomain (/skydive, /cms, /herowars) across all feature services
- Update herowars barrel to reference renamed files
- Update CLAUDE.md to reflect corrected path examples
2026-04-26 00:39:03 +02:00
julien 5a7baf4d94 chore(jumps): remove dead feed type from query method
The /feed branch was never called — all consumers pass type 'all'.
Mirrors removal of the skydive /jumps/feed backend route.
2026-04-26 00:16:35 +02:00
julien d6c864d6d1 fix(menu): correct "shydive" typo to "skydive" in admin menu
Eight items under the admin menu had a misspelled parent state,
breaking the parent/child relationship for the skydive submenu.
Also reparents the qcm submenu to skydive (was sitting at the root).
2026-04-25 17:23:03 +02:00
julien 223955eb84 refactor(environment): rename config keys to camelCase
Aligns environment.* shape with TypeScript convention.
Renames: api_url -> apiBaseUrl, api_key -> apiKey,
use_api_key -> useApiKey, refresh_interval -> refreshInterval,
google_map_api_key -> googleMapApiKey.

The local environment.{ts,development.ts,local.ts} files are
gitignored and have already been migrated; this commit updates
the tracked example file and the only consumer (apiInterceptor).
2026-04-25 17:22:49 +02:00
julien 59361d46a3 Menu link update 2026-03-30 01:05:32 +02:00
julien 8a602bd2db Refactoring 2026-03-29 23:23:33 +02:00
julien 8a1c19e011 Ajout de composants Hero Wars 2025-11-27 10:35:38 +01:00
Rampeur 8e3bd16b60 Ajout d'un pipe 'floor' 2025-09-23 22:30:43 +02:00
Rampeur 5340e737c6 Ajout du composant 'demo' 2025-09-23 22:28:15 +02:00
Rampeur 8b098f7545 Mise à jour graphique 2025-09-23 22:25:08 +02:00
Rampeur 65ae9fce4b Mise à jour de services et resolvers 2025-08-29 16:07:08 +02:00
Rampeur a0a194306f Mise à jour du menu de la sidebar 2025-08-29 16:05:37 +02:00
Rampeur 452475b26e Ajouts et modifications de models 2025-08-29 16:04:20 +02:00
Rampeur ed6104ed21 Mise à jour articles et produits 2025-08-19 05:12:16 +02:00
Rampeur 977104aac2 Mise à jour du layout 2025-08-13 01:28:11 +02:00
Rampeur 0a6cbc0c00 Import des sources angular à partir de 'headup_app' 2025-08-11 23:26:29 +02:00
Rampeur 879c7c68d6 Mise à jour des numéros de port de serveur 2025-08-11 22:36:04 +02:00
Rampeur 8ed9b50054 Mise à jour des numéros de port de serveur 2025-08-11 22:35:02 +02:00
Rampeur 917b90a26d Mise à jour 2025-08-11 01:14:50 +02:00
Rampeur e1e703c2d8 Mise à jour des formulaires d'inscription/connexion 2025-08-08 10:44:51 +02:00
Rampeur 3ce58faa1c Refactoring 2025-08-07 09:00:42 +02:00
Rampeur 8da4b7cb28 Ajout des fichiers de l'application 2025-08-07 08:12:11 +02:00