From c2df527d4ca3fe823f6be75478e64110efa02b97 Mon Sep 17 00:00:00 2001 From: Jonathan Bourdon Date: Wed, 4 Sep 2024 13:46:02 -0400 Subject: [PATCH] Fixes some issues during edits of user profile --- src/stores/userStore.js | 22 ++++++++++++-- src/views/profile/account/AccountPage.vue | 30 ++++++++++-------- src/views/profile/account/AddressDialog.vue | 6 ---- src/views/profile/account/BirthdayDialog.vue | 1 - src/views/profile/account/PhoneDialog.vue | 4 +-- src/views/profile/account/PortraitDialog.vue | 32 +++++++++++++++++--- src/views/profile/creators/BannerPicker.vue | 2 +- 7 files changed, 65 insertions(+), 32 deletions(-) diff --git a/src/stores/userStore.js b/src/stores/userStore.js index 359f550..499270e 100644 --- a/src/stores/userStore.js +++ b/src/stores/userStore.js @@ -107,7 +107,7 @@ export const useUserStore = defineStore( console.error(error) } } - + async function changeBirthday(birthdate) { try { await client.post( @@ -120,7 +120,7 @@ export const useUserStore = defineStore( console.error(error) } } - + async function changePhone(phoneNumber) { try { await client.post( @@ -133,7 +133,7 @@ export const useUserStore = defineStore( console.error(error) } } - + async function changeEmail(email) { try { await client.post( @@ -159,6 +159,21 @@ export const useUserStore = defineStore( console.error(error) } } + + async function changePortrait(selectedFile) { + try { + const formData = new FormData(); + formData.append('file', selectedFile) + + const response = await client.post( + `/api/users/portrait`, + formData) + + user.value.portraitUrl = `${response.data.blobUrl}?${Date.now()}` // the Date.now() is for cache-busting + } catch (error) { + console.error(error) + } + } return { user, @@ -173,6 +188,7 @@ export const useUserStore = defineStore( changePhone, changeEmail, changeAddress, + changePortrait, fetchCurrentUserProfile, fetchCurrentCreatorProfile } diff --git a/src/views/profile/account/AccountPage.vue b/src/views/profile/account/AccountPage.vue index f65f98e..de619f6 100644 --- a/src/views/profile/account/AccountPage.vue +++ b/src/views/profile/account/AccountPage.vue @@ -18,12 +18,12 @@ Un portrait vous permet de personnaliser votre profil Profile Image - + height="48px"/> + - +