diff --git a/src/messages/common_cn.js b/src/messages/common_cn.js index ad9b358..6ace0d1 100644 --- a/src/messages/common_cn.js +++ b/src/messages/common_cn.js @@ -4,6 +4,8 @@ export const common = baseMessages() common.label.title = '简单Element+模板' common.label.login = '登录' common.label.index = '首页' +common.label.settings = '设置' +common.label.close = '关闭' common.label.langCn = '中文' common.label.langEn = 'English' common.label.language = '语言' diff --git a/src/messages/common_en.js b/src/messages/common_en.js index 37b2c7a..3e4c64f 100644 --- a/src/messages/common_en.js +++ b/src/messages/common_en.js @@ -4,6 +4,8 @@ export const common = baseMessages() common.label.title = 'Simple Element+' common.label.login = 'Login' common.label.index = 'Home' +common.label.settings = 'Settings' +common.label.close = 'Close' common.label.langCn = '中文' common.label.langEn = 'English' common.label.language = 'Language' diff --git a/src/services/global/GlobalService.js b/src/services/global/GlobalService.js index d8ec36f..d3ea1b9 100644 --- a/src/services/global/GlobalService.js +++ b/src/services/global/GlobalService.js @@ -35,6 +35,11 @@ export const useBaseTopMenus = () => { iconIf: () => !globalConfigStore.isDarkTheme ? 'moon' : 'sunny', click: () => globalConfigStore.changeTheme(!globalConfigStore.isDarkTheme) }, + { + isDropdown: true, + icon: 'Setting', + click: () => globalConfigStore.changeShowSettings(true) + }, { icon: 'AutoAwesomeMosaicFilled', isDropdown: true, diff --git a/src/stores/GlobalConfigStore.js b/src/stores/GlobalConfigStore.js index c19e4d2..1e7062b 100644 --- a/src/stores/GlobalConfigStore.js +++ b/src/stores/GlobalConfigStore.js @@ -8,11 +8,13 @@ export const useGlobalConfigStore = defineStore('globalConfig', () => { const currentLocale = ref(GlobalLocales.CN) const isDarkTheme = useDark() const isCollapseLeft = ref(false) + const isShowSettings = ref(false) const layoutMode = ref(GlobalLayoutMode.LEFT) return { currentLocale, isDarkTheme, isCollapseLeft, + isShowSettings, layoutMode, changeLocale (locale) { if (Object.values(GlobalLocales).includes(locale)) { @@ -25,6 +27,9 @@ export const useGlobalConfigStore = defineStore('globalConfig', () => { changeTheme (dark) { isDarkTheme.value = dark }, + changeShowSettings (val) { + isShowSettings.value = val + }, collapseLeft () { isCollapseLeft.value = !isCollapseLeft.value }, diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 5836a51..25c57ad 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -5,6 +5,7 @@ import { useGlobalConfigStore } from '@/stores/GlobalConfigStore' import { useTabsViewStore } from '@/stores/TabsViewStore' import { GlobalLayoutMode } from '@/consts/GlobalConstants' import { computed } from 'vue' +import GlobalSettings from '@/views/components/global/GlobalSettings.vue' const globalConfigStore = useGlobalConfigStore() const tabsViewStore = useTabsViewStore() const showLeftMenu = computed(() => { @@ -43,6 +44,7 @@ const showLeftMenu = computed(() => { + diff --git a/src/views/components/global/GlobalSettings.vue b/src/views/components/global/GlobalSettings.vue new file mode 100644 index 0000000..292d7e6 --- /dev/null +++ b/src/views/components/global/GlobalSettings.vue @@ -0,0 +1,27 @@ + + + + +