App.vue 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <div>
  3. <nav class="navbar navbar-expand navbar-dark bg-primary text-light shadow-sm">
  4. <div class="container-fluid">
  5. <router-link :to="{name: 'home'}" class="navbar-brand">
  6. UPCCRT
  7. </router-link>
  8. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false">
  9. <span class="navbar-toggler-icon"></span>
  10. </button>
  11. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  12. <!-- Left Side Of Navbar -->
  13. <ul class="navbar-nav mr-auto text-center">
  14. <li class="nav-item">
  15. <a href="#" class="nav-link"><i class="fas fa-sign-in-alt"></i> <span class="d-none d-sm-block d-md-inline">Check-In</span></a>
  16. </li>
  17. <li class="nav-item">
  18. <a href="#" class="nav-link"><i class="fas fa-sign-out-alt"></i> <span class="d-none d-sm-block d-md-inline">Check-Out</span></a>
  19. </li>
  20. <li class="nav-item">
  21. <a href="#" class="nav-link"><i class="fas fa-tachometer-alt"></i> <span class="d-none d-sm-block d-md-inline">Dashboard</span></a>
  22. </li>
  23. <li class="nav-item">
  24. <a href="#" class="nav-link"><i class="fas fa-chart-bar"></i> <span class="d-none d-sm-block d-md-inline">Reports</span></a>
  25. </li>
  26. </ul>
  27. <!-- Right Side Of Navbar -->
  28. <ul class="navbar-nav ml-auto">
  29. <!-- Authentication Links -->
  30. <router-link :to="{ name: 'login' }" class="nav-link" v-if="!isLoggedIn">Login</router-link>
  31. <li class="nav-link" v-if="isLoggedIn">{{username}}</li>
  32. <router-link :to="{ name: 'home'}" class="nav-link" v-if="isLoggedIn">Home</router-link>
  33. <!-- @guest
  34. <li class="nav-item">
  35. <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
  36. </li>
  37. @if (Route::has('register'))
  38. <li class="nav-item">
  39. <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
  40. </li>
  41. @endif
  42. @else
  43. <li class="nav-item dropdown">
  44. <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
  45. {{ Auth::user()->username }} <span class="caret"></span>
  46. </a>
  47. <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
  48. <a class="dropdown-item" href="{{ route('logout') }}"
  49. onclick="event.preventDefault();
  50. document.getElementById('logout-form').submit();">
  51. {{ __('Logout') }}
  52. </a>
  53. <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
  54. @csrf
  55. </form>
  56. </div>
  57. </li>
  58. @endguest -->
  59. </ul>
  60. </div>
  61. </div>
  62. </nav>
  63. <main class="py-4">
  64. <router-view></router-view>
  65. </main>
  66. </div>
  67. </template>
  68. <script>
  69. export default {
  70. data () {
  71. return {
  72. isLoggedIn : null,
  73. username : null
  74. }
  75. },
  76. mounted () {
  77. this.isLoggedIn = localStorage.getItem('jwt')
  78. this.username = localStorage.getItem('user')
  79. }
  80. }
  81. </script>