Files
manja_dev_ui/src/components/AppHeader.vue
T
2023-09-26 23:35:16 +02:00

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>