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

@@ -1527,7 +1527,42 @@
"agents": "Agenci",
"settings": "Ustawienia",
"billing": "Rozliczenia i limity",
"published": "Opublikowane strony"
"published": "Opublikowane strony",
"marketing": "Marketing",
"stats": "Statystyki"
},
"marketing": {
"title": "Marketing",
"description": "Przygotuj kampanie, wybierz odbiorców i dołącz ofertę. Wysyłka nie jest jeszcze włączona.",
"emptyTitle": "Brak kampanii",
"emptyBody": "Gdy kampanie powstaną, pojawią się w tej tabeli z odbiorcami, ofertą i statusem. Ta strona nie wysyła wiadomości.",
"createCampaign": "Utwórz kampanię",
"createDisabledHint": "Wysyłka kampanii nie jest włączona w tej wersji.",
"columns": {
"name": "Nazwa wewnętrzna",
"goal": "Cel",
"audience": "Odbiorcy",
"language": "Język",
"offer": "Oferta",
"status": "Status",
"scheduledAt": "Planowana data",
"accepted": "Przyjęte przez usługę wysyłki",
"delivered": "Dostarczone",
"paidConversions": "Płatne konwersje"
}
},
"stats": {
"title": "Statystyki",
"description": "Przychody, subskrypcje, aktywność produktu i wyniki kampanii. Liczby pojawiają się tylko z wiarygodnego źródła.",
"unavailable": "Jeszcze niedostępne",
"unavailableBody": "Ta część nie jest jeszcze połączona z pomiarem. Nie pokazuje zera, bo zero oznaczałoby, że nic się nie stało.",
"lastSyncUnknown": "Ostatnia aktualizacja: nieznana",
"sectionRevenue": "Przychody",
"sectionSubscriptions": "Subskrypcje",
"sectionUsage": "Użycie",
"sectionCampaigns": "Kampanie",
"periodLabel": "Okres",
"timezoneNote": "Daty będą zgodne ze strefą administratora, gdy pojawią się pomiary."
},
"metrics": {
"vsLastPeriod": "względem poprzedniego okresu"