Commit Graph

247 Commits

Author SHA1 Message Date
Kirill b38b24f158 fix(auth): add missing onRegisterChange prop to test 2026-05-22 16:04:50 +05:00
Kirill c903db439d fix(auth): enable register tab switching 2026-05-22 15:59:38 +05:00
Kirill 237106f2a4 fix(client): parse error message properly in ProfileSection 2026-05-22 15:41:50 +05:00
Kirill 955368d898 Merge branch 'refac2' 2026-05-22 15:36:48 +05:00
Kirill f39d4e82ff пва 2026-05-22 15:36:39 +05:00
Kirill 2b5c7fff5e fix(server): remove duplicate registerAuthRoutes call 2026-05-22 15:31:35 +05:00
Kirill b3b539b6fb fix(api): register auth routes
Add missing registerAuthRoutes call in registerApiRoutes to enable
POST /api/auth/request-code, /verify-code, /register, /login,
/forgot-password, /reset-password, and PATCH /api/me/profile routes
2026-05-22 15:21:55 +05:00
Kirill 49f24d7482 split auth.js into focused modules (Task 3)
- auth-session.js: GET /api/me, GET /api/me/auth-methods
- auth-password.js: POST /api/me/password, POST /api/me/change-password
- auth-oauth.js: DELETE /api/me/oauth/:provider
- auth.js: kept only /api/auth/* routes + /api/me/profile
- api.js: registers new auth route modules
- tests split to separate files per module
2026-05-22 15:19:30 +05:00
Kirill be9a9bad8e fix(Task 2): add error handling and sync state with user
- AuthMethodsSection: show Alert on fetchAuthMethodsFx failure
- AvatarSection: sync selectedStyle with user.avatarStyle via Select key
- ProfileSection: reset form defaultValues when user.displayName changes
2026-05-22 15:15:50 +05:00
Kirill fa276eb7f3 fix(settings): use $updateProfileError and changePasswordFx per spec 2026-05-22 15:10:20 +05:00
Kirill e273c29c36 refactor(SettingsPage): split into ProfileSection, AvatarSection, AuthMethodsSection
- Extract ProfileSection (45 lines): display name form with save button
- Extract AvatarSection (114 lines): avatar preview, style selector, generate/save/cancel
- Extract AuthMethodsSection (204 lines): auth methods list, set/change password forms
- Rewrite SettingsPage as composer (41 lines): composes 3 sections with dividers
- Add tests for all 3 sections
2026-05-22 15:04:49 +05:00
Kirill 03e60e46f3 fix(auth): defer setState in OAuth error effect to avoid cascading renders 2026-05-22 14:50:38 +05:00
Kirill b1530ef705 fix(auth): add forgot password flow and fix OAuth URL clearing 2026-05-22 14:47:06 +05:00
Kirill 68bbbf8895 refactor(auth): extract AuthPasswordForm and AuthCodeForm to features
- Create auth-password feature with login/register form
- Create auth-code feature with email+code verification form
- Extract getApiErrorMessage to shared lib
- Simplify AuthPage to pure UI composer with tabs
- Update tests for new component structure
- All 40 tests passing
2026-05-22 14:36:19 +05:00
Kirill da13ce2848 Merge branch 'autorizayion' 2026-05-22 14:22:28 +05:00
Kirill c9fb9cc8fc test commit 2026-05-22 14:22:24 +05:00
Kirill d79d02d5d1 refactor: remove email change functionality 2026-05-22 14:20:11 +05:00
Kirill ad43ff98b6 feat: add password change and reset via email code 2026-05-22 14:12:29 +05:00
Kirill 22282c5f4e fix: accept token as query param in authenticate, pass token to oauth link URL 2026-05-22 13:52:48 +05:00
Kirill d51266446f fix(client): remove global borderWidth change on outlined button hover 2026-05-22 13:49:31 +05:00
Kirill b7c11fbce6 test commit 2026-05-22 13:46:37 +05:00
Kirill f02c615dd9 fix(client): remove hover shift on pill tabs and OAuth buttons 2026-05-22 13:45:05 +05:00
Kirill cf61a5c44f fix(client): remove OAuth tab, show VK/Yandex always with separator, fix pill hover offset 2026-05-22 13:41:52 +05:00
Kirill e468625cfc chore: fix type errors, move textAlign/fontWeight to sx 2026-05-22 13:28:45 +05:00
Kirill 9696a4dcc3 feat(client): redesign auth page with minimal style, BearLogo, pill buttons 2026-05-22 13:24:35 +05:00
Kirill eb30640b49 feat: load Outfit font from static files 2026-05-22 13:18:21 +05:00
Kirill 669b9aa45d test commit 2026-05-22 12:51:41 +05:00
Kirill b2ccc2a256 chore: fix lint issues, remove unused hasAvatar 2026-05-22 12:27:20 +05:00
Kirill 5651403d2e test(client): add auth page tab tests 2026-05-22 12:21:50 +05:00
Kirill 39d6a1604c fix(client): remove avatarType and OAuth avatar from admin settings 2026-05-22 12:18:45 +05:00
Kirill 6d23aafcc1 feat(client): add auth methods section to settings page 2026-05-22 12:16:58 +05:00
Kirill afc763c522 feat(client): auth page with 3 tabs (password/code/oauth) 2026-05-22 12:11:36 +05:00
Kirill be65f2330e refactor(client): remove avatarType, add auth effects, simplify UserAvatar 2026-05-22 12:08:41 +05:00
Kirill 6bedf0b28a test(server): add password auth and account methods tests 2026-05-22 11:57:11 +05:00
Kirill abb14a49e0 feat(server): add auth-methods, set-password, unlink-oauth endpoints 2026-05-22 11:47:46 +05:00
Kirill c9fa05b7bf feat(server): add oauth link routes for account binding 2026-05-22 11:45:12 +05:00
Kirill 5f180fffaf refactor(server): oauth only email, remove profile requests, support account linking state 2026-05-22 11:41:40 +05:00
Kirill bb7b40ac45 fix(server): remove all avatarType references after DB column drop 2026-05-22 11:36:11 +05:00
Kirill c3e4f5bdd2 feat(server): add POST /api/auth/register and /api/auth/login
- Add register endpoint with email/password validation, bcrypt hashing
- Add login endpoint with rate limiting per IP (5 attempts/min)
- Add helper functions: validatePassword, hashPassword, comparePassword, isAdminEmail
- Add checkLoginRateLimit for brute-force protection
- Add bcrypt dependency
- Remove avatarType column from User (migration)
2026-05-22 11:26:00 +05:00
Kirill 924d7b7b77 test commit 2026-05-21 21:58:49 +05:00
Kirill 4fa4a91ddc feat: avatars in /me/messages chat 2026-05-21 21:55:10 +05:00
Kirill f6729210db feat: public admin avatar endpoint, real admin avatar in user chat 2026-05-21 21:50:07 +05:00
Kirill 367ea1e501 test commit 2026-05-21 21:39:36 +05:00
Kirill b7895b3fe1 Merge branch 'fixes' 2026-05-21 21:17:29 +05:00
Kirill 44c95502f8 test commit 2026-05-21 21:17:16 +05:00
Kirill c5775c7f5d test commit 2026-05-21 21:17:06 +05:00
Kirill e09fe7211a fix: type-only import for UpdateProfileParams 2026-05-21 21:12:29 +05:00
Kirill 57da755ea1 feat: real user avatars in reviews, conditional product link 2026-05-21 21:10:49 +05:00
Kirill 7e7bade80c feat: avatars in order messages 2026-05-21 21:05:22 +05:00
Kirill d69647ffe3 fix: out of stock chip z-index, PersonIcon for unauthenticated users 2026-05-21 21:00:26 +05:00