import { MenuModeEnum } from '~/constants' export function useHeaderSetting() { const { getFullContent } = useFullContent() const appConfig = useAppConfig() const { getMenuMode, getSplit, getShowHeaderTrigger, getIsSidebarType, getIsMixSidebar, getIsTopMenu, } = useMenuSetting() const { getShowBreadCrumb, getShowLogo } = useRootSetting() const getShowDoc = computed(() => appConfig.header.value.showDoc) const getHeaderTheme = computed(() => appConfig.header.value.theme) const getShowHeader = computed(() => appConfig.header.value.show) const getFixed = computed(() => appConfig.header.value.fixed) const getShowSearch = computed(() => appConfig.header.value.showSearch) const getUseLockPage = computed(() => false) const getShowFullScreen = computed(() => appConfig.header.value.showFullScreen) const getShowLocalePicker = computed(() => appConfig.header.value.showLocalePicker) const getShowNotice = computed(() => appConfig.header.value.showNotice) const getShowBread = computed(() => { return ( unref(getMenuMode) !== MenuModeEnum.HORIZONTAL && unref(getShowBreadCrumb) && !unref(getSplit) ) }) const getShowHeaderLogo = computed(() => { return ( unref(getShowLogo) && !unref(getIsSidebarType) && !unref(getIsMixSidebar) ) }) const getShowContent = computed(() => { return unref(getShowBread) || unref(getShowHeaderTrigger) }) const getShowFullHeaderRef = computed(() => { return !unref(getFullContent) && unref(getShowHeader) }) const getUnFixedAndFull = computed( () => !unref(getFixed) && !unref(getShowFullHeaderRef), ) const getShowMixHeaderRef = computed(() => !unref(getIsSidebarType) && unref(getShowHeader)) const getShowInsetHeaderRef = computed(() => { const need = !unref(getFullContent) && unref(getShowHeader) return ( (need && !unref(getShowMixHeaderRef)) || (need && unref(getIsTopMenu)) || (need && unref(getIsMixSidebar)) ) }) // Set header configuration function setHeaderSetting(headerSetting: Partial) { appConfig.setAppConfig({ header: headerSetting }) } return { setHeaderSetting, getShowDoc, getShowSearch, getHeaderTheme, getUseLockPage, getShowFullScreen, getShowNotice, getShowBread, getShowContent, getShowHeaderLogo, getShowHeader, getFixed, getShowMixHeaderRef, getShowFullHeaderRef, getShowInsetHeaderRef, getUnFixedAndFull, getShowLocalePicker, } }