Insider
{{ dashboard?.displayName || me.customerName || '—' }}
mdi-logout
Logout
Loading…
{{ bootError }}
mdi-view-dashboard
Dashboard
mdi-broadcast
Broadcasts
mdi-inbox
Inbox
mdi-currency-usd
Pricing
{{ dashboard?.activeSubscriberCount ?? 0 }}
Active Subscribers
{{ dashboard?.recentBroadcastCount ?? 0 }}
Broadcasts (30 days)
{{ dashboard?.unreadDmCount ?? 0 }}
Unread DMs
Quick Actions
mdi-broadcast
Compose Broadcast
mdi-refresh
Refresh
mdi-pencil
Compose
mdi-send
Send Broadcast
Sent to {{ composer.lastResult.intendedRecipientCount }} recipient(s).
Recent Broadcasts
Sent
Body
Tier
Recipients
Delivered
{{ fmtDate(b.sentAt) }}
{{ b.body }}
{{ tierName(b.tierId) }}
{{ b.intendedRecipientCount }}
{{ b.deliveredCount }}
No broadcasts yet.
Fan DMs
{{ dm.readByCreatorAt ? 'mdi-email-open' : 'mdi-email' }}
{{ dm.fanDisplayName || dm.fanPhone }}
insufficient credits
{{ fmtDate(dm.createdAt) }}
message #{{ dm.messageId }}
Inbox empty.
Subscription Tiers
{{ t.name }}
archived
{{ '$' + (t.monthlyPriceCents / 100).toFixed(2) }}/mo · {{ t.perDmCreditCost }} credit(s) per DM
mdi-pencil
Edit
mdi-plus
Add Tier
Credit Packs
{{ p.name }}
archived
{{ p.creditAmount }} credits · {{ '$' + (p.priceCents / 100).toFixed(2) }}
mdi-pencil
Edit
mdi-plus
Add Pack
{{ tierDlg.id ? 'Edit Tier' : 'New Tier' }}
Cancel
Save
{{ packDlg.id ? 'Edit Credit Pack' : 'New Credit Pack' }}
Cancel
Save
{{ toast.message }}