11<template >
2- <CHeader position =" sticky" class =" mb-4 " >
2+ <CHeader position =" sticky" : class =" headerClassNames " >
33 <CContainer class =" border-bottom" fluid >
44 <CHeaderToggler class =" ps-1" @click =" $store.commit('toggleSidebar')" >
55 <CIcon icon =" cil-menu" size =" lg" />
66 </CHeaderToggler >
7- <CHeaderBrand class =" mx-auto d-lg-none" to =" /" >
8- <CIcon :icon =" logo" height =" 48" alt =" Logo" />
9- </CHeaderBrand >
107 <CHeaderNav class =" d-none d-md-flex me-auto" >
118 <CNavItem >
129 <CNavLink href =" /dashboard" > Dashboard </CNavLink >
4340 <CDropdown variant =" nav-item" placement =" bottom-end" >
4441 <CDropdownToggle :caret =" false" >
4542 <CIcon v-if =" colorMode === 'dark'" icon =" cil-moon" size =" xl" />
46- <CIcon
47- v-else-if =" colorMode === 'light'"
48- icon =" cil-sun"
49- size =" xl"
50- />
43+ <CIcon v-else-if =" colorMode === 'light'" icon =" cil-sun" size =" xl" />
5144 <CIcon v-else icon =" cil-contrast" size =" xl" />
5245 </CDropdownToggle >
5346 <CDropdownMenu >
9689</template >
9790
9891<script >
92+ import { onMounted , ref } from ' vue'
9993import { useColorModes } from ' @coreui/vue'
10094import AppBreadcrumb from ' ./AppBreadcrumb'
10195import AppHeaderDropdownAccnt from ' ./AppHeaderDropdownAccnt'
@@ -107,10 +101,23 @@ export default {
107101 AppHeaderDropdownAccnt,
108102 },
109103 setup () {
104+ const headerClassNames = ref (' mb-4' )
110105 const { colorMode , setColorMode } = useColorModes (
111106 ' coreui-free-vue-admin-template-theme' ,
112107 )
108+
109+ onMounted (() => {
110+ document .addEventListener (' scroll' , () => {
111+ if (document .documentElement .scrollTop > 0 ) {
112+ headerClassNames .value = ' mb-4 shadow-sm'
113+ } else {
114+ headerClassNames .value = ' mb-4'
115+ }
116+ })
117+ })
118+
113119 return {
120+ headerClassNames,
114121 logo,
115122 colorMode,
116123 setColorMode,
0 commit comments