add inline block settings editing to page editor
All checks were successful
deploy / deploy (push) Successful in 3m40s
All checks were successful
deploy / deploy (push) Successful in 3m40s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
12
PROGRESS.md
12
PROGRESS.md
@@ -9,7 +9,7 @@
|
||||
- Image optimization pipeline (AVIF/WebP/JPEG responsive variants)
|
||||
- Shop pages (home, collections, products, cart, about, contact, error, delivery, privacy, terms)
|
||||
- Mobile-first design with bottom navigation
|
||||
- 1284 tests passing, 100% PageSpeed score
|
||||
- 1309 tests passing, 100% PageSpeed score
|
||||
- SQLite production tuning (IMMEDIATE transactions, mmap, WAL journal limit)
|
||||
- Variant selector with color swatches and size buttons
|
||||
- Session-based cart with real variant data (add/remove/quantity, cross-tab sync)
|
||||
@@ -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 5 of 9 complete, 1284 tests
|
||||
**Status:** In progress — Stage 7 of 9 complete, 1320 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).
|
||||
|
||||
@@ -468,17 +468,19 @@ Database-driven page builder. Every page is a flat list of blocks stored as JSON
|
||||
3. ~~Wire simple pages — Home, Content (x4), Contact, Error~~ ✅
|
||||
4. ~~Wire shop pages — Collection, PDP, Cart, Search~~ ✅
|
||||
5. ~~Wire order pages + theme preview — CheckoutSuccess, Orders, OrderDetail, theme editor~~ ✅
|
||||
6. **Next →** Admin editor — page list + block management (reorder, add, remove, duplicate, save)
|
||||
7. Admin editor — inline block settings editing
|
||||
8. Live preview — split layout with real-time preview
|
||||
6. ~~Admin editor — page list + block management~~ ✅ (`660fda9`)
|
||||
7. ~~Admin editor — inline block settings editing~~ ✅
|
||||
8. **Next →** Live preview — split layout with real-time preview
|
||||
9. Undo/redo + polish — history stacks, keyboard shortcuts, animations
|
||||
|
||||
**Key files created:**
|
||||
- `lib/berrypod/pages.ex` — context (CRUD + cache + load_block_data)
|
||||
- `lib/berrypod/pages/` — Page schema, BlockTypes (26 types), Defaults (14 pages), PageCache (ETS)
|
||||
- `lib/berrypod_web/page_renderer.ex` — generic renderer dispatching blocks to existing shop components
|
||||
- `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
|
||||
|
||||
See: [docs/plans/page-builder.md](docs/plans/page-builder.md) for full plan
|
||||
|
||||
|
||||
Reference in New Issue
Block a user