feat: custom broadcast buttons UI and fix stale mediaType bug

- Add inline custom button editor (no popups): label, type
  (callback/URL), action value with byte-level validation
- Frontend validates callback_data in UTF-8 bytes via TextEncoder
- URLs restricted to https:// and tg:// matching backend
- Form wrapped in <form> for Enter key submit support
- Fix pre-existing stale mediaType bug in file upload handler
- Translations added for ru, en, zh, fa locales
This commit is contained in:
Fringg
2026-03-22 01:54:11 +03:00
parent 3c034d2e70
commit 86d997d01d
6 changed files with 212 additions and 14 deletions

View File

@@ -1410,7 +1410,14 @@
"enableEmail": "Email",
"sendingBoth": "将创建2个群发",
"bothCreated": "群发已创建",
"atLeastOneChannel": "请至少选择一个渠道"
"atLeastOneChannel": "请至少选择一个渠道",
"customButtons": "自定义按钮",
"addCustomButton": "添加按钮",
"customButtonLabelPlaceholder": "按钮文字",
"customButtonTypeCallback": "回调",
"customButtonTypeUrl": "链接",
"customButtonCallbackPlaceholder": "callback_data例如 back_to_menu",
"customButtonUrlPlaceholder": "https://example.com"
},
"pinnedMessages": {
"title": "置顶消息",