MainHeader.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <nav class="nav is-info">
  3. <div class="nav-left">
  4. <a class="nav-item is-brand" href="#" v-link="{ path: '/' }">
  5. Musare
  6. </a>
  7. </div>
  8. <!--<span class="nav-toggle" :class="{ 'is-active': isActive }" @click="toggleMobileMenu()">
  9. <span></span>
  10. <span></span>
  11. <span></span>
  12. </span>-->
  13. <div class="nav-right">
  14. <a class="nav-item is-tab admin" href="#" v-link="{ path: '/admin' }" v-if="$parent.$parent.role === 'admin'">
  15. Admin
  16. </a>
  17. <a class="nav-item is-tab" href="#">
  18. About
  19. </a>
  20. <a class="nav-item is-tab" href="#" v-link="{ path: '/news' }">
  21. News
  22. </a>
  23. <span class="grouped" v-if="$parent.$parent.loggedIn">
  24. <a class="nav-item is-tab" href="#" v-link="{ path: '/u/' + $parent.$parent.username }">
  25. Profile
  26. </a>
  27. <a class="nav-item is-tab" href="#" v-link="{ path: '/settings' }">
  28. Settings
  29. </a>
  30. <a class="nav-item is-tab" href="#" @click="$parent.$parent.logout()">
  31. Logout
  32. </a>
  33. </span>
  34. <span class="grouped" v-else>
  35. <a class="nav-item" href="#" @click="toggleModal('login')">
  36. Login
  37. </a>
  38. <a class="nav-item" href="#" @click="toggleModal('register')">
  39. Register
  40. </a>
  41. </span>
  42. </div>
  43. </nav>
  44. </template>
  45. <script>
  46. export default {
  47. methods: {
  48. toggleModal: function (type) {
  49. this.$dispatch('toggleModal', type);
  50. }
  51. }
  52. }
  53. </script>
  54. <style lang="scss" scoped>
  55. @import 'theme.scss';
  56. .nav {
  57. background-color: #03a9f4;
  58. height: 64px;
  59. .is-brand {
  60. font-size: 2.1rem !important;
  61. line-height: 64px !important;
  62. padding: 0 20px;
  63. }
  64. .nav-item {
  65. font-size: 15px;
  66. color: $white;
  67. &:hover {
  68. color: $white;
  69. }
  70. }
  71. .admin {
  72. color: $red;
  73. }
  74. }
  75. .grouped {
  76. margin: 0;
  77. display: flex;
  78. text-decoration: none;
  79. }
  80. </style>