c0mrade
7aeb47f583
fix: use native Telegram popup for email preview restriction
2026-02-02 01:07:39 +03:00
c0mrade
09584fc901
fix: use pill-style tabs in admin user detail page
2026-02-02 00:45:08 +03:00
c0mrade
45dac039f9
fix: improve admin user detail tabs scroll and sync buttons design
2026-02-01 23:49:52 +03:00
c0mrade
e884860ab8
fix: add Russian translation for device limit reduction reason
2026-02-01 23:14:10 +03:00
c0mrade
bce4d94229
feat: replace campaign creation modal with dedicated page
...
- Create AdminCampaignCreate.tsx with full form for new campaigns
- Update AdminCampaigns.tsx to navigate to create page
- Keep edit functionality as modal
- Add route /admin/campaigns/create in App.tsx
2026-02-01 23:03:25 +03:00
c0mrade
8deca2fa5b
fix: disable Telegram vertical swipes during drag operations
...
- Add useTelegramDnd hook for @dnd-kit integration
- Update Sheet components to disable swipes when open
- Update AdminPaymentMethods to use the new hook
- Prevents conflict between app drag gestures and Telegram swipe-to-close
2026-02-01 22:46:16 +03:00
c0mrade
0773afdf6e
feat: add Telegram/Email channel selection to broadcast create page
2026-02-01 22:37:53 +03:00
c0mrade
175516ec9b
feat: replace broadcast creation modal with dedicated page
2026-02-01 22:26:12 +03:00
c0mrade
edb5be09ae
feat: migrate to @tma.js/sdk-react for Telegram Mini App
...
- Add useTelegramSDK hook with reactive signals for viewport, safe area, fullscreen
- Migrate TelegramAdapter to use SDK components (backButton, mainButton, hapticFeedback, cloudStorage, themeParams, popup)
- Update Login, TelegramRedirect to use SDK helpers
- Update PlatformProvider, api/client to use centralized SDK functions
- Simplify useTelegramWebApp as backward-compatible wrapper
- Add automatic CSS variable binding for theme and viewport
2026-02-01 20:13:50 +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
de7c911a7e
Update Subscription.tsx
2026-02-01 17:19:59 +03:00
Egor
8007c1b4c1
Update Subscription.tsx
2026-01-31 20:48:10 +03:00
Egor
313a6039cc
Update Subscription.tsx
2026-01-31 20:31:51 +03:00
Egor
957b4a93b5
Update AdminUsers.tsx
2026-01-31 20:14:12 +03:00
Egor
0bd84bb277
Update AdminBroadcasts.tsx
2026-01-31 18:05:31 +03:00
Egor
f1976ca7ff
Update AdminBroadcasts.tsx
2026-01-31 18:02:58 +03:00
c0mrade
0be1ef0340
feat: auto-close modals when success notification appears
...
- Add closeOthersSignal to success notification store
- Create useCloseOnSuccessNotification hook for modals to subscribe
- Update TopUpModal to auto-close on success events
- Update InsufficientBalancePrompt to auto-close on success events
- Update Subscription page to close all modals/forms on success events
This ensures that when a WebSocket event indicates successful payment
or subscription purchase, all related modals close automatically,
providing clear feedback to users.
2026-01-30 19:54:29 +03:00
Egor
2d0f1b91da
Update Subscription.tsx
2026-01-30 18:05:21 +03:00
Egor
dd5cb7789f
Update Subscription.tsx
2026-01-30 18:00:41 +03:00
Egor
052e8fad4f
Update Balance.tsx
2026-01-30 17:08:36 +03:00
Egor
28b979fdea
Update Balance.tsx
2026-01-30 16:21:52 +03:00
Egor
23e9444cf4
Update Profile.tsx
2026-01-30 15:53:23 +03:00
Egor
b18ccf005d
Add files via upload
2026-01-29 01:04:26 +03:00
Egor
ef16fb65f0
Update fallback handling for invoice URL in Wheel
2026-01-28 21:12:32 +03:00
Egor
56c2d7be90
Check WebApp version before opening invoice
2026-01-28 21:02:16 +03:00
Egor
7b7021a603
Update Subscription.tsx
2026-01-28 20:39:19 +03:00
Egor
475ce7d13f
Update Subscription.tsx
2026-01-28 20:33:54 +03:00
Egor
2842aa962d
Update Login.tsx
2026-01-28 20:25:51 +03:00
Egor
b178f4cb86
Update AdminPaymentMethods.tsx
2026-01-28 11:58: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
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
77f955fc0d
Update Login.tsx
2026-01-27 17:57:45 +03:00
c0mrade
bc90ba3779
refactor: migrate to eslint flat config and format codebase with prettier
...
- Remove legacy .eslintrc.cjs and .eslintignore
- Add eslint.config.js with flat config, security rules (no-eval, no-implied-eval, no-new-func, no-script-url)
- Add .prettierrc and .prettierignore
- Format entire codebase with prettier
2026-01-27 17:37:31 +03:00
Egor
096cf7e918
Update Subscription.tsx
2026-01-27 16:07:12 +03:00
Egor
80da25c102
Update AdminSettings.tsx
2026-01-27 01:19:42 +03:00
Egor
6856518fee
Update Dashboard.tsx
2026-01-27 00:33:15 +03:00
Egor
ce29ee63b7
Update AdminEmailTemplates.tsx
2026-01-27 00:26:04 +03:00
Egor
4fc7712bef
Update Subscription.tsx
2026-01-26 23:24:30 +03:00
Egor
c2c2399af1
Update Subscription.tsx
2026-01-26 23:23:38 +03:00
Egor
3ebff0c1f8
Update AdminPaymentMethods.tsx
2026-01-26 22:46:37 +03:00
Egor
6567f22e40
Add files via upload
2026-01-26 22:39:56 +03:00
Egor
f10594c4b4
Add files via upload
2026-01-26 21:59:31 +03:00
Egor
558278b729
Add files via upload
2026-01-25 10:43:36 +03:00
Egor
c358d8caab
Add files via upload
2026-01-25 09:45:16 +03:00
Egor
d00bb5463b
Add files via upload
2026-01-25 09:26:24 +03:00
Egor
13c7d23422
Add files via upload
2026-01-25 09:05:28 +03:00
Egor
97b2fa319a
Update Profile.tsx
2026-01-25 08:54:19 +03:00
Egor
fe5be1f08d
Add files via upload
2026-01-25 08:44:25 +03:00
Egor
c8d94251e9
Add files via upload
2026-01-23 11:33:26 +03:00
Egor
2fe3a0bb18
Update AdminTariffs.tsx
2026-01-23 03:44:18 +03:00