add newsletter and email campaigns
Subscribers with double opt-in confirmation, campaign composer with draft/scheduled/sent lifecycle, admin dashboard with overview stats, CSV export, and shop signup form wired into page builder blocks. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
20
PROGRESS.md
20
PROGRESS.md
@@ -128,16 +128,16 @@ Plans: [admin-redesign.md](docs/plans/admin-redesign.md) | [admin-font-loading.m
|
||||
| 91 | Order timeline component on `/admin/orders/:id` — chronological feed replacing scattered field cards | 89 | 1.5h | planned |
|
||||
| 92 | Global `/admin/activity` LiveView — all activity + "needs attention" tab, resolve action, count badge on admin nav | 89 | 2h | planned |
|
||||
| | **Admin & page editor UX polish** ([plan](docs/plans/admin-ux-polish.md)) | | | |
|
||||
| 103 | Unsaved changes warning — `beforeunload` + LiveView nav guard on page editor | — | 30m | planned |
|
||||
| 104 | Block descriptions in picker — add subtitle text to each block type | — | 45m | planned |
|
||||
| 105 | Sidebar nav grouping — section headers or nest Email/Redirects under Settings | — | 45m | planned |
|
||||
| 106 | Nav editor input labels — visible labels above each input pair | — | 30m | planned |
|
||||
| 107 | Custom page settings inline — collapsible panel in editor instead of separate page | — | 1h | planned |
|
||||
| 108 | Preview with real data — load actual products/categories instead of PreviewData | — | 45m | planned |
|
||||
| 109 | Block content preview in list — one-line summary below block name | — | 45m | planned |
|
||||
| 110 | "Providers" label clarity — rename to "Print providers" in sidebar | — | 5m | planned |
|
||||
| 111 | Newsletter block backend — wire up email collection or mark as decorative | — | 1-3h | planned |
|
||||
| 112 | Block preview thumbnails in picker — small illustrations per block type | — | 2h | planned |
|
||||
| ~~103~~ | ~~Unsaved changes warning — `beforeunload` + LiveView nav guard on page editor~~ | — | 30m | done |
|
||||
| ~~104~~ | ~~Block descriptions in picker — add subtitle text to each block type~~ | — | 45m | done |
|
||||
| ~~105~~ | ~~Sidebar nav grouping — section headers (Shop/Content/Settings)~~ | — | 45m | done |
|
||||
| ~~106~~ | ~~Nav editor input labels — visible labels above each input pair~~ | — | 30m | done |
|
||||
| ~~107~~ | ~~Custom page settings inline — collapsible panel in editor~~ | — | 1h | done |
|
||||
| ~~108~~ | ~~Preview with real data — load actual products/categories~~ | — | 45m | done |
|
||||
| ~~109~~ | ~~Block content preview in list — one-line summary below block name~~ | — | 45m | done |
|
||||
| ~~110~~ | ~~"Providers" label clarity — renamed to "Print providers"~~ | — | 5m | done |
|
||||
| ~~111~~ | ~~Newsletter block backend — marked decorative with configurable settings~~ | — | 30m | done |
|
||||
| ~~112~~ | ~~Block preview thumbnails in picker — SVG wireframes per block type~~ | — | 2h | done |
|
||||
| | **Other features** | | | |
|
||||
| ~~72~~ | ~~Order status lookup — wire up existing stub on contact page (UI already exists, backend unbuilt)~~ | — | 1.5h | done |
|
||||
| | **Abandoned cart recovery** ([plan](docs/plans/abandoned-cart.md)) | | | |
|
||||
|
||||
Reference in New Issue
Block a user