OfficialHeader.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <nav class="nav">
  3. <div class="nav-left">
  4. <a class="nav-item logo" href="#" v-link="{ path: '/' }" @click="this.$dispatch('leaveStation', title)">
  5. Musare
  6. </a>
  7. <a class="nav-item" href="#" @click="$parent.toggleModal('addSongToQueue')">
  8. <span class="icon">
  9. <i class="material-icons">playlist_add</i>
  10. </span>
  11. </a>
  12. <a class="nav-item" href="#" @click="$parent.toggleModal('editStation')">
  13. <span class="icon">
  14. <i class="material-icons">flag</i>
  15. </span>
  16. </a>
  17. <a class="nav-item" href="#">
  18. <span class="icon">
  19. <i class="material-icons">flag</i>
  20. </span>
  21. </a>
  22. <a v-if="$parent.$parent.role === 'admin'" class="nav-item" href="#" @click="$parent.skipStation()">
  23. <span class="icon">
  24. <i class="material-icons">skip_next</i>
  25. </span>
  26. </a>
  27. <a v-if="$parent.$parent.role !== 'admin' && $parent.$parent.loggedIn" class="nav-item" href="#" @click="$parent.voteSkipStation()">
  28. <span class="icon">
  29. <i class="material-icons">skip_next</i>
  30. </span>
  31. </a>
  32. <a class="nav-item" href="#" v-if="$parent.$parent.role === 'admin' && $parent.locked" @click="$parent.unlockStation()">
  33. <span class="icon">
  34. <i class="material-icons">lock_outline</i>
  35. </span>
  36. </a>
  37. <a class="nav-item" href="#" v-if="$parent.$parent.role === 'admin' && !$parent.locked" @click="$parent.lockStation()">
  38. <span class="icon">
  39. <i class="material-icons">lock_open</i>
  40. </span>
  41. </a>
  42. <a class="nav-item" href="#" v-if="$parent.$parent.role === 'admin' && $parent.paused" @click="$parent.resumeStation()">
  43. <span class="icon">
  44. <i class="material-icons">play_arrow</i>
  45. </span>
  46. </a>
  47. <a class="nav-item" href="#" v-if="$parent.$parent.role === 'admin' && !$parent.paused" @click="$parent.pauseStation()">
  48. <span class="icon">
  49. <i class="material-icons">pause</i>
  50. </span>
  51. </a>
  52. </div>
  53. <div class="nav-center">
  54. {{title}}
  55. </div>
  56. <!--<span class="nav-toggle" :class="{ 'is-active': isActive }" @click="toggleMobileMenu()">
  57. <span></span>
  58. <span></span>
  59. <span></span>
  60. </span>-->
  61. <div class="nav-right">
  62. <a class="nav-item" href="#" @click='$parent.sidebars.queue = !$parent.sidebars.queue'>
  63. <span class="icon">
  64. <i class="material-icons">queue_music</i>
  65. </span>
  66. </a>
  67. <!--<a class="nav-item" href="#">
  68. <span class="icon">
  69. <i class="material-icons">chat</i>
  70. </span>
  71. </a>-->
  72. <a class="nav-item" href="#" @click='$parent.sidebars.users = !$parent.sidebars.users'>
  73. <span class="icon">
  74. <i class="material-icons">people</i>
  75. </span>
  76. </a>
  77. </div>
  78. </nav>
  79. </template>
  80. <script>
  81. export default {
  82. data() {
  83. return {
  84. title: this.$route.params.id,
  85. isActive: false
  86. }
  87. },
  88. methods: {
  89. toggleMobileMenu: function() {
  90. this.isActive = !this.isActive;
  91. }
  92. }
  93. }
  94. </script>
  95. <style lang="scss" scoped>
  96. @import 'theme.scss';
  97. .nav {
  98. background-color: #03a9f4;
  99. }
  100. a.nav-item {
  101. color: $white;
  102. &:hover {
  103. color: $white;
  104. }
  105. padding: 0 18px;
  106. .icon {
  107. height: 64px;
  108. i {
  109. font-size: 2rem;
  110. line-height: 64px;
  111. height: 64px;
  112. width: 34px;
  113. }
  114. }
  115. }
  116. .logo {
  117. font-size: 2.1rem;
  118. line-height: 64px;
  119. padding-left: 20px !important;
  120. padding-right: 20px !important;
  121. }
  122. .nav-center {
  123. display: flex;
  124. align-items: center;
  125. text-transform: uppercase;
  126. color: $blue;
  127. font-size: 22px;
  128. }
  129. </style>