Block builder
Add blocks, configure their content, reorder by drag, toggle visible — all without leaving the editor.
The Contact module's editor is a single page that lets you assemble your contact page from a fixed set of block types. Open it at Contact → Edit page.
Layout
- Top — page heading + subheading. These appear once, above all blocks.
- Middle — the blocks list. Each block is a row with its type icon, a drag handle, an enable/disable checkbox, an order-arrow pair, a remove button, and an inline config panel.
- Bottom — after-submit behavior (thanks page vs redirect) and the final Save button.
There's no separate "preview" page — the editor itself is close enough to the final render that you can iterate in place. Save, open the public URL in another tab, refresh after each save.
Adding a block
Click + Add block at the top of the blocks list. Pick a type from the dropdown. The block lands at the bottom, enabled by default, with sensible default content. Configure it inline.
Reordering
Two ways:
- Drag handle (the ⋮⋮ icon at the start of each row) — drag to reorder. Sortable across the list, live preview as you move.
- ▲ / ▼ buttons — keyboard / mouse alternative if you don't want to drag.
Order saves when you click the page-level Save button — until then, order changes are in memory only.
Disabling without removing
Each block has an Enabled checkbox. Unticking it doesn't remove the block; it just stops the block from rendering on the public page. Useful for:
- A seasonal block (holiday hours) you turn on for a month per year.
- A draft block you're still writing.
- A block that depends on data (team photos) you haven't uploaded yet.
Disabled blocks render at 50% opacity in the editor so you can see they're there but inactive.
Removing
The ✕ button removes the block entirely. We ask for confirmation — once you save, the block is gone.
What block order does
Blocks render top-to-bottom on the public page in the order you set in the editor. There's no per-block "show on mobile / desktop" distinction; one order across all viewports.