diff --git a/CHANGELOG.md b/CHANGELOG.md index 42bd2123..564c9208 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## main(v1.0.1) +- feat: |UI| 增加极简模式主页, 可在 `外观` 中切换 + ## v1.0.0 - fix: |UI| 修复 User 查看收件箱,不选择地址时,关键词查询不生效 diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 1f22a5e0..6f67ef88 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -10,6 +10,7 @@ export const useGlobalState = createGlobalState( const toggleDark = useToggle(isDark) const loading = ref(false); const announcement = useLocalStorage('announcement', ''); + const useSimpleIndex = useLocalStorage('useSimpleIndex', false); const openSettings = ref({ fetched: false, title: '', @@ -142,6 +143,7 @@ export const useGlobalState = createGlobalState( showAdminPage, userOauth2SessionState, userOauth2SessionClientID, + useSimpleIndex, } }, ) diff --git a/frontend/src/views/Index.vue b/frontend/src/views/Index.vue index cf384547..bab16797 100644 --- a/frontend/src/views/Index.vue +++ b/frontend/src/views/Index.vue @@ -11,11 +11,14 @@ import MailBox from '../components/MailBox.vue'; import SendBox from '../components/SendBox.vue'; import AutoReply from './index/AutoReply.vue'; import AccountSettings from './index/AccountSettings.vue'; +import Appearance from './common/Appearance.vue'; import Webhook from './index/Webhook.vue'; import Attachment from './index/Attachment.vue'; import About from './common/About.vue'; -const { loading, settings, openSettings, indexTab, globalTabplacement } = useGlobalState() +import SimpleIndex from './index/SimpleIndex.vue'; + +const { loading, settings, openSettings, indexTab, globalTabplacement, useSimpleIndex } = useGlobalState() const message = useMessage() const route = useRoute() @@ -33,6 +36,7 @@ const { t } = useI18n({ sendmail: 'Send Mail', auto_reply: 'Auto Reply', accountSettings: 'Account Settings', + appearance: 'Appearance', about: 'About', s3Attachment: 'S3 Attachment', saveToS3Success: 'save to s3 success', @@ -44,7 +48,8 @@ const { t } = useI18n({ sendbox: '发件箱', sendmail: '发送邮件', auto_reply: '自动回复', - accountSettings: '账户设置', + accountSettings: '账户', + appearance: '外观', about: '关于', s3Attachment: 'S3附件', saveToS3Success: '保存到s3成功', @@ -122,43 +127,51 @@ onMounted(() => { diff --git a/frontend/src/views/admin/Account.vue b/frontend/src/views/admin/Account.vue index 92046869..96514c32 100644 --- a/frontend/src/views/admin/Account.vue +++ b/frontend/src/views/admin/Account.vue @@ -27,7 +27,7 @@ const { t } = useI18n({ addressCredentialTip: 'Please copy the Mail Address Credential and you can use it to login to your email account.', delete: 'Delete', deleteTip: 'Are you sure to delete this email?', - delteAccount: 'Delete Account', + deleteAccount: 'Delete Account', viewMails: 'View Mails', viewSendBox: 'View SendBox', itemCount: 'itemCount', @@ -46,7 +46,7 @@ const { t } = useI18n({ addressCredentialTip: '请复制邮箱地址凭证,你可以使用它登录你的邮箱。', delete: '删除', deleteTip: '确定要删除这个邮箱吗?', - delteAccount: '删除邮箱', + deleteAccount: '删除邮箱', viewMails: '查看邮件', viewSendBox: '查看发件箱', itemCount: '总数', @@ -273,11 +273,11 @@ onMounted(async () => { - +

{{ t('deleteTip') }}

diff --git a/frontend/src/views/common/Appearance.vue b/frontend/src/views/common/Appearance.vue index ce5c990e..c4650d52 100644 --- a/frontend/src/views/common/Appearance.vue +++ b/frontend/src/views/common/Appearance.vue @@ -3,16 +3,23 @@ import { useI18n } from 'vue-i18n' import { useIsMobile } from '../../utils/composables' import { useGlobalState } from '../../store' +const props = defineProps({ + showUseSimpleIndex: { + type: Boolean, + default: false + } +}) const { mailboxSplitSize, useIframeShowMail, preferShowTextMail, configAutoRefreshInterval, - globalTabplacement, useSideMargin, useUTCDate + globalTabplacement, useSideMargin, useUTCDate, useSimpleIndex } = useGlobalState() const isMobile = useIsMobile() const { t } = useI18n({ messages: { en: { + useSimpleIndex: 'Use Simple Index', mailboxSplitSize: 'Mailbox Split Size', useIframeShowMail: 'Use iframe Show HTML Mail', preferShowTextMail: 'Display text Mail by default', @@ -26,6 +33,7 @@ const { t } = useI18n({ autoRefreshInterval: 'Auto Refresh Interval(Sec)', }, zh: { + useSimpleIndex: '使用极简主页', mailboxSplitSize: '邮箱界面分栏大小', preferShowTextMail: '默认以文本显示邮件', useIframeShowMail: '使用iframe显示HTML邮件', @@ -57,6 +65,9 @@ const { t } = useI18n({ 60: '60', 120: '120', 180: '180', 240: '240' }" /> + + + diff --git a/frontend/src/views/index/AccountSettings.vue b/frontend/src/views/index/AccountSettings.vue index 06997536..de79beeb 100644 --- a/frontend/src/views/index/AccountSettings.vue +++ b/frontend/src/views/index/AccountSettings.vue @@ -5,7 +5,6 @@ import { useRouter } from 'vue-router' import { useGlobalState } from '../../store' import { api } from '../../api' -import Appearance from '../common/Appearance.vue' import { getRouterPathWithLang } from '../../utils' const { @@ -15,24 +14,24 @@ const router = useRouter() const message = useMessage() const showLogout = ref(false) -const showDelteAccount = ref(false) +const showDeleteAccount = ref(false) const { locale, t } = useI18n({ messages: { en: { logout: "Logout", - delteAccount: "Delete Account", + deleteAccount: "Delete Account", showAddressCredential: 'Show Address Credential', logoutConfirm: 'Are you sure to logout?', - delteAccount: "Delete Account", - delteAccountConfirm: "Are you sure to delete your account and all emails for this account?", + deleteAccount: "Delete Account", + deleteAccountConfirm: "Are you sure to delete your account and all emails for this account?", }, zh: { logout: '退出登录', - delteAccount: "删除账户", + deleteAccount: "删除账户", showAddressCredential: '查看邮箱地址凭证', logoutConfirm: '确定要退出登录吗?', - delteAccount: "删除账户", - delteAccountConfirm: "确定要删除你的账户和其中的所有邮件吗?", + deleteAccount: "删除账户", + deleteAccountConfirm: "确定要删除你的账户和其中的所有邮件吗?", } } }); @@ -60,15 +59,14 @@ const deleteAccount = async () => {
- -

{{ t('delteAccountConfirm') }}

+ +

{{ t('deleteAccountConfirm') }}

diff --git a/frontend/src/views/index/SimpleIndex.vue b/frontend/src/views/index/SimpleIndex.vue new file mode 100644 index 00000000..601f9e9c --- /dev/null +++ b/frontend/src/views/index/SimpleIndex.vue @@ -0,0 +1,252 @@ + + + + +