feat: Added reset avatar feature and center align items in userpopup (#2658)

* feat: Add reset avatar functionality and update localization strings

* fix: Center align upload and reset avatar options in UserPopup
This commit is contained in:
Asurada 2025-03-03 17:58:15 +08:00 committed by GitHub
parent e8bfb2b49b
commit a12d10f4f7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 52 additions and 22 deletions

View File

@ -1,3 +1,4 @@
import DefaultAvatar from '@renderer/assets/images/avatar.png'
import useAvatar from '@renderer/hooks/useAvatar'
import { useSettings } from '@renderer/hooks/useSettings'
import ImageStorage from '@renderer/services/ImageStorage'
@ -50,11 +51,20 @@ const PopupContainer: React.FC<Props> = ({ resolve }) => {
window.message.error(error.message)
}
}
const handleReset = async () => {
try {
await ImageStorage.set('avatar', DefaultAvatar)
dispatch(setAvatar(DefaultAvatar))
setDropdownOpen(false)
} catch (error: any) {
window.message.error(error.message)
}
}
const items = [
{
key: 'upload',
label: (
<div style={{ width: '100%', textAlign: 'center' }}>
<Upload
customRequest={() => {}}
accept="image/png, image/jpeg, image/gif"
@ -75,14 +85,16 @@ const PopupContainer: React.FC<Props> = ({ resolve }) => {
window.message.error(error.message)
}
}}>
<div>{t('settings.general.image_upload')}</div>
{t('settings.general.image_upload')}
</Upload>
</div>
)
},
{
key: 'emoji',
label: (
<div
style={{ width: '100%', textAlign: 'center' }}
onClick={(e) => {
e.stopPropagation()
setEmojiPickerOpen(true)
@ -91,6 +103,19 @@ const PopupContainer: React.FC<Props> = ({ resolve }) => {
{t('settings.general.emoji_picker')}
</div>
)
},
{
key: 'reset',
label: (
<div
style={{ width: '100%', textAlign: 'center' }}
onClick={(e) => {
e.stopPropagation()
handleReset()
}}>
{t('settings.general.avatar.reset')}
</div>
)
}
]

View File

@ -701,6 +701,7 @@
"general.user_name.placeholder": "Enter your name",
"general.image_upload": "Image Upload",
"general.emoji_picker": "Emoji Picker",
"general.avatar.reset": "Reset Avatar",
"general.view_webdav_settings": "View WebDAV settings",
"input.auto_translate_with_space": "Quickly translate with 3 spaces",
"input.target_language": "Target language",

View File

@ -701,6 +701,7 @@
"general.user_name.placeholder": "ユーザー名を入力",
"general.image_upload": "画像アップロード",
"general.emoji_picker": "絵文字ピッカー",
"general.avatar.reset": "アバターをリセット",
"general.view_webdav_settings": "WebDAV設定を表示",
"input.auto_translate_with_space": "スペースを3回押して翻訳",
"input.target_language": "目標言語",

View File

@ -701,6 +701,7 @@
"general.user_name.placeholder": "Введите ваше имя",
"general.image_upload": "Загрузка изображений",
"general.emoji_picker": "Выбор эмодзи",
"general.avatar.reset": "Сброс аватара",
"general.view_webdav_settings": "Просмотр настроек WebDAV",
"input.auto_translate_with_space": "Быстрый перевод с помощью 3-х пробелов",
"input.target_language": "Целевой язык",

View File

@ -701,6 +701,7 @@
"general.user_name.placeholder": "请输入用户名",
"general.image_upload": "图片上传",
"general.emoji_picker": "表情选择器",
"general.avatar.reset": "重置头像",
"general.view_webdav_settings": "查看 WebDAV 设置",
"input.auto_translate_with_space": "快速敲击3次空格翻译",
"input.target_language": "目标语言",

View File

@ -700,6 +700,7 @@
"general.user_name.placeholder": "輸入您的名稱",
"general.image_upload": "圖片上傳",
"general.emoji_picker": "表情選擇器",
"general.avatar.reset": "重置頭像",
"general.view_webdav_settings": "查看 WebDAV 設定",
"input.auto_translate_with_space": "快速敲擊3次空格翻譯",
"input.target_language": "目標語言",