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": "密码至少需要8个字符",
"sendResetLink": "发送重置链接",
"tooManyAttempts": "尝试次数过多,请稍后再试",
"verificationEmailNotice": "注册后,验证邮件将发送到您的邮箱"
"verificationEmailNotice": "注册后,验证邮件将发送到您的邮箱",
"continueWithGoogle": "通过 Google 继续",
"continueWithYandex": "通过 Yandex 继续",
"continueWithDiscord": "通过 Discord 继续",
"continueWithVk": "通过 VK 继续",
"oauthError": "授权被拒绝或失败",
"oauthExpired": "OAuth 会话已过期。请重试。"
},
"emailVerification": {
"title": "邮箱验证",