c0mrade
6f4d1ef085
feat: add useNotify hook for unified notifications
...
- Created useNotify hook (src/platform/hooks/useNotify.ts):
- In Telegram Mini App: uses native showPopup
- In browser: uses beautiful Toast component
- Methods: notify(), success(), error(), warning(), info()
- AdminTariffs: improved deletion UX
- Uses useNotify.warning when tariff has subscriptions
- Uses useDestructiveConfirm for delete confirmation
- Shows success toast after deletion
- Removed custom modal dialog
- AdminEmailTemplates: unified notification style
- Replaced dialog.alert with useNotify.warning
- Now shows beautiful Toast on mobile browser
- Added deleteSuccess i18n translations (ru, en, zh, fa)
2026-02-02 02:17:19 +03:00
c0mrade
7aeb47f583
fix: use native Telegram popup for email preview restriction
2026-02-02 01:07:39 +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
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
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
ce29ee63b7
Update AdminEmailTemplates.tsx
2026-01-27 00:26:04 +03:00
Egor
f10594c4b4
Add files via upload
2026-01-26 21:59:31 +03:00