managarten/packages/shared-branding/src
Till JS 1f392c1ea6 feat(broadcast): M1 skeleton — module registration + empty ListView
New 1:N email-campaign module (newsletters / announcements). M1 scope:
- types (LocalCampaign / LocalBroadcastTemplate / LocalBroadcastSettings),
  constants (STATUS_LABELS, BROADCAST_SETTINGS_ID, rate-limit hints)
- collections.ts: Dexie table refs, no guest seed (a demo campaign that
  might accidentally hit real SMTP felt wrong)
- module.config registered in module-registry
- Dexie v32 wired in (already in tree from a parallel Spaces commit
  picking it up via lint-staged — matches what the module expects)
- encryption registry entries for all three tables (type-safe via
  entry<T>), content + audience always encrypted because the recipient
  graph is a leakable business secret
- app entry (requiredTier: alpha) + megaphone gradient icon
  (indigo→cyan, sits between mail and invoices in the comm family)
- route /broadcasts mounts ListView with empty-state placeholder

Status machine defined: draft → scheduled → sending → sent, with
cancelled as the off-ramp from draft/scheduled. No CRUD yet — that's M2.

Plan: docs/plans/broadcast-module.md.
Next: M2 AudienceBuilder + Tiptap editor.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:16:35 +02:00
..
logos refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
app-icons.ts feat(broadcast): M1 skeleton — module registration + empty ListView 2026-04-20 20:16:35 +02:00
AppLogo.svelte style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
AppLogoWithName.svelte style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
config.ts refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
index.ts feat(spaces): validate space metadata on Better Auth organization hooks 2026-04-20 16:05:38 +02:00
mana-apps.spec.ts refactor(shared-branding): derive APP_URLS from APP_ICONS 2026-04-09 15:14:52 +02:00
mana-apps.ts feat(broadcast): M1 skeleton — module registration + empty ListView 2026-04-20 20:16:35 +02:00
ManaIcon.svelte style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
spaces.ts feat(spaces): validate space metadata on Better Auth organization hooks 2026-04-20 16:05:38 +02:00
types.ts refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00