feat: nation-op split/merge review — dialog (part list + successor radio, merge name), docs (P4b, #16)

This commit is contained in:
2026-10-14 13:42:46 +00:00
parent 458e9be419
commit 14c5d4881d
5 changed files with 239 additions and 60 deletions
+6 -5
View File
@@ -405,11 +405,12 @@ export default function App() {
[game, applyState],
);
// Apply a pending nation op the model proposed (confirm, with an optional
// rename-name edit). Fast, non-LLM — gated by `opBusy`, not `busy`. The
// version-bumped state comes back in the response and the SSE `state` event.
// Apply a pending nation op the model proposed (confirm; `edits.name`
// overrides a rename/merge name, `edits.playerPart` picks the player's
// successor part in a split). Fast, non-LLM — gated by `opBusy`, not `busy`.
// The version-bumped state comes back in the response and the SSE `state` event.
const runConfirmNationOp = useCallback(
async (index: number, edits?: { name?: string }) => {
async (index: number, edits?: { name?: string; playerPart?: number }) => {
if (!game) return;
setOpBusy(true);
try {
@@ -603,7 +604,7 @@ interface GameScreenProps {
onRemoveQueueItem: (index: number) => void;
onAdvisor: (p?: string) => void;
onJump: () => void;
onConfirmNationOp: (index: number, edits?: { name?: string }) => void;
onConfirmNationOp: (index: number, edits?: { name?: string; playerPart?: number }) => void;
onRejectNationOp: (index: number) => void;
onHome: () => void;
}