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.
This commit is contained in:
@@ -17,9 +17,6 @@ import { ClanViewModel, MembersViewModel } from '@viewmodels/herowars';
|
||||
import { HWClanService, HWMemberService, UtilitiesService } from '@services';
|
||||
import { MAX_CLAN_MEMBERS } from '@constants';
|
||||
|
||||
import guildData from '@data/hw-guild-data.json'; // page Membres
|
||||
import guildStatistics from '@data/hw-guild-statistics.json'; // page Overview -> Statistics
|
||||
|
||||
@Component({
|
||||
selector: 'app-herowars-guildwar',
|
||||
imports: [
|
||||
@@ -93,29 +90,35 @@ export class HerowarsGuildwarComponent implements OnInit {
|
||||
}
|
||||
|
||||
loadClan(): void {
|
||||
this._guildClan = this._clanService.loadClan();
|
||||
this.clanViewModel = new ClanViewModel(this._guildClan);
|
||||
this.clanLoaded = true;
|
||||
this._clanService.loadClan().subscribe((clan) => {
|
||||
this._guildClan = clan;
|
||||
this.clanViewModel = new ClanViewModel(this._guildClan);
|
||||
this.clanLoaded = true;
|
||||
});
|
||||
}
|
||||
|
||||
loadData(): void {
|
||||
this._guildClan = this._clanService.loadClan();
|
||||
this._guildMembers = this._memberService.loadMembers(this._guildClan);
|
||||
this._guildClan = this._clanService.loadClanStats(this._guildClan, this._guildMembers);
|
||||
this.daysToWarn = parseInt(this._guildClan.daysToKick) / 2;
|
||||
this.clanViewModel = new ClanViewModel(this._guildClan);
|
||||
this.clanLoaded = true;
|
||||
this.membersViewModel = new MembersViewModel(this._guildMembers);
|
||||
this.membersLoaded = true;
|
||||
console.log(this._guildClan);
|
||||
console.log(this._guildMembers);
|
||||
this._clanService.loadClan().subscribe((clan) => {
|
||||
this._guildClan = clan;
|
||||
this._memberService.loadMembers(this._guildClan).subscribe((members) => {
|
||||
this._guildMembers = members;
|
||||
this._guildClan = this._clanService.loadClanStats(this._guildClan, this._guildMembers);
|
||||
this.daysToWarn = parseInt(this._guildClan.daysToKick) / 2;
|
||||
this.clanViewModel = new ClanViewModel(this._guildClan);
|
||||
this.clanLoaded = true;
|
||||
this.membersViewModel = new MembersViewModel(this._guildMembers);
|
||||
this.membersLoaded = true;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
loadMembers(): void {
|
||||
this._guildMembers = this._memberService.loadMembers(this._guildClan);
|
||||
this.membersViewModel = new MembersViewModel(this._guildMembers);
|
||||
this._guildClan = this._clanService.loadClanStats(this._guildClan, this._guildMembers);
|
||||
this.membersLoaded = true;
|
||||
this._memberService.loadMembers(this._guildClan).subscribe((members) => {
|
||||
this._guildMembers = members;
|
||||
this.membersViewModel = new MembersViewModel(this._guildMembers);
|
||||
this._guildClan = this._clanService.loadClanStats(this._guildClan, this._guildMembers);
|
||||
this.membersLoaded = true;
|
||||
});
|
||||
}
|
||||
|
||||
getMembers(): HWMember[] {
|
||||
@@ -124,11 +127,9 @@ export class HerowarsGuildwarComponent implements OnInit {
|
||||
|
||||
syncClan(): void {
|
||||
console.log(this._guildClan);
|
||||
console.log(guildData);
|
||||
}
|
||||
|
||||
syncMembers(): void {
|
||||
console.log(this._guildMembers);
|
||||
console.log(guildStatistics);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user