121 lines
3.7 KiB
Vue
121 lines
3.7 KiB
Vue
<template>
|
|
<CHeader position="sticky" class="mb-4">
|
|
<CContainer class="border-bottom" fluid>
|
|
<CHeaderToggler class="ps-1" @click="$store.commit('toggleSidebar')">
|
|
<CIcon icon="cil-menu" size="lg" />
|
|
</CHeaderToggler>
|
|
<CHeaderBrand class="mx-auto d-lg-none" to="/">
|
|
<CIcon :icon="logo" height="48" alt="Logo" />
|
|
</CHeaderBrand>
|
|
<CHeaderNav class="d-none d-md-flex me-auto">
|
|
<CNavItem>
|
|
<CNavLink href="/dashboard"> Dashboard </CNavLink>
|
|
</CNavItem>
|
|
<CNavItem>
|
|
<CNavLink href="#">Users</CNavLink>
|
|
</CNavItem>
|
|
<CNavItem>
|
|
<CNavLink href="#">Settings</CNavLink>
|
|
</CNavItem>
|
|
</CHeaderNav>
|
|
<CHeaderNav>
|
|
<CNavItem>
|
|
<CNavLink href="#">
|
|
<CIcon class="mx-2" icon="cil-bell" size="lg" />
|
|
</CNavLink>
|
|
</CNavItem>
|
|
<CNavItem>
|
|
<CNavLink href="#">
|
|
<CIcon class="mx-2" icon="cil-list" size="lg" />
|
|
</CNavLink>
|
|
</CNavItem>
|
|
<CNavItem>
|
|
<CNavLink href="#">
|
|
<CIcon class="mx-2" icon="cil-envelope-open" size="lg" />
|
|
</CNavLink>
|
|
</CNavItem>
|
|
<li class="nav-item py-2 py-lg-1">
|
|
<div
|
|
class="vr d-none d-lg-flex h-100 mx-lg-2 text-body text-opacity-75"
|
|
></div>
|
|
<hr class="d-lg-none my-2 text-white-50" />
|
|
</li>
|
|
<CDropdown variant="nav-item" placement="bottom-end">
|
|
<CDropdownToggle :caret="false">
|
|
<CIcon v-if="colorMode === 'dark'" icon="cil-moon" size="xl" />
|
|
<CIcon
|
|
v-else-if="colorMode === 'light'"
|
|
icon="cil-sun"
|
|
size="xl"
|
|
/>
|
|
<CIcon v-else icon="cil-contrast" size="xl" />
|
|
</CDropdownToggle>
|
|
<CDropdownMenu>
|
|
<CDropdownItem
|
|
:active="colorMode === 'light'"
|
|
class="d-flex align-items-center"
|
|
component="button"
|
|
type="button"
|
|
@click="setColorMode('light')"
|
|
>
|
|
<CIcon class="me-2" icon="cil-sun" size="lg" /> Light
|
|
</CDropdownItem>
|
|
<CDropdownItem
|
|
:active="colorMode === 'dark'"
|
|
class="d-flex align-items-center"
|
|
component="button"
|
|
type="button"
|
|
@click="setColorMode('dark')"
|
|
>
|
|
<CIcon class="me-2" icon="cil-moon" size="lg" /> Dark
|
|
</CDropdownItem>
|
|
<CDropdownItem
|
|
:active="colorMode === 'auto'"
|
|
class="d-flex align-items-center"
|
|
component="button"
|
|
type="button"
|
|
@click="setColorMode('auto')"
|
|
>
|
|
<CIcon class="me-2" icon="cil-contrast" size="lg" /> Auto
|
|
</CDropdownItem>
|
|
</CDropdownMenu>
|
|
</CDropdown>
|
|
<li class="nav-item py-2 py-lg-1">
|
|
<div
|
|
class="vr d-none d-lg-flex h-100 mx-lg-2 text-body text-opacity-75"
|
|
></div>
|
|
<hr class="d-lg-none my-2 text-white-50" />
|
|
</li>
|
|
<AppHeaderDropdownAccnt />
|
|
</CHeaderNav>
|
|
</CContainer>
|
|
<CContainer fluid>
|
|
<AppBreadcrumb />
|
|
</CContainer>
|
|
</CHeader>
|
|
</template>
|
|
|
|
<script>
|
|
import { useColorModes } from '@coreui/vue'
|
|
import AppBreadcrumb from './AppBreadcrumb'
|
|
import AppHeaderDropdownAccnt from './AppHeaderDropdownAccnt'
|
|
import { logo } from '@/assets/brand/logo'
|
|
export default {
|
|
name: 'AppHeader',
|
|
components: {
|
|
AppBreadcrumb,
|
|
AppHeaderDropdownAccnt,
|
|
},
|
|
setup() {
|
|
const { colorMode, setColorMode } = useColorModes(
|
|
'coreui-free-vue-admin-template-theme',
|
|
)
|
|
return {
|
|
logo,
|
|
colorMode,
|
|
setColorMode,
|
|
}
|
|
},
|
|
}
|
|
</script>
|