feat: admin email hub — sent log, inbox, compose, audiences, delivery tracking
Add full email management at /admin/emails with: - email_log table tracking all outgoing emails with resend_id + delivery events - inbound_emails table for Resend webhook-received messages - Resend webhook handler (/webhooks/resend) updating delivery status in real-time - send_email() returns resend_id (str|None) instead of bool; all 9 worker handlers pass email_type= for per-type filtering - Admin UI: sent log with HTMX filters, email detail with API-enriched HTML preview, inbox with unread badges + reply, compose with branded wrapping, audience management with contact list/remove - Sidebar Email section with unread badge via blueprint context processor Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Padelnomics — Project Tracker
|
||||
|
||||
> Move tasks across columns as you work. Add new tasks at the top of the relevant column.
|
||||
> Last updated: 2026-02-22.
|
||||
> Last updated: 2026-02-23.
|
||||
|
||||
---
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
- [x] Comprehensive admin: users, tasks, leads, suppliers, CMS templates, scenarios, articles, feedback
|
||||
- [x] Task queue management (list, retry, delete)
|
||||
- [x] Lead funnel stats on admin dashboard
|
||||
- [x] Email hub (`/admin/emails`) — sent log, inbox, compose, audiences, delivery event tracking via Resend webhooks
|
||||
|
||||
### SEO & Legal
|
||||
- [x] Sitemap (both language variants, `<lastmod>` on all entries)
|
||||
@@ -193,7 +194,7 @@ _Move here when you start working on it._
|
||||
### Bugs / Tech Debt
|
||||
- [ ] Resend audiences: two segments both using "waitlist-auth" — review audience/segment model and fix duplication
|
||||
- [ ] Transactional emails not all translated to German — some emails still sent in English regardless of user language
|
||||
- [ ] Resend inbound emails enabled — plan how to integrate (webhook routing, reply handling, support inbox?)
|
||||
- [x] ~~Resend inbound emails enabled~~ — integrated: webhook handler + admin inbox with reply (done in email hub)
|
||||
- [ ] Extraction: Playtomic API only returns ~20 venues per bbox — investigate smaller/targeted bboxes
|
||||
|
||||
### Marketing & Content
|
||||
|
||||
Reference in New Issue
Block a user