source: ReserveNGo-frontend/src/components/Project/Nav_bar_new.vue@ 8cbd6b2

Last change on this file since 8cbd6b2 was d90601f, checked in by Aleksandarj03 <138524804+Aleksandarj03@…>, 2 months ago

Changed the favourite locals logic so the path uses the same listing component as the one on the home page

  • Property mode set to 100644
File size: 3.8 KB
Line 
1<script>
2import { userStore } from '@/PiniaStores/UserStore.js'
3import logout_ from '@/components/Project/Auth/logout_.vue'
4
5export 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 })
24 .then((res) => res.json())
25 .then((data) => (this.managerLocalId = data.id))
26 .catch((err) => console.log(err))
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
41 v-if="user.data.role !== 'ROLE_LOCAL_MANAGER'"
42 to="/"
43 class="navbar-brand d-flex align-items-center"
44 >
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>
47 </router-link>
48
49 <div
50 v-if="user.data.role === 'ROLE_LOCAL_MANAGER'"
51 class="navbar-brand d-flex align-items-center"
52 >
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>
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'">
60 <router-link :to="{name: 'favourite_locals', params:{ mode: 'favourites'} }" class="nav-link text-black"
61 >Favourite locals</router-link
62 >
63 </li>
64
65 <li class="nav-item pe-3" v-if="user.data.role === 'ROLE_CUSTOMER'">
66 <router-link to="/my_reservations" class="nav-link text-black"
67 >My reservations</router-link
68 >
69 </li>
70
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'">
75 <router-link :to="`/more_details/${this.managerLocalId}`" class="nav-link text-black"
76 >My Restaurant</router-link
77 >
78 </li>
79
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
84 <li
85 class="nav-item"
86 v-if="user.data.role !== 'ROLE_ADMIN' && user.data.role !== 'UN_AUTHENTICATED'"
87 >
88 <router-link to="/profilePage" class="nav-link text-white">
89 <i class="fa-solid fa-user"></i>
90 {{ user.data.firstName }} {{ user.data.lastName }}
91 </router-link>
92 </li>
93
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>
100 </li>
101
102 <li class="nav-item">
103 <logout_ />
104 </li>
105 </ul>
106 </div>
107 </div>
108 </nav>
109</template>
110
111<style scoped>
112.navbar-brand span {
113 font-size: 1.25rem;
114}
115
116.custom-background-nav {
117 background-color: #5ea5bc;
118}
119
120.navbar-nav .nav-link:hover {
121 color: rgba(255, 255, 255, 0.6) !important;
122}
123</style>
Note: See TracBrowser for help on using the repository browser.