feat: add locales for user search in promo offer sending

- Add searchUserPlaceholder, noUsersFound, hasSubscription keys
- Support all 4 languages: en, ru, zh, fa
- Remove fallback strings from component
This commit is contained in:
c0mrade
2026-02-02 07:40:05 +03:00
parent fc922671d2
commit 0c9d09280c
5 changed files with 15 additions and 6 deletions

View File

@@ -1817,6 +1817,9 @@
"segment": "Segment",
"user": "User",
"userIdPlaceholder": "Telegram ID or User ID",
"searchUserPlaceholder": "Search by name, username or Telegram ID...",
"noUsersFound": "No users found",
"hasSubscription": "Sub",
"preview": "Preview",
"sending": "Sending...",
"sendButton": "Send"

View File

@@ -1610,6 +1610,9 @@
"segment": "بخش",
"user": "کاربر",
"userIdPlaceholder": "شناسه تلگرام یا شناسه کاربر",
"searchUserPlaceholder": "جستجو بر اساس نام، نام کاربری یا شناسه تلگرام...",
"noUsersFound": "کاربری یافت نشد",
"hasSubscription": "اشتراک",
"preview": "پیش‌نمایش",
"sending": "در حال ارسال...",
"sendButton": "ارسال"

View File

@@ -2328,6 +2328,9 @@
"segment": "Сегмент",
"user": "Пользователь",
"userIdPlaceholder": "Telegram ID или User ID",
"searchUserPlaceholder": "Поиск по имени, username или Telegram ID...",
"noUsersFound": "Пользователи не найдены",
"hasSubscription": "Подп",
"preview": "Предпросмотр",
"sending": "Отправка...",
"sendButton": "Отправить"

View File

@@ -1609,6 +1609,9 @@
"segment": "分组",
"user": "用户",
"userIdPlaceholder": "Telegram ID 或 User ID",
"searchUserPlaceholder": "按姓名、用户名或Telegram ID搜索...",
"noUsersFound": "未找到用户",
"hasSubscription": "订阅",
"preview": "预览",
"sending": "发送中...",
"sendButton": "发送"

View File

@@ -427,10 +427,7 @@ export default function AdminPromoOfferSend() {
setShowDropdown(true);
}}
onFocus={() => setShowDropdown(true)}
placeholder={t(
'admin.promoOffers.send.searchUserPlaceholder',
'Search by name, username or Telegram ID...',
)}
placeholder={t('admin.promoOffers.send.searchUserPlaceholder')}
className="w-full rounded-lg border border-dark-600 bg-dark-700 py-2.5 pl-10 pr-3 text-dark-100 focus:border-accent-500 focus:outline-none"
/>
{isSearching && (
@@ -464,14 +461,14 @@ export default function AdminPromoOfferSend() {
</div>
{user.has_subscription && (
<span className="flex-shrink-0 rounded bg-success-500/20 px-1.5 py-0.5 text-xs text-success-400">
{t('admin.users.hasSubscription', 'Sub')}
{t('admin.promoOffers.send.hasSubscription')}
</span>
)}
</button>
))
) : !isSearching ? (
<div className="px-3 py-4 text-center text-sm text-dark-400">
{t('admin.promoOffers.send.noUsersFound', 'No users found')}
{t('admin.promoOffers.send.noUsersFound')}
</div>
) : null}
</div>