Pārlūkot izejas kodu

fix: avatar is not updated after setted (#25414)

tags/1.9.0
Joel pirms 1 mēnesi
vecāks
revīzija
4c92e63b0b
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam

+ 1
- 1
web/app/account/(commonLayout)/account-page/AvatarWithEdit.tsx Parādīt failu

@@ -43,9 +43,9 @@ const AvatarWithEdit = ({ onSave, ...props }: AvatarWithEditProps) => {
const handleSaveAvatar = useCallback(async (uploadedFileId: string) => {
try {
await updateUserProfile({ url: 'account/avatar', body: { avatar: uploadedFileId } })
notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
setIsShowAvatarPicker(false)
onSave?.()
notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') })
}
catch (e) {
notify({ type: 'error', message: (e as Error).message })

+ 7
- 1
web/app/components/base/avatar/index.tsx Parādīt failu

@@ -1,5 +1,5 @@
'use client'
import { useState } from 'react'
import { useEffect, useState } from 'react'
import cn from '@/utils/classnames'

export type AvatarProps = {
@@ -27,6 +27,12 @@ const Avatar = ({
onError?.(true)
}

// after uploaded, api would first return error imgs url: '.../files//file-preview/...'. Then return the right url, Which caused not show the avatar
useEffect(() => {
if(avatar && imgError)
setImgError(false)
}, [avatar])

if (avatar && !imgError) {
return (
<img

Notiek ielāde…
Atcelt
Saglabāt