default.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <template>
  2. <v-app dark>
  3. <v-navigation-drawer
  4. v-model="drawer"
  5. :mini-variant="miniVariant"
  6. :clipped="clipped"
  7. fixed
  8. app
  9. >
  10. <v-list>
  11. <v-list-item
  12. v-for="(item, i) in items"
  13. :key="i"
  14. :to="item.to"
  15. router
  16. exact
  17. >
  18. <v-list-item-action>
  19. <v-icon>{{ item.icon }}</v-icon>
  20. </v-list-item-action>
  21. <v-list-item-content>
  22. <v-list-item-title v-text="item.title" />
  23. </v-list-item-content>
  24. </v-list-item>
  25. </v-list>
  26. </v-navigation-drawer>
  27. <v-app-bar
  28. :clipped-left="clipped"
  29. fixed
  30. app
  31. >
  32. <v-app-bar-nav-icon @click.stop="drawer = !drawer" />
  33. <v-btn
  34. icon
  35. @click.stop="miniVariant = !miniVariant"
  36. >
  37. <v-icon>mdi-{{ `chevron-${miniVariant ? 'right' : 'left'}` }}</v-icon>
  38. </v-btn>
  39. <v-btn
  40. icon
  41. @click.stop="clipped = !clipped"
  42. >
  43. <v-icon>mdi-application</v-icon>
  44. </v-btn>
  45. <v-btn
  46. icon
  47. @click.stop="fixed = !fixed"
  48. >
  49. <v-icon>mdi-minus</v-icon>
  50. </v-btn>
  51. <v-toolbar-title v-text="title" />
  52. <v-spacer />
  53. <v-btn
  54. icon
  55. @click.stop="rightDrawer = !rightDrawer"
  56. >
  57. <v-icon>mdi-menu</v-icon>
  58. </v-btn>
  59. </v-app-bar>
  60. <v-main>
  61. <v-container>
  62. <nuxt />
  63. </v-container>
  64. </v-main>
  65. <v-navigation-drawer
  66. v-model="rightDrawer"
  67. :right="right"
  68. temporary
  69. fixed
  70. >
  71. <v-list>
  72. <v-list-item @click.native="right = !right">
  73. <v-list-item-action>
  74. <v-icon light>
  75. mdi-repeat
  76. </v-icon>
  77. </v-list-item-action>
  78. <v-list-item-title>Switch drawer (click me)</v-list-item-title>
  79. </v-list-item>
  80. </v-list>
  81. </v-navigation-drawer>
  82. <v-footer
  83. :absolute="!fixed"
  84. app
  85. >
  86. <span>&copy; {{ new Date().getFullYear() }}</span>
  87. </v-footer>
  88. </v-app>
  89. </template>
  90. <script>
  91. export default {
  92. data () {
  93. return {
  94. clipped: false,
  95. drawer: false,
  96. fixed: false,
  97. items: [
  98. {
  99. icon: 'mdi-apps',
  100. title: 'Welcome',
  101. to: '/'
  102. },
  103. {
  104. icon: 'mdi-chart-bubble',
  105. title: 'Inspire',
  106. to: '/inspire'
  107. }
  108. ],
  109. miniVariant: false,
  110. right: true,
  111. rightDrawer: false,
  112. title: 'Vuetify.js'
  113. }
  114. }
  115. }
  116. </script>