2
0

NavSidebar.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template lang="pug">
  2. q-scroll-area.sidebar-nav(
  3. :thumb-style='thumbStyle'
  4. :bar-style='barStyle'
  5. )
  6. q-list(
  7. clickable
  8. dense
  9. dark
  10. )
  11. q-item-label.text-blue-2.text-caption(header) Header
  12. q-item(to='/install')
  13. q-item-section(side)
  14. q-icon(name='las la-dog', color='white')
  15. q-item-section Link 1
  16. q-item(to='/install')
  17. q-item-section(side)
  18. q-icon(name='las la-cat', color='white')
  19. q-item-section Link 2
  20. q-separator.q-my-sm(dark)
  21. q-item(to='/install')
  22. q-item-section(side)
  23. q-icon(name='mdi-fruit-grapes', color='white')
  24. q-item-section.text-wordbreak-all Link 3
  25. </template>
  26. <script setup>
  27. import { useQuasar } from 'quasar'
  28. import { computed, onMounted, reactive, ref, watch } from 'vue'
  29. import { useRouter, useRoute } from 'vue-router'
  30. import { useI18n } from 'vue-i18n'
  31. import { useSiteStore } from 'src/stores/site'
  32. // QUASAR
  33. const $q = useQuasar()
  34. // STORES
  35. const siteStore = useSiteStore()
  36. // ROUTER
  37. const router = useRouter()
  38. const route = useRoute()
  39. // I18N
  40. const { t } = useI18n()
  41. // DATA
  42. const thumbStyle = {
  43. right: '2px',
  44. borderRadius: '5px',
  45. backgroundColor: '#FFF',
  46. width: '5px',
  47. opacity: 0.5
  48. }
  49. const barStyle = {
  50. backgroundColor: '#000',
  51. width: '9px',
  52. opacity: 0.1
  53. }
  54. </script>
  55. <style lang="scss">
  56. .sidebar-nav {
  57. border-top: 1px solid rgba(255,255,255,.15);
  58. height: calc(100% - 38px - 24px);
  59. .q-list {
  60. .q-separator + .q-item__label {
  61. padding-top: 12px;
  62. }
  63. }
  64. }
  65. </style>