AppTopBar.vue 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <script setup>
  2. import { Link } from '@inertiajs/inertia-vue3'
  3. defineEmits(['menu-toggle'])
  4. </script>
  5. <template>
  6. <div class="layout-topbar">
  7. <Link href="/" class="layout-topbar-logo">
  8. <img alt="Logo" src="/images/logo.svg" class="md:mr-3" />
  9. <span>Parkirin</span>
  10. </Link>
  11. <button class="p-link layout-menu-button layout-topbar-button" @click="$emit('menu-toggle', $event)">
  12. <i class="pi pi-bars"></i>
  13. </button>
  14. <button
  15. class="p-link layout-topbar-menu-button layout-topbar-button"
  16. v-styleclass="{
  17. selector: '@next',
  18. enterClass: 'hidden',
  19. enterActiveClass: 'scalein',
  20. leaveToClass: 'hidden',
  21. leaveActiveClass: 'fadeout',
  22. hideOnOutsideClick: true,
  23. }"
  24. >
  25. <i class="pi pi-ellipsis-v"></i>
  26. </button>
  27. <ul class="layout-topbar-menu hidden lg:flex origin-top">
  28. <li class="align-self-center">
  29. <span class="hidden lg:inline">{{ $page.props.auth.user.name }}</span>
  30. </li>
  31. <li>
  32. <Link :href="route('users.show', $page.props.auth.user.id)" class="p-link layout-topbar-button">
  33. <i class="pi pi-user"></i>
  34. <span>Profil Saya</span>
  35. </Link>
  36. </li>
  37. <li>
  38. <Link :href="route('logout')" as="button" method="post" class="p-link layout-topbar-button">
  39. <i class="pi pi-sign-out"></i>
  40. <span>Sign Out</span>
  41. </Link>
  42. </li>
  43. </ul>
  44. </div>
  45. </template>