From 5ef0abe3aec10919024b58ce81126171e976f815 Mon Sep 17 00:00:00 2001 From: Hakadao Date: Sun, 26 Nov 2023 19:46:50 +0800 Subject: [PATCH] feat: automatically hide the dock --- src/components/Dock/Dock.vue | 38 +++++++++++++++++-- .../Settings/components/General.vue | 23 ++++++----- src/contentScripts/views/App.vue | 1 + src/logic/storage.ts | 6 +-- src/models/models.ts | 6 +-- 5 files changed, 56 insertions(+), 18 deletions(-) diff --git a/src/components/Dock/Dock.vue b/src/components/Dock/Dock.vue index 5bf9d4f3..fd72b501 100644 --- a/src/components/Dock/Dock.vue +++ b/src/components/Dock/Dock.vue @@ -11,6 +11,8 @@ const emit = defineEmits(['change-page', 'settings-visibility-change']) const { t } = useI18n() +const hideDock = ref(false) + const hoveringDockItem = reactive({ themeMode: false, settings: false, @@ -44,12 +46,24 @@ const dockItems = computed((): DockItem[] => { ] }) +onMounted(() => { + if (settings.value.autoHideDock) + hideDock.value = true +}) + function toggleDark() { if (currentAppColorScheme.value === 'light') settings.value.theme = 'dark' else settings.value.theme = 'light' } + +function toggleDockHide(hide: boolean) { + if (settings.value.autoHideDock) + hideDock.value = hide + else + hideDock.value = false +} diff --git a/src/contentScripts/views/App.vue b/src/contentScripts/views/App.vue index 544ddffd..2e34d22b 100644 --- a/src/contentScripts/views/App.vue +++ b/src/contentScripts/views/App.vue @@ -253,6 +253,7 @@ provide('scrollbarRef', scrollbarRef)
diff --git a/src/logic/storage.ts b/src/logic/storage.ts index 97037807..4dbbfdaa 100644 --- a/src/logic/storage.ts +++ b/src/logic/storage.ts @@ -8,12 +8,12 @@ export const accessKey = useStorageLocal('accessKey', '') export const settings = useStorageLocal('settings', ref({ language: '', startupPage: AppPage.Home, - isShowTopbar: true, - dockPosition: 'right', enableHorizontalScrolling: false, openLinkInCurrentTab: false, - + isShowTopbar: true, autoHideTopbar: false, + dockPosition: 'right', + autoHideDock: false, theme: 'auto', themeColor: '#00a1d6', diff --git a/src/models/models.ts b/src/models/models.ts index 996dbcdf..b83aa65e 100644 --- a/src/models/models.ts +++ b/src/models/models.ts @@ -3,12 +3,12 @@ import type { AppPage } from '~/enums/appEnums' export interface Settings { language: string startupPage: AppPage - isShowTopbar: boolean - dockPosition: 'left' | 'right' | 'bottom' enableHorizontalScrolling: boolean openLinkInCurrentTab: boolean - + isShowTopbar: boolean autoHideTopbar: boolean + dockPosition: 'left' | 'right' | 'bottom' + autoHideDock: boolean theme: 'light' | 'dark' | 'auto' themeColor: string