[590f667] | 1 | <script>
|
---|
[17bf12d] | 2 | import { userStore } from '@/PiniaStores/UserStore.js'
|
---|
[6662a14] | 3 | import logout_ from '@/components/Project/Auth/logout_.vue'
|
---|
[17bf12d] | 4 |
|
---|
| 5 | export default {
|
---|
[e5d4845] | 6 | components: {
|
---|
| 7 | logout_,
|
---|
| 8 | },
|
---|
[17bf12d] | 9 | data() {
|
---|
| 10 | return {
|
---|
[e5d4845] | 11 | user: userStore(),
|
---|
[d90601f] | 12 | managerLocalId: '',
|
---|
[17bf12d] | 13 | }
|
---|
[2a2614e] | 14 | },
|
---|
[17c7d5e] | 15 | methods: {
|
---|
[d90601f] | 16 | fetchLocalForManager() {
|
---|
| 17 | fetch('http://localhost:8080/api/local-manager/my-local', {
|
---|
[17c7d5e] | 18 | method: 'GET',
|
---|
| 19 | headers: {
|
---|
| 20 | 'Content-Type': 'application/json',
|
---|
[d90601f] | 21 | Authorization: this.user.getToken,
|
---|
[17c7d5e] | 22 | },
|
---|
[d90601f] | 23 | })
|
---|
| 24 | .then((res) => res.json())
|
---|
[17c7d5e] | 25 | .then((data) => (this.managerLocalId = data.id))
|
---|
[d90601f] | 26 | .catch((err) => console.log(err))
|
---|
| 27 | },
|
---|
[17c7d5e] | 28 | },
|
---|
| 29 | mounted() {
|
---|
[d90601f] | 30 | if (this.user && this.user.data.role === 'ROLE_LOCAL_MANAGER') {
|
---|
| 31 | this.fetchLocalForManager()
|
---|
[17c7d5e] | 32 | }
|
---|
[d90601f] | 33 | },
|
---|
[17bf12d] | 34 | }
|
---|
[590f667] | 35 | </script>
|
---|
| 36 |
|
---|
| 37 | <template>
|
---|
[d90601f] | 38 | <nav class="navbar navbar-expand-lg navbar-dark custom-background-nav py-2 px-5">
|
---|
[e5d4845] | 39 | <div class="container-fluid">
|
---|
[d90601f] | 40 | <router-link
|
---|
| 41 | v-if="user.data.role !== 'ROLE_LOCAL_MANAGER'"
|
---|
| 42 | to="/"
|
---|
| 43 | class="navbar-brand d-flex align-items-center"
|
---|
| 44 | >
|
---|
[e5d4845] | 45 | <img src="/src/assets/rng_logo.png" alt="Logo" height="50" class="me-2" />
|
---|
| 46 | <span class="fw-bold text-black">Reserve And Go</span>
|
---|
[590f667] | 47 | </router-link>
|
---|
| 48 |
|
---|
[d90601f] | 49 | <div
|
---|
| 50 | v-if="user.data.role === 'ROLE_LOCAL_MANAGER'"
|
---|
| 51 | class="navbar-brand d-flex align-items-center"
|
---|
| 52 | >
|
---|
[166f25d] | 53 | <img src="/src/assets/rng_logo.png" alt="Logo" height="50" class="me-2" />
|
---|
| 54 | <span class="fw-bold text-black">Reserve And Go</span>
|
---|
| 55 | </div>
|
---|
[e5d4845] | 56 |
|
---|
| 57 | <div class="collapse navbar-collapse justify-content-end" id="navbarContent">
|
---|
| 58 | <ul class="navbar-nav align-items-center">
|
---|
| 59 | <li class="nav-item" v-if="user.data.role === 'ROLE_CUSTOMER'">
|
---|
[d90601f] | 60 | <router-link :to="{name: 'favourite_locals', params:{ mode: 'favourites'} }" class="nav-link text-black"
|
---|
| 61 | >Favourite locals</router-link
|
---|
| 62 | >
|
---|
[6662a14] | 63 | </li>
|
---|
[e5d4845] | 64 |
|
---|
| 65 | <li class="nav-item pe-3" v-if="user.data.role === 'ROLE_CUSTOMER'">
|
---|
[d90601f] | 66 | <router-link to="/my_reservations" class="nav-link text-black"
|
---|
| 67 | >My reservations</router-link
|
---|
| 68 | >
|
---|
[590f667] | 69 | </li>
|
---|
[e5d4845] | 70 |
|
---|
[17c7d5e] | 71 | <li class="nav-item pe-3" v-if="user.data.role === 'ROLE_ADMIN'">
|
---|
| 72 | <router-link to="/admin-dashboard" class="nav-link text-black">Dashboard</router-link>
|
---|
| 73 | </li>
|
---|
| 74 | <li class="nav-item pe-3" v-if="user.data.role === 'ROLE_LOCAL_MANAGER'">
|
---|
[d90601f] | 75 | <router-link :to="`/more_details/${this.managerLocalId}`" class="nav-link text-black"
|
---|
| 76 | >My Restaurant</router-link
|
---|
| 77 | >
|
---|
[17c7d5e] | 78 | </li>
|
---|
| 79 |
|
---|
[2477399] | 80 | <li class="nav-item pe-3" v-if="user.data.role === 'ROLE_LOCAL_MANAGER'">
|
---|
| 81 | <router-link to="/manager-dashboard" class="nav-link text-black">Dashboard</router-link>
|
---|
| 82 | </li>
|
---|
| 83 |
|
---|
[d90601f] | 84 | <li
|
---|
| 85 | class="nav-item"
|
---|
| 86 | v-if="user.data.role !== 'ROLE_ADMIN' && user.data.role !== 'UN_AUTHENTICATED'"
|
---|
| 87 | >
|
---|
[32d1959] | 88 | <router-link to="/profilePage" class="nav-link text-white">
|
---|
[e5d4845] | 89 | <i class="fa-solid fa-user"></i>
|
---|
| 90 | {{ user.data.firstName }} {{ user.data.lastName }}
|
---|
[6662a14] | 91 | </router-link>
|
---|
[590f667] | 92 | </li>
|
---|
[17bf12d] | 93 |
|
---|
[e5d4845] | 94 | <li class="nav-item" v-if="user.data.role === 'UN_AUTHENTICATED'">
|
---|
| 95 | <router-link to="/login" class="btn btn-dark me-2">Login</router-link>
|
---|
| 96 | </li>
|
---|
| 97 |
|
---|
| 98 | <li class="nav-item" v-if="user.data.role === 'UN_AUTHENTICATED'">
|
---|
| 99 | <router-link to="/register" class="btn btn-dark me-2">Register</router-link>
|
---|
[590f667] | 100 | </li>
|
---|
[e5d4845] | 101 |
|
---|
| 102 | <li class="nav-item">
|
---|
| 103 | <logout_ />
|
---|
| 104 | </li>
|
---|
[590f667] | 105 | </ul>
|
---|
| 106 | </div>
|
---|
| 107 | </div>
|
---|
| 108 | </nav>
|
---|
| 109 | </template>
|
---|
| 110 |
|
---|
| 111 | <style scoped>
|
---|
[e5d4845] | 112 | .navbar-brand span {
|
---|
| 113 | font-size: 1.25rem;
|
---|
[590f667] | 114 | }
|
---|
| 115 |
|
---|
[d90601f] | 116 | .custom-background-nav {
|
---|
| 117 | background-color: #5ea5bc;
|
---|
[17db9d2] | 118 | }
|
---|
| 119 |
|
---|
[e5d4845] | 120 | .navbar-nav .nav-link:hover {
|
---|
| 121 | color: rgba(255, 255, 255, 0.6) !important;
|
---|
[f9ef3e8] | 122 | }
|
---|
[590f667] | 123 | </style>
|
---|