Prune redundant reserve drill assignments
This commit is contained in:
@@ -622,7 +622,14 @@ export function markCampaignStep(step: CampaignStep) {
|
||||
|
||||
export function setCampaignReserveTrainingFocus(focusId: CampaignReserveTrainingFocusId) {
|
||||
const state = ensureCampaignState();
|
||||
state.reserveTrainingFocus = normalizeReserveTrainingFocusId(focusId);
|
||||
const normalizedFocusId = normalizeReserveTrainingFocusId(focusId);
|
||||
const rosterUnitIds = normalizedRosterUnitIds(state.roster);
|
||||
const allowedUnitIds = rosterUnitIds.size > 0 ? rosterUnitIds : undefined;
|
||||
const assignments = normalizeCampaignReserveTrainingAssignments(state.reserveTrainingAssignments, allowedUnitIds);
|
||||
state.reserveTrainingFocus = normalizedFocusId;
|
||||
state.reserveTrainingAssignments = Object.fromEntries(
|
||||
Object.entries(assignments).filter(([, assignedFocusId]) => assignedFocusId !== normalizedFocusId)
|
||||
) as CampaignReserveTrainingAssignments;
|
||||
state.updatedAt = new Date().toISOString();
|
||||
persistCampaignState(state);
|
||||
return cloneCampaignState(state);
|
||||
|
||||
Reference in New Issue
Block a user