From f0706432d4af59dbbe5ee6883d6f8397b8e67960 Mon Sep 17 00:00:00 2001 From: Vadim Date: Fri, 23 Oct 2026 09:32:55 +0300 Subject: [PATCH] avatar fix sessions fix password change sign-in fix --- src/api/user.api.ts | 9 ++ src/components/AssigneeMenu.vue | 1 - .../{IssueTitle.vue => EditableText.vue} | 40 ++++- src/components/IssueDetails.vue | 4 +- src/components/NotificationSettings.vue | 1 + src/components/PasswordChange.vue | 137 ++++++++++++++++-- src/components/SessionsList.vue | 31 +++- src/components/SignBlock.vue | 11 ++ src/components/SignForm.vue | 9 ++ src/components/SignInEmail.vue | 65 +++++++-- src/components/SignInOtp.vue | 47 +++--- src/components/UserProfile.vue | 110 +++++++++++++- src/layouts/DefaultLayout.vue | 10 +- src/lib/api-client.ts | 17 +++ src/lib/image-resize.ts | 29 ++++ src/router/index.ts | 1 + src/views/users/ProfileView.vue | 4 - src/views/users/SignInView.vue | 39 +++-- src/views/users/SignUpView.vue | 55 +++++-- src/views/users/VerifyEmailView.vue | 36 +++-- 20 files changed, 539 insertions(+), 117 deletions(-) rename src/components/{IssueTitle.vue => EditableText.vue} (54%) create mode 100644 src/components/SignBlock.vue create mode 100644 src/components/SignForm.vue create mode 100644 src/lib/image-resize.ts diff --git a/src/api/user.api.ts b/src/api/user.api.ts index 083a591..8b083e5 100644 --- a/src/api/user.api.ts +++ b/src/api/user.api.ts @@ -20,3 +20,12 @@ export async function itemsList(params: { page: number; limit: number }) { export async function itemGetById(id: string) { return apiClient.get(`/api/users/${id}`) } + +/** fileId — картинка, загруженная через fileUpload; прежний аватар сервер отдаст GC */ +export async function avatarSet(fileId: string) { + return apiClient.put('/api/users/me/avatar', { fileId }) +} + +export async function avatarRemove() { + return apiClient.delete('/api/users/me/avatar') +} diff --git a/src/components/AssigneeMenu.vue b/src/components/AssigneeMenu.vue index 293f589..5a316e0 100644 --- a/src/components/AssigneeMenu.vue +++ b/src/components/AssigneeMenu.vue @@ -99,7 +99,6 @@ const select = (value: unknown) => { rounded="circle" density="compact" border - color="primary" />
{{ user.name || user.email }}
diff --git a/src/components/IssueTitle.vue b/src/components/EditableText.vue similarity index 54% rename from src/components/IssueTitle.vue rename to src/components/EditableText.vue index 5f7f957..aceb836 100644 --- a/src/components/IssueTitle.vue +++ b/src/components/EditableText.vue @@ -1,34 +1,51 @@