Page body
What this page does
This page opens the full page editor for one page key and is the main operator workspace for updating localized content, adjusting visibility, and publishing the current draft.
What operators manage here
- Header identity: page key, editable name, operational state, and content status.
- Language tabs and page sections for localized content.
- Country restrictions and allowed-country targeting.
- Preview mode switching between desktop and mobile iframe layouts.
- Older versions that can be switched back into the current draft.
- Lifecycle actions such as publish, align, translate, duplicate, URLs editing, and delete.
Common confusion
Deleteremoves the page and related content history entirely.Publishpromotes the current draft content and archives the previous published version.Statechanges page availability, whileStatustracks the publication lifecycle of content.- There is no visible
Save Draftbutton. Draft persistence happens automatically through debounced autosave when operators change editable fields or page content. Translatefills other languages from the primary language, whileForce Translateoverwrites non-primary languages.Choose a Past Versionis not a compare-only history viewer. Selecting a row immediately copies that archived content into the current draft through the normal page update route.Duplicateis not a single backend clone endpoint. The helper first creates a new page shell, then copies the current page content and settings into the new key.Content alignwarns that manually added non-primary language sections will be lost before the alignment request runs.
Editor-only helper surfaces
URLsopens a separate modal for page URLs with its own validation and debounced save flow.Duplicateopens the same page-creation modal used on the page list, then copies the current content into the newly created page.Add sectioninserts a new default content section into the current language layout.- The right sidebar exposes per-section controls for
Type,Section name (optional),Visibility,Access Tags,Device Visibility, and section-levelDelete/Duplicate/ move actions. Previewcan switch between desktop and mobile framing without changing saved content.Choose a Past Versionshows archived timestamps and can label rows asPublishedorCurrent version.
How saving actually works
Nameuses Formik submit-on-change plus a one-second debounced page update.StateandLayoutbypass the form debounce and save immediately through direct update calls.Exclude CountriesandIncluded Countriessubmit immediately after the operator changes the selection, then go through the same debounced page update path.- Section edits, section ordering, and layout-grid edits rebuild the current language
pageContent, save it, and force the preview iframe to reload. - Language tabs and the desktop/mobile preview toggle are local FE state only and do not write to the backend.