feat: add admin pinned messages section

- API client with full CRUD, broadcast, activate/deactivate, unpin endpoints
- List page with active/inactive badges, action buttons, pagination
- Create/edit form with content editor, media upload, display settings toggles
- Routes and navigation in admin marketing group
- i18n translations for ru, en, fa, zh
This commit is contained in:
Fringg
2026-02-12 19:33:18 +03:00
parent a0b10e688c
commit aa5113b8e3
9 changed files with 1203 additions and 8 deletions

View File

@@ -768,7 +768,8 @@
"promocodes": "Promo Codes",
"promoGroups": "Discount Groups",
"trafficUsage": "Traffic Usage",
"updates": "Updates"
"updates": "Updates",
"pinnedMessages": "Pinned Messages"
},
"panel": {
"title": "Admin Panel",
@@ -792,7 +793,8 @@
"promocodesDesc": "Manage promo codes",
"promoGroupsDesc": "Discount groups for users",
"trafficUsageDesc": "Per-user traffic by nodes",
"updatesDesc": "Bot & cabinet versions"
"updatesDesc": "Bot & cabinet versions",
"pinnedMessagesDesc": "Manage pinned messages for users"
},
"trafficUsage": {
"title": "Traffic Usage",
@@ -1157,6 +1159,48 @@
"bothCreated": "Broadcasts created",
"atLeastOneChannel": "Select at least one channel"
},
"pinnedMessages": {
"title": "Pinned Messages",
"subtitle": "Manage pinned messages for users",
"create": "Create",
"empty": "No pinned messages",
"content": "Message text",
"contentPlaceholder": "Enter pinned message text...",
"noContent": "No text",
"media": "Media file",
"addMedia": "Add media",
"uploading": "Uploading...",
"settings": "Settings",
"sendBeforeMenu": "Send before menu",
"sendOnEveryStart": "Send on every start",
"broadcast": "Broadcast",
"broadcastOnCreate": "Broadcast on create",
"broadcastConfirm": "Broadcast pinned message to all active users?",
"broadcastToAll": "Broadcast to all",
"activate": "Activate",
"deactivate": "Deactivate",
"unpin": "Unpin",
"unpinAll": "Unpin for everyone",
"unpinConfirm": "Unpin message for all users?",
"delete": "Delete",
"deleteConfirm": "Delete this pinned message?",
"active": "Active",
"inactive": "Inactive",
"prev": "Previous",
"next": "Next",
"createSuccess": "Pinned message created",
"updateSuccess": "Message updated",
"deleteSuccess": "Message deleted",
"activateSuccess": "Message activated",
"deactivateSuccess": "Message deactivated",
"broadcastSuccess": "Broadcast completed",
"unpinSuccess": "Messages unpinned",
"sentCount": "Sent",
"failedCount": "Failed",
"unpinnedCount": "Unpinned",
"editMessage": "Edit",
"cantDeleteActive": "Cannot delete active message"
},
"settings": {
"title": "System Settings",
"allCategories": "All categories",