55 lines
1.4 KiB
Vue
55 lines
1.4 KiB
Vue
<script setup>
|
|
import navItems from '@/navigation/horizontal'
|
|
import { useThemeConfig } from '@core/composable/useThemeConfig'
|
|
import { themeConfig } from '@themeConfig'
|
|
|
|
// Components
|
|
import Footer from '@/layouts/components/Footer.vue'
|
|
import NavbarThemeSwitcher from '@/layouts/components/NavbarThemeSwitcher.vue'
|
|
import UserProfile from '@/layouts/components/UserProfile.vue'
|
|
import { HorizontalNavLayout } from '@layouts'
|
|
import { VNodeRenderer } from '@layouts/components/VNodeRenderer'
|
|
|
|
const { appRouteTransition } = useThemeConfig()
|
|
</script>
|
|
|
|
<template>
|
|
<HorizontalNavLayout :nav-items="navItems">
|
|
<!-- 👉 navbar -->
|
|
<template #navbar>
|
|
<a
|
|
href="/"
|
|
class="app-logo d-flex align-center gap-x-3"
|
|
>
|
|
<VNodeRenderer :nodes="themeConfig.app.logo" />
|
|
|
|
<h1 class="app-title font-weight-bold leading-normal text-xl text-capitalize">
|
|
{{ themeConfig.app.title }}
|
|
</h1>
|
|
</a>
|
|
<VSpacer />
|
|
|
|
<NavbarThemeSwitcher class="me-2" />
|
|
<UserProfile />
|
|
</template>
|
|
|
|
<!-- 👉 Pages -->
|
|
<RouterView v-slot="{ Component }">
|
|
<Transition
|
|
:name="appRouteTransition"
|
|
mode="out-in"
|
|
>
|
|
<Component :is="Component" />
|
|
</Transition>
|
|
</RouterView>
|
|
|
|
<!-- 👉 Footer -->
|
|
<template #footer>
|
|
<Footer />
|
|
</template>
|
|
|
|
<!-- 👉 Customizer -->
|
|
<!-- <TheCustomizer /> -->
|
|
</HorizontalNavLayout>
|
|
</template>
|