Commit Graph

19 Commits

Author SHA1 Message Date
Fringg
83aeae81b8 feat: add OAuth 2.0 login UI (Google, Yandex, Discord, VK)
- Add OAuthProvider type and extend User.auth_type union
- Add OAuth API methods (providers, authorize, callback)
- Add loginWithOAuth to auth store
- Create OAuthCallback page with state validation
- Create OAuthProviderIcon component with brand SVGs
- Add OAuth buttons to Login page between Telegram and Email
- Add OAuth callback route to App.tsx
- Add translations for ru, en, zh, fa
2026-02-07 01:59:05 +03:00
c0mrade
562ab7abf7 refactor: full codebase cleanup, dependency updates, and lint fixes
Phase 0: Remove ~920 lines of dead code (ThemeBentoPicker, PromoDiscountBadge,
AdminLayout, SettingsSidebar, MovingGradient, EmptyState, miniapp API, unused
types/functions/transitions/skeleton helpers). Fix API barrel file (add 20 missing exports).

Phase 1: Add ErrorBoundary (app/page/widget levels), centralize constants,
add axios timeout, fix staleTime:0 in React Query.

Phase 2: Consolidate hexToHsl, extract email validation, fix duplicate code.

Phase 3: Fix auth race condition (await checkAdminStatus), memoize useCurrency,
add WebSocket message validation.

Phase 4: Extract useBranding, useFeatureFlags, useScrollRestoration from AppShell.

Phase 5: Remove all eslint-disable react-hooks/exhaustive-deps (14 total),
simplify logger, remove deprecated hooks (useBackButton, useTelegramDnd,
useTelegramWebApp).

Dependencies: React 19, react-router 7, zustand 5, i18next 25, react-i18next 16,
eslint-plugin-react-refresh 0.5. Remove unused @lottiefiles/dotlottie-react.
Convert vite manualChunks to function-based approach for react-router v7 compat.

Lint: Fix logger.ts no-unused-expressions, fix react-refresh/only-export-components
in 6 Radix primitive files (const re-exports → direct re-exports), fix
WebSocketProvider exhaustive-deps. Result: 0 errors, 0 warnings.

Add CLAUDE.md to .gitignore.
2026-02-06 16:55:55 +03:00
Fringg
5a8c1e7e33 feat: add blacklisted user blocking screen
Add BlacklistedScreen component, blocking store type, API error interceptor,
and i18n translations (ru, en, zh, fa) for blacklisted users.
2026-02-06 15:48:24 +03:00
Egor
bb212ddfe1 Update successNotification.ts 2026-01-31 20:47:23 +03:00
Egor
3080e8e996 Update successNotification.ts 2026-01-31 19:52:08 +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
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
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
2519fdcee2 Update auth.ts 2026-01-25 09:25:56 +03:00
Egor
8ea747c927 Update auth.ts 2026-01-25 08:45:39 +03:00
Egor
0cf0518be2 Update auth.ts 2026-01-23 11:33:50 +03:00
Egor
2836d1faf5 Add files via upload 2026-01-20 14:38:42 +03:00
PEDZEO
6751f41859 Refactor authentication flow to check admin status before updating loading state 2026-01-18 23:03:38 +03:00
Egor
9d5477931c Update auth.ts 2026-01-18 06:47:59 +03:00
Egor
2537261595 Update auth.ts 2026-01-18 06:27:35 +03:00
Egor
339ac12b4d Update auth.ts 2026-01-18 05:28:25 +03:00
Egor
db363b6152 Update auth.ts 2026-01-18 05:20:17 +03:00
Egor
361cad1105 Update auth.ts 2026-01-18 05:16:26 +03:00
Egor
7be6b5c0ae Add files via upload 2026-01-15 19:18:17 +03:00