Skip to content
Snippets Groups Projects
App.vue 1.4 KiB
Newer Older
  • Learn to ignore specific revisions
  •   <template v-if="authStore.currentUser">
        <div :key="locale" class="app tw-flex tw-flex-col md:tw-grid">
          <ABreadcrumbs
            v-if="navStore.breadcrumbs.length > 0"
            class="tw-px-6 tw-border-solid tw-border-gray-200 tw-border-0 tw-border-b"
            :breadcrumbs="navStore.breadcrumbs"
            style="grid-area: breadcrumbs"
          />
    
          <main class="tw-h-full tw-p-6" style="grid-area: main">
            <RouterView v-if="authStore.steeringUser" class="tw-h-full" />
          </main>
    
          <ANavSidebar style="grid-area: nav" />
          <div id="sidebar-right" style="grid-area: slot"></div>
        </div>
    
        <AppFooter />
      </template>
    
      <LoginScreen v-else />
    
    <script lang="ts" setup>
    
    import AppFooter from './components/Footer.vue'
    
    import { getLanguageName, useI18n } from '@/i18n'
    
    import { useAuthStore } from '@/stores/auth'
    
    import ANavSidebar from '@/components/nav/ANavSidebar.vue'
    
    import { useNavStore } from '@/stores/nav'
    import ABreadcrumbs from '@/components/nav/ABreadcrumbs.vue'
    
    import LoginScreen from '@/Pages/LoginScreen.vue'
    
    const { locale } = useI18n()
    
    const authStore = useAuthStore()
    
    const navStore = useNavStore()
    
    
    <style scoped>
    .app {
      min-height: calc(100dvh - 40px);
    
      grid-template-areas: 'nav breadcrumbs breadcrumbs' 'nav main slot';
    
      grid-template-columns: 360px minmax(320px, 1200px) auto;
    
      grid-template-rows: min-content minmax(0, 1fr);