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