Implement the 004-edit-combatant feature that adds the possibility to change a combatants name
This commit is contained in:
@@ -2,6 +2,7 @@ import type { EncounterStore } from "@initiative/application";
|
||||
import {
|
||||
addCombatantUseCase,
|
||||
advanceTurnUseCase,
|
||||
editCombatantUseCase,
|
||||
removeCombatantUseCase,
|
||||
} from "@initiative/application";
|
||||
import type { CombatantId, DomainEvent, Encounter } from "@initiative/domain";
|
||||
@@ -78,11 +79,25 @@ export function useEncounter() {
|
||||
[makeStore],
|
||||
);
|
||||
|
||||
const editCombatant = useCallback(
|
||||
(id: CombatantId, newName: string) => {
|
||||
const result = editCombatantUseCase(makeStore(), id, newName);
|
||||
|
||||
if (isDomainError(result)) {
|
||||
return;
|
||||
}
|
||||
|
||||
setEvents((prev) => [...prev, ...result]);
|
||||
},
|
||||
[makeStore],
|
||||
);
|
||||
|
||||
return {
|
||||
encounter,
|
||||
events,
|
||||
advanceTurn,
|
||||
addCombatant,
|
||||
removeCombatant,
|
||||
editCombatant,
|
||||
} as const;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user