From a723047a68a84b1c1ced94ada59e0e4fd0b85980 Mon Sep 17 00:00:00 2001 From: Adam Balan Date: Fri, 13 Sep 2024 16:56:46 -0600 Subject: [PATCH] lists properly update now --- ...ity-building-upgrade-repair-table-event.ts | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/resources/js/game/components/kingdoms/event-listeners/capital-city-building-upgrade-repair-table-event.ts b/resources/js/game/components/kingdoms/event-listeners/capital-city-building-upgrade-repair-table-event.ts index e16786c8d..c6820e556 100644 --- a/resources/js/game/components/kingdoms/event-listeners/capital-city-building-upgrade-repair-table-event.ts +++ b/resources/js/game/components/kingdoms/event-listeners/capital-city-building-upgrade-repair-table-event.ts @@ -63,20 +63,49 @@ export default class CapitalCityBuildingUpgradeRepairTableEvent let data = event.kingdomBuildingData; + // Filter based on repair status if (this.component.props.repair) { + data = data + .map( + (kingdom: { + map_name: any; + kingdom_name: any; + kingdom_id: number; + buildings: any[]; + }) => ({ + kingdom_name: kingdom.kingdom_name, + kingdom_id: kingdom.kingdom_id, + map_name: kingdom.map_name, + buildings: kingdom.buildings + .filter( + (building) => + building.current_durability < + building.max_durability, + ) + .sort((a, b) => a.level - b.level), // Sort buildings by level (lowest to highest) + }), + ) + .filter( + (kingdom: any) => kingdom.buildings.length > 0, // Keep only kingdoms with buildings needing repair + ); + } else { data = data.map( (kingdom: { + map_name: any; kingdom_name: any; kingdom_id: number; buildings: any[]; }) => ({ kingdom_name: kingdom.kingdom_name, + map_name: kingdom.map_name, kingdom_id: kingdom.kingdom_id, - buildings: kingdom.buildings.filter( - (building) => - building.current_durability < - building.max_durability, - ), + buildings: kingdom.buildings + .filter( + (building) => + building.current_durability >= + building.max_durability, + ) + .sort((a, b) => a.level - b.level), // Sort buildings by level (lowest to highest) }), ); }