refactor: rename `useIsHomeLayout()` to `useLayout()`

pull/4673/head
Yuxuan Zhang 6 months ago
parent 17bb4f037b
commit 9477d8169e
No known key found for this signature in database
GPG Key ID: 6910B04F3351EF7D

@ -1,14 +1,14 @@
<script setup lang="ts"> <script setup lang="ts">
import NotFound from '../NotFound.vue' import NotFound from '../NotFound.vue'
import { useData } from '../composables/data' import { useData } from '../composables/data'
import { useIsHomeLayout } from '../composables/is-home-layout' import { useLayout } from '../composables/layout'
import { useSidebar } from '../composables/sidebar' import { useSidebar } from '../composables/sidebar'
import VPDoc from './VPDoc.vue' import VPDoc from './VPDoc.vue'
import VPHome from './VPHome.vue' import VPHome from './VPHome.vue'
import VPPage from './VPPage.vue' import VPPage from './VPPage.vue'
const { page, frontmatter } = useData() const { page, frontmatter } = useData()
const { isHomeLayout } = useIsHomeLayout() const { isHome } = useLayout()
const { hasSidebar } = useSidebar() const { hasSidebar } = useSidebar()
</script> </script>
@ -18,7 +18,7 @@ const { hasSidebar } = useSidebar()
id="VPContent" id="VPContent"
:class="{ :class="{
'has-sidebar': hasSidebar, 'has-sidebar': hasSidebar,
'is-home': isHomeLayout 'is-home': isHome
}" }"
> >
<slot name="not-found" v-if="page.isNotFound"><NotFound /></slot> <slot name="not-found" v-if="page.isNotFound"><NotFound /></slot>

@ -1,7 +1,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { useWindowScroll } from '@vueuse/core' import { useWindowScroll } from '@vueuse/core'
import { ref, watchPostEffect } from 'vue' import { ref, watchPostEffect } from 'vue'
import { useIsHomeLayout } from '../composables/is-home-layout' import { useLayout } from '../composables/layout'
import { useSidebar } from '../composables/sidebar' import { useSidebar } from '../composables/sidebar'
import VPNavBarAppearance from './VPNavBarAppearance.vue' import VPNavBarAppearance from './VPNavBarAppearance.vue'
import VPNavBarExtra from './VPNavBarExtra.vue' import VPNavBarExtra from './VPNavBarExtra.vue'
@ -22,14 +22,14 @@ defineEmits<{
const { y } = useWindowScroll() const { y } = useWindowScroll()
const { hasSidebar } = useSidebar() const { hasSidebar } = useSidebar()
const { isHomeLayout } = useIsHomeLayout() const { isHome } = useLayout()
const classes = ref<Record<string, boolean>>({}) const classes = ref<Record<string, boolean>>({})
watchPostEffect(() => { watchPostEffect(() => {
classes.value = { classes.value = {
'has-sidebar': hasSidebar.value, 'has-sidebar': hasSidebar.value,
'home': isHomeLayout.value, 'home': isHome.value,
'top': y.value === 0, 'top': y.value === 0,
'screen-open': props.isScreenOpen 'screen-open': props.isScreenOpen
} }

@ -1,14 +0,0 @@
import { computed } from 'vue'
import { useData } from './data'
export function useIsHomeLayout() {
const { frontmatter } = useData()
const isHomeLayout = computed(() => {
if (frontmatter.value.isHomeLayout !== undefined)
return Boolean(frontmatter.value.isHomeLayout)
else return frontmatter.value.layout === 'home'
})
return { isHomeLayout }
}

@ -0,0 +1,14 @@
import { computed } from 'vue'
import { useData } from './data'
export function useLayout() {
const { frontmatter } = useData()
const isHome = computed(() => {
if (frontmatter.value.isHome !== undefined)
return Boolean(frontmatter.value.isHome)
else return frontmatter.value.layout === 'home'
})
return { isHome }
}

@ -18,7 +18,7 @@ import {
getSidebarGroups getSidebarGroups
} from '../support/sidebar' } from '../support/sidebar'
import { useData } from './data' import { useData } from './data'
import { useIsHomeLayout } from './is-home-layout' import { useLayout } from './layout'
export interface SidebarControl { export interface SidebarControl {
collapsed: Ref<boolean> collapsed: Ref<boolean>
@ -32,7 +32,7 @@ export interface SidebarControl {
export function useSidebar() { export function useSidebar() {
const { frontmatter, page, theme } = useData() const { frontmatter, page, theme } = useData()
const { isHomeLayout } = useIsHomeLayout() const { isHome } = useLayout()
const is960 = useMediaQuery('(min-width: 960px)') const is960 = useMediaQuery('(min-width: 960px)')
const isOpen = ref(false) const isOpen = ref(false)
@ -54,7 +54,7 @@ export function useSidebar() {
return ( return (
frontmatter.value.sidebar !== false && frontmatter.value.sidebar !== false &&
sidebar.value.length > 0 && sidebar.value.length > 0 &&
!isHomeLayout.value !isHome.value
) )
}) })
@ -67,7 +67,7 @@ export function useSidebar() {
}) })
const hasAside = computed(() => { const hasAside = computed(() => {
if (isHomeLayout.value) return false if (isHome.value) return false
if (frontmatter.value.aside != null) return !!frontmatter.value.aside if (frontmatter.value.aside != null) return !!frontmatter.value.aside
return theme.value.aside !== false return theme.value.aside !== false
}) })

Loading…
Cancel
Save