Commit Graph

84 Commits

Author SHA1 Message Date
c0mrade
5b30f24e7e fix: improve tariff delete button visibility
- Added visual styling for disabled delete button (when tariff has
  active subscriptions)
- Added tooltip explaining why delete is disabled
- Added i18n translations for cannotDeleteHasSubscriptions
2026-02-02 02:04:41 +03:00
c0mrade
dc17695206 feat: replace tariff creation modal with dedicated page 2026-02-02 01:38:01 +03:00
c0mrade
e884860ab8 fix: add Russian translation for device limit reduction reason 2026-02-01 23:14:10 +03:00
c0mrade
c60a242f1d fix: add missing i18n keys for broadcast detail page 2026-02-01 18:58:10 +03:00
c0mrade
b953ee0b8c feat: Linear-style UI redesign with improved mobile experience
Major changes:
- Redesign cabinet with Linear-style components and top navigation
- Replace detail modals with dedicated pages (users, broadcasts, email templates)
- Add email channel support for broadcasts
- Remove pull-to-refresh, improve drag-and-drop on touch devices
- Fix Telegram Mini App: fullscreen, back button, scroll restoration
- Unify admin pages color scheme to design system
- Mobile-first improvements: horizontal tabs for settings, better touch targets
2026-02-01 18:58:10 +03:00
Egor
8a0ff740e1 Add files via upload 2026-02-01 17:20:27 +03:00
Egor
562376bb11 Add files via upload 2026-01-31 20:14:45 +03:00
Egor
902ce24c6c Add files via upload 2026-01-31 18:03:18 +03:00
c0mrade
175b5608b2 feat: add success notification modal for balance and subscription events
- Add zustand store for global success notifications
- Create SuccessNotificationModal component with prominent UI
- Update WebSocketNotifications to show modal for important events:
  - balance.topup shows balance topped up modal
  - subscription.activated shows activation modal
  - subscription.renewed shows renewal modal
- Add translations for all locales (ru, en, zh, fa)
2026-01-30 19:39:14 +03:00
c0mrade
ca227f3975 feat(websocket): add global handler for subscription and balance notifications
- Extend WSMessage interface with balance, subscription, autopay, account, referral fields
- Create WebSocketNotifications component to handle all WS events
- Add component to Layout for global event listening
- Show toasts and invalidate queries on subscription/balance events
- Add translations for all notification types (ru, en, zh, fa)
2026-01-30 19:04:45 +03:00
Egor
6faf8a641b Add files via upload 2026-01-30 16:22:16 +03:00
Egor
a0461c7a89 Add files via upload 2026-01-30 15:55:08 +03:00
Egor
a9e7f0ae3d Add files via upload 2026-01-28 21:13:15 +03:00
Egor
4622c4fb2c Add files via upload 2026-01-28 20:37:16 +03:00
Egor
2ab978edcc Add files via upload 2026-01-28 20:34:20 +03:00
c0mrade
4b35d8c392 fix(i18n): rename subscription.servers object to subscription.serverManagement
Resolves conflict where subscription.servers existed as both a nested
object (for server management UI keys) and a pluralization base key.
Renamed the nested object to serverManagement in all 4 locales and
updated all t() references in Subscription.tsx.
2026-01-27 22:47:41 +03:00
c0mrade
821f9954c8 fix(i18n): remove duplicate keys in ru.json 2026-01-27 22:36:42 +03:00
c0mrade
ff7e4d42a0 fix(i18n): remove duplicate subscription.servers string key
The key existed as both a string and an object in subscription
section, causing i18next to return an object instead of a string.
Removed the redundant string — serversLabel is used for plain text,
plural suffixes (_one/_few/_many/_other) handle counted usage.
2026-01-27 22:34:05 +03:00
c0mrade
9707ad97a4 feat(i18n): migrate all hardcoded Russian text to i18n
- Replace all hardcoded Russian strings with t() calls across 30+ files
- Add ~500 new translation keys to all 4 locales (ru, en, zh, fa)
- Convert module-level config objects to labelKey pattern
- Remove Russian fallbacks from t() calls (fallbackLng handles it)
- Replace DeepLinkRedirect custom i18n with standard t() calls
- Fix subscription.servers key collision (string vs object)
2026-01-27 22:19:41 +03:00
Egor
85594a23a6 Add files via upload 2026-01-27 17:36:56 +03:00
Egor
89aba6d034 Add files via upload 2026-01-27 01:20:42 +03:00
Egor
b82c07bfbd Add files via upload 2026-01-26 23:22:49 +03:00
Egor
ccbabc58f5 Add files via upload 2026-01-26 22:46:00 +03:00
Egor
d23fc68730 Add files via upload 2026-01-26 22:40:20 +03:00
Egor
024ad7e2b5 Add files via upload 2026-01-26 22:00:19 +03:00
Egor
f1bd3da7b3 Add files via upload 2026-01-26 20:35:58 +03:00
Egor
76f6af25cb Add files via upload 2026-01-25 10:44:24 +03:00
Egor
1c3b29aa60 Add files via upload 2026-01-25 09:45:41 +03:00
Egor
7169988d20 Add files via upload 2026-01-25 09:26:48 +03:00
Egor
1b5e616700 Add files via upload 2026-01-25 08:53:29 +03:00
Egor
e866eb237f Add files via upload 2026-01-25 08:47:09 +03:00
Egor
f5bd2544c9 Add files via upload 2026-01-23 11:32:52 +03:00
Egor
ccb84405c4 Add files via upload 2026-01-23 03:35:48 +03:00
Egor
50ed5bbc2b Add files via upload 2026-01-22 23:54:25 +03:00
Egor
d7122ec842 Add files via upload 2026-01-21 10:14:05 +03:00
Egor
06d3b8c090 Add files via upload 2026-01-21 08:14:01 +03:00
Egor
93a50c975d Add files via upload 2026-01-21 07:36:24 +03:00
Egor
3532d26ffa Add files via upload 2026-01-21 05:32:27 +03:00
PEDZEO
b359e6445c Improve admin settings UI components
- Add EditIcon component to icons.tsx
- Enhance SettingInput with textarea for long/JSON values
- Improve SettingRow styling and long value handling
- Fix CORE category translation (Ядро → Бот)
- Add auto-resize for textarea and Ctrl+Enter save shortcut
2026-01-21 04:21:25 +03:00
PEDZEO
7eb42d2cf7 Add translations for system settings
- Web API: origins, tokens, docs, host, port, workers
- RemnaWave: API URL, auth, sync, templates
- Webhook: path, tokens, workers, timeouts
- Backup: auto, compression, location, send to Telegram
- Monitoring: interval, logs retention, traffic
- Server status: metrics, SSL, mode
- Logs: rotation, files, levels, send to Telegram
- Version: check, interval, repo
- Maintenance: mode, message, monitoring
- External admin: token, bot ID
- Core: bot username, debug
2026-01-21 04:16:57 +03:00
PEDZEO
1d3eff2f18 Add translations for database settings
- PostgreSQL: DB name, host, password, port, user
- Database mode, URL
- Redis URL, SQLite path
2026-01-21 04:14:40 +03:00
PEDZEO
c8dceb3c6f Add translations for notification settings
- Admin notifications: chat ID, topic IDs
- Notification cache and retry settings
- Admin reports: chat ID, send time, topic ID
2026-01-21 04:10:16 +03:00
PEDZEO
6a52660dc5 Add translations for interface settings
- App config, deep links, subscription page
- Logo mode, connect button mode
- MiniApp URL and interface options
2026-01-21 04:03:03 +03:00
PEDZEO
dcac738aeb Add subscription translations and collapsible categories in AdminSettings
- Add 65+ new translations for subscription, trial, traffic, autopay settings
- Replace flat navigation with accordion-style collapsible subcategories
- Categories are collapsed by default, click to expand
- Search shows flat list when query is present
- Remove unused ChevronRightIcon and activeSubCategory state
2026-01-21 03:48:44 +03:00
PEDZEO
c572fc0b69 Move hardcoded translations from AdminSettings to locales
- Remove SETTING_TRANSLATIONS object with 50+ hardcoded Russian translations
- Add translations to ru.json under admin.settings.settingNames
- Rename formatSettingName to formatSettingKey
- Use t() function with fallback for setting names
2026-01-21 03:42:28 +03:00
PEDZEO
329d063387 Redesign AdminSettings with sidebar navigation and localization
- Replace top tabs with sidebar menu navigation
- Add sub-categories for settings (payments, subscriptions, etc.)
- Implement full Russian localization for all UI elements
- Add category translations for all setting groups
- Collapsible presets and custom colors sections
- Favorites functionality with localStorage persistence
- Search functionality in settings
- Responsive layout with collapsible sidebar
2026-01-21 03:02:23 +03:00
PEDZEO
215a65dbae Refactor theme settings with two collapsible sections
- Quick Presets: collapsible section with 8 theme presets
- Custom Colors: collapsible section with all color pickers
- Added translations for quickPresets, customColors in all locales (ru, en, zh, fa)
- Chevron icon rotates when section is expanded
- Preview section moved inside Custom Colors
2026-01-21 02:11:39 +03:00
PEDZEO
7f0d6a7d18 Enhance TopUpModal styling and update localization files
- Updated button styles in TopUpModal for improved visual feedback during interactions.
- Adjusted modal positioning for better user experience on desktop.
- Added 'paymentMethod' key to localization files for English, Persian, Russian, and Chinese languages, enhancing multi-language support.
2026-01-20 17:25:43 +03:00
PEDZEO
236c36f1ab Enhance ConnectionModal and TopUpModal with improved mobile support, new icons, and keyboard accessibility. Update localization files to include 'enterAmount' key for multiple languages. 2026-01-20 16:52:01 +03:00
Egor
b777e9b1a1 Add files via upload 2026-01-20 14:41:49 +03:00