feat(admin): pages Marketing et Statistiques (sans envoi)
All checks were successful
CI / Lint, Unit Tests & Build (push) Successful in 7m32s
CI / Deploy production (on server) (push) Successful in 27s

Ajoute deux entrées au menu d’administration. Les campagnes s’affichent dans un tableau vide honnête. Les statistiques disent clairement qu’aucune mesure n’est encore branchée, sans afficher de zéro trompeur.
This commit is contained in:
Antigravity
2026-09-06 08:55:43 +00:00
parent cae464be4f
commit 6fa12f6e13
22 changed files with 993 additions and 16 deletions

View File

@@ -1598,7 +1598,42 @@
"chat": "AI Chat",
"lab": "The Lab (Ideas)",
"agents": "Agents",
"settings": "Settings"
"settings": "Settings",
"marketing": "Marketing",
"stats": "Statistics"
},
"marketing": {
"title": "Marketing",
"description": "Prepare campaigns, choose who receives them, and attach an offer. Sending is not enabled yet.",
"emptyTitle": "No campaigns yet",
"emptyBody": "When campaigns exist, they will appear in this table with their audience, offer, and status. Nothing is sent from this page.",
"createCampaign": "Create a campaign",
"createDisabledHint": "Campaign sending is not enabled in this version.",
"columns": {
"name": "Internal name",
"goal": "Purpose",
"audience": "Audience",
"language": "Language",
"offer": "Offer",
"status": "Status",
"scheduledAt": "Scheduled date",
"accepted": "Accepted by the mail service",
"delivered": "Delivered",
"paidConversions": "Paid conversions"
}
},
"stats": {
"title": "Statistics",
"description": "Revenue, subscriptions, product activity, and campaign results. Figures appear only from a reliable source.",
"unavailable": "Not available yet",
"unavailableBody": "This section is not connected to a measurement source. It does not show zero, because zero would mean “nothing happened”.",
"lastSyncUnknown": "Last update: unknown",
"sectionRevenue": "Revenue",
"sectionSubscriptions": "Subscriptions",
"sectionUsage": "Usage",
"sectionCampaigns": "Campaigns",
"periodLabel": "Period",
"timezoneNote": "Dates follow the administrators time zone once measurements exist."
},
"metrics": {
"vsLastPeriod": "vs last period"