Prune redundant reserve drill assignments

This commit is contained in:
2026-07-09 14:04:07 +09:00
parent dd873b211b
commit abc349bb1c
2 changed files with 35 additions and 1 deletions

View File

@@ -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);