From 2ea4c36a259463ba08d9ebbb8e2decd8978034e4 Mon Sep 17 00:00:00 2001 From: Hakadao Date: Mon, 2 Oct 2023 16:13:44 +0800 Subject: [PATCH] feat: prevent closing the settings panel when it has a child dialog * style: adjust `ChildSettingsDialog` styles --- src/components/Settings/Settings.vue | 17 +++++++++++++++-- .../Settings/components/ChildSettingsDialog.vue | 6 +++--- src/components/Settings/components/Home.vue | 16 ++++++++++++++-- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/components/Settings/Settings.vue b/src/components/Settings/Settings.vue index d9d6ba52..df855fc6 100644 --- a/src/components/Settings/Settings.vue +++ b/src/components/Settings/Settings.vue @@ -15,6 +15,9 @@ const { t } = useI18n() const settingsMenu = { General, Appearance, SearchPage, Home, About } const activatedMenuItem = ref(MenuType.General) const title = ref(t('settings.title')) +const preventCloseSettings = ref(false) + +provide('preventCloseSettings', preventCloseSettings) const settingsMenuItems = computed(() => { return [ @@ -64,6 +67,8 @@ onMounted(() => { }) function handleClose() { + if (preventCloseSettings.value) + return emit('close') } @@ -88,12 +93,20 @@ function setCurrentTitle() { max-w-900px max-h-800px transform="~ translate-x--1/2 translate-y--1/2" z-9999 flex justify-between items-center > -