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
This commit is contained in:
Fringg
2026-02-07 01:59:05 +03:00
parent af25e6a1b8
commit 83aeae81b8
12 changed files with 329 additions and 6 deletions

View File

@@ -181,7 +181,13 @@
"passwordTooShort": "رمز عبور باید حداقل ۸ کاراکتر باشد",
"sendResetLink": "ارسال لینک بازنشانی",
"tooManyAttempts": "تلاش‌های زیاد. لطفاً بعداً امتحان کنید",
"verificationEmailNotice": "پس از ثبت نام، ایمیل تأیید به آدرس شما ارسال خواهد شد"
"verificationEmailNotice": "پس از ثبت نام، ایمیل تأیید به آدرس شما ارسال خواهد شد",
"continueWithGoogle": "ادامه با Google",
"continueWithYandex": "ادامه با Yandex",
"continueWithDiscord": "ادامه با Discord",
"continueWithVk": "ادامه با VK",
"oauthError": "مجوز رد شد یا ناموفق بود",
"oauthExpired": "نشست OAuth منقضی شده است. لطفاً دوباره امتحان کنید."
},
"emailVerification": {
"title": "تایید ایمیل",