4b18d683898873b26635aa1573346c9719c8f2e2
snapshotToPages mapped only id/name/slug/craftState/seo and planPageRestore built/replaced pages without nav, so 'Restore site' and 'Restore one page' dropped every page's nav (show/parentId/label). The NavSync effect then rewrote the follow-pages header: hidden pages reappeared, dropdown nesting flattened, custom labels reverted. SnapshotPage now carries `nav?: PageNav`, accepted only when it is a plain non-null, non-array object (shallow-copied), else omitted. planPageRestore restores it in id/slug replace mode (like seo) and on append. HistoryModal already passes these rows straight to setPagesCraftState, which keeps nav, so no wiring change was needed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Languages
TypeScript
75.6%
JavaScript
12.4%
HTML
8.8%
CSS
2.6%
PHP
0.4%
Other
0.2%