MainLayout.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <q-layout view="hHh LpR fff">
  3. <q-header>
  4. <q-toolbar>
  5. <q-btn
  6. flat
  7. dense
  8. round
  9. icon="menu"
  10. aria-label="Menu"
  11. @click="toggleLeftDrawer"
  12. />
  13. </q-toolbar>
  14. </q-header>
  15. <LeftMenuLayout v-model="leftDrawerOpen" />
  16. <q-page-container>
  17. <router-view />
  18. </q-page-container>
  19. <q-footer class="bg-header text-black">
  20. <q-toolbar>
  21. <q-toolbar-title>
  22. <div class="flex justify-between">
  23. <div class="flex width-botoes cursor-pointer" @click="() => {}">
  24. <span class="text-subtitle1 text-black q-my-auto flex q-pl-sm">{{
  25. version
  26. }}</span>
  27. </div>
  28. <div class="flex">
  29. <img :src="logo" alt="logo" class="q-my-auto q-ml-xl" />
  30. <div class="flex q-ml-sm">
  31. <!-- eslint-disable-next-line @intlify/vue-i18n/no-raw-text -->
  32. <span class="q-my-auto"> ® </span>
  33. <span class="text-caption q-my-auto q-pb-xs q-pl-xs">
  34. {{ year }}
  35. </span>
  36. </div>
  37. </div>
  38. <div class="flex justify-end q-my-auto width-botoes"></div>
  39. </div>
  40. </q-toolbar-title>
  41. </q-toolbar>
  42. </q-footer>
  43. </q-layout>
  44. </template>
  45. <script setup>
  46. import { ref, computed } from "vue";
  47. import { version } from "../../package.json";
  48. import { format } from "date-fns";
  49. import { useQuasar } from "quasar";
  50. import darkLogo from "/src/assets/softpar_logo.png";
  51. import lightLogo from "/src/assets/logo_softpar_azul.png";
  52. const $q = useQuasar();
  53. defineOptions({
  54. name: "MainLayout",
  55. });
  56. const year = ref(format(new Date(), "yyyy"));
  57. const leftDrawerOpen = ref(false);
  58. const logo = computed(() => {
  59. return $q.dark.isActive ? darkLogo : lightLogo;
  60. });
  61. function toggleLeftDrawer() {
  62. leftDrawerOpen.value = !leftDrawerOpen.value;
  63. }
  64. </script>