Subheader.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <!--
  2. Second header de l'application
  3. Contient entre autres le breadcrumb, les commandes de changement d'année et les listes personnalisées
  4. -->
  5. <template>
  6. <main>
  7. <v-card
  8. class="d-md-flex ot_light_grey text-body-2"
  9. flat
  10. tile
  11. >
  12. <LayoutSubHeaderBreadcrumbs class="mr-auto d-sm-none d-md-flex d-none d-sm-flex" />
  13. <v-card
  14. class="d-md-flex ot_light_grey pt-2 mr-6 align-baseline"
  15. flat
  16. tile
  17. >
  18. <LayoutSubHeaderActivityYear v-if="!showDateTimeRange" class="activity-year" />
  19. <div v-if="hasMenuOrIsTeacher" class="d-sm-none d-md-flex d-none d-sm-flex">
  20. <LayoutSubHeaderDataTiming v-if="!showDateTimeRange" class="data-timing ml-2" />
  21. <LayoutSubHeaderDataTimingRange class="data-timing-range ml-n1" @showDateTimeRange="showDateTimeRange=$event" />
  22. <LayoutSubHeaderPersonnalizedList class="personalized-list ml-2" />
  23. </div>
  24. </v-card>
  25. </v-card>
  26. </main>
  27. </template>
  28. <script lang="ts">
  29. import {computed, ComputedRef, defineComponent, ref, Ref, useContext} from '@nuxtjs/composition-api'
  30. export default defineComponent({
  31. setup () {
  32. const {store} = useContext()
  33. const showDateTimeRange: Ref<boolean> = ref(false)
  34. const hasMenuOrIsTeacher: ComputedRef<boolean> = computed(
  35. () => store.state.profile.access.hasLateralMenu || store.state.profile.access.isTeacher
  36. )
  37. return {
  38. showDateTimeRange,
  39. hasMenuOrIsTeacher
  40. }
  41. }
  42. })
  43. </script>
  44. <style scoped>
  45. </style>