diff --git a/src/renderer/src/components/Popups/UserPopup.tsx b/src/renderer/src/components/Popups/UserPopup.tsx index e803df4c..0ad21957 100644 --- a/src/renderer/src/components/Popups/UserPopup.tsx +++ b/src/renderer/src/components/Popups/UserPopup.tsx @@ -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,39 +51,50 @@ const PopupContainer: React.FC = ({ 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: ( - {}} - accept="image/png, image/jpeg, image/gif" - itemRender={() => null} - maxCount={1} - onChange={async ({ file }) => { - try { - const _file = file.originFileObj as File - if (_file.type === 'image/gif') { - await ImageStorage.set('avatar', _file) - } else { - const compressedFile = await compressImage(_file) - await ImageStorage.set('avatar', compressedFile) +
+ {}} + accept="image/png, image/jpeg, image/gif" + itemRender={() => null} + maxCount={1} + onChange={async ({ file }) => { + try { + const _file = file.originFileObj as File + if (_file.type === 'image/gif') { + await ImageStorage.set('avatar', _file) + } else { + const compressedFile = await compressImage(_file) + await ImageStorage.set('avatar', compressedFile) + } + dispatch(setAvatar(await ImageStorage.get('avatar'))) + setDropdownOpen(false) + } catch (error: any) { + window.message.error(error.message) } - dispatch(setAvatar(await ImageStorage.get('avatar'))) - setDropdownOpen(false) - } catch (error: any) { - window.message.error(error.message) - } - }}> -
{t('settings.general.image_upload')}
-
+ }}> + {t('settings.general.image_upload')} + +
) }, { key: 'emoji', label: (
{ e.stopPropagation() setEmojiPickerOpen(true) @@ -91,6 +103,19 @@ const PopupContainer: React.FC = ({ resolve }) => { {t('settings.general.emoji_picker')}
) + }, + { + key: 'reset', + label: ( +
{ + e.stopPropagation() + handleReset() + }}> + {t('settings.general.avatar.reset')} +
+ ) } ] diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index af6ff9fd..8f2ec59c 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -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", diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index 7a7ee8fa..f640cb76 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -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": "目標言語", diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 6b0f6b4c..37dc7df4 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -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": "Целевой язык", diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index ed160eb2..7c73cc13 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -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": "目标语言", diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index 5215bf9e..3e0072c6 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -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": "目標語言",