add live preview pane to page editor
All checks were successful
deploy / deploy (push) Successful in 4m55s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-02-27 08:06:17 +00:00
parent 6fbd654d57
commit b340c24aa1
4 changed files with 341 additions and 23 deletions

View File

@@ -458,7 +458,7 @@ See: [plan](docs/plans/shipping-sync.md) for implementation details
See: [docs/plans/analytics-v2.md](docs/plans/analytics-v2.md) for v2 plan
### Page Editor
**Status:** In progress — Stage 7 of 9 complete, 1320 tests
**Status:** In progress — Stage 7b of 9 complete, 1326 tests
Database-driven page builder. Every page is a flat list of blocks stored as JSON — add, remove, reorder, and edit blocks on any page. One generic renderer for all pages (no page-specific render functions). Portable blocks (hero, featured_products, image_text, etc.) work on any page. Page-specific blocks (product_hero, cart_items, etc.) are restricted to their native page. Block data loaders dynamically load data based on which blocks are on the page. ETS-cached page definitions. Mobile-first admin editor with live preview, undo/redo, accessible reordering (no drag-and-drop), inline settings forms, and "reset to defaults". CSS-driven page layout (not renderer-driven).
@@ -469,7 +469,8 @@ Database-driven page builder. Every page is a flat list of blocks stored as JSON
4. ~~Wire shop pages — Collection, PDP, Cart, Search~~
5. ~~Wire order pages + theme preview — CheckoutSuccess, Orders, OrderDetail, theme editor~~
6. ~~Admin editor — page list + block management~~ ✅ (`660fda9`)
7. ~~Admin editor — inline block settings editing~~
7. ~~Admin editor — inline block settings editing~~ (`3f97742`)
7b. ~~SettingsField struct + repeater field type for info_card items~~ ✅ (`6fbd654`)
8. **Next →** Live preview — split layout with real-time preview
9. Undo/redo + polish — history stacks, keyboard shortcuts, animations
@@ -480,7 +481,8 @@ Database-driven page builder. Every page is a flat list of blocks stored as JSON
- `lib/berrypod_web/live/admin/pages/` — Index (page list) + Editor (block management)
- `test/berrypod/pages_test.exs` — 34 tests
- `test/berrypod_web/page_renderer_test.exs` — 18 tests
- `test/berrypod_web/live/admin/pages_test.exs`36 tests
- `lib/berrypod/pages/settings_field.ex`typed struct for settings schema fields
- `test/berrypod_web/live/admin/pages_test.exs` — 42 tests
See: [docs/plans/page-builder.md](docs/plans/page-builder.md) for full plan