Index: ReserveNGo-frontend/src/components/Project/Auth/logout_.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Auth/logout_.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ ReserveNGo-frontend/src/components/Project/Auth/logout_.vue	(revision 05b1784002c5942e4883d54f442958289358d352)
@@ -21,5 +21,5 @@
       restaurantStore_.clearRestaurant();
     "
-    @click="router.push('/login')"
+    @click="router.push('/')"
     v-if="userStore_.data.role !== 'UN_AUTHENTICATED'"
     class="btn btn-dark"
Index: ReserveNGo-frontend/src/components/Project/Event/event_in_event_listing.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Event/event_in_event_listing.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ ReserveNGo-frontend/src/components/Project/Event/event_in_event_listing.vue	(revision 05b1784002c5942e4883d54f442958289358d352)
@@ -91,7 +91,10 @@
           </button>
 
-          <button class="btn btn-outline-dark">
-            <i class="fas fa-info-circle me-1"></i> View Details
-          </button>
+
+          <router-link :to="`/more_details/${event.localId}`">
+            <button class="btn btn-outline-dark">
+              <i class="fas fa-info-circle me-1"></i> View Details
+            </button>
+          </router-link>
         </div>
       </transition>
Index: ReserveNGo-frontend/src/components/Project/Local/Locale_.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Local/Locale_.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ ReserveNGo-frontend/src/components/Project/Local/Locale_.vue	(revision 05b1784002c5942e4883d54f442958289358d352)
@@ -60,12 +60,4 @@
       cachedLocale: null,
 
-      galleryImages: [
-        'https://images.unsplash.com/photo-1546069901-ba9599a7e63c?w=500',
-        'https://images.unsplash.com/photo-1565299624946-b28f40a0ae38?w=500',
-        'https://images.unsplash.com/photo-1567620905732-2d1ec7ab7445?w=500',
-        'https://images.unsplash.com/photo-1555939594-58d7cb561ad1?w=500',
-        'https://images.unsplash.com/photo-1484723051597-626a5d19c0ae?w=500',
-        'https://images.unsplash.com/photo-1482049016688-2d3e1b311543?w=500',
-      ],
 
       //MODAL
@@ -100,4 +92,6 @@
 
       modalOpen: false,
+      // favourites
+      favouriteLocals: [],
     }
   },
@@ -133,8 +127,17 @@
       }
     },
+    // Check if the current locale is in customer's favourites
+    isCurrentLocaleFavourite() {
+      const ids = this.favouriteLocals.map((l) => l.id)
+      return ids.includes(this.locale.id)
+    },
   },
 
   mounted() {
     this.fetchLocaleData()
+    // If user is a customer, load favourite locals for toggle state
+    if (this.userStore?.data?.role === 'ROLE_CUSTOMER') {
+      this.loadFavouriteLocals()
+    }
   },
   methods: {
@@ -187,4 +190,33 @@
     addToFavourites() {
       useCustomer.addFavourite(this.locale.id).catch((error) => console.log(error))
+    },
+    // ====== FAVOURITES (Customer) ======
+    async loadFavouriteLocals() {
+      try {
+        const data = await useCustomer.getFavouriteLocals()
+        this.favouriteLocals = data || []
+      } catch (err) {
+        console.log('Failed to fetch favourite locals', err)
+        this.favouriteLocals = []
+      }
+    },
+    toggleFavouriteLocal(id) {
+      const isFav = this.favouriteLocals.map((item) => item.id).includes(id)
+      const action = isFav ? useCustomer.removeFavourite(id) : useCustomer.addFavourite(id)
+
+      Promise.resolve(action)
+        .then(() => {
+          if (isFav) {
+            this.favouriteLocals = this.favouriteLocals.filter((fav) => fav.id !== id)
+          } else {
+            // If we have current locale data, push it; otherwise reload favourites
+            if (this.locale && this.locale.id === id) {
+              this.favouriteLocals.push({ ...this.locale })
+            } else {
+              this.loadFavouriteLocals()
+            }
+          }
+        })
+        .catch((err) => console.log('Error toggling favourite local:', err))
     },
     uploadLogo(fileInput) {
@@ -401,9 +433,5 @@
           <PhotosGridSystem
             :openImageModal="openImageModal"
-            :images="
-              locale.localPhotos.length === 0
-                ? galleryImages.slice(0, 5)
-                : fullPicturesUrls.slice(0, 5)
-            "
+            :images="fullPicturesUrls.slice(0, 5)"
           ></PhotosGridSystem>
           <ManagerFileInput
@@ -658,6 +686,10 @@
                 ></make-reservation-modal>
 
-                <button class="btn btn-outline-danger" @click="addToFavourites">
-                  <i class="fas fa-heart me-1"></i> Add to Favourites
+                <button
+                  :class="['btn', isCurrentLocaleFavourite ? 'btn-danger' : 'btn-outline-danger']"
+                  @click="toggleFavouriteLocal(locale.id)"
+                >
+                  <i :class="[isCurrentLocaleFavourite ? 'fas' : 'far', 'fa-heart', 'me-1']"></i>
+                  {{ isCurrentLocaleFavourite ? 'Remove from Favourites' : 'Add to Favourites' }}
                 </button>
               </template>
Index: serveNGo-frontend/src/components/Project/Local/Locale_details.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Local/Locale_details.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ 	(revision )
@@ -1,73 +1,0 @@
-<script>
-import { restaurantStore } from '@/PiniaStores/restaurantStore.js'
-import noImg from '@/assets/no-img.png'
-
-export default {
-  data() {
-    return {
-      restaurant: {
-        name: '',
-        address: '',
-      },
-      restaurantStore: restaurantStore(),
-    }
-  },
-  methods: {
-    onImageError(event) {
-      event.target.src = noImg
-    },
-  },
-}
-</script>
-
-<template>
-  <div id="container" class="p-4 py-5 rounded shadow-sm mt-5">
-    <div class="d-flex align-items-center mb-3">
-      <img
-        :src="restaurantStore.logo"
-        alt="Logo"
-        class="me-3"
-        style="width: 60px; height: 60px; object-fit: cover; border-radius: 8px"
-        @error="onImageError"
-      />
-      <h4 class="mb-0">{{ restaurantStore.name }}</h4>
-    </div>
-
-    <p class="mb-2">
-      <i class="fas fa-clock me-2 text-secondary"></i>
-      <strong>Working hours:</strong> {{ restaurantStore.workingHours }}
-    </p>
-
-    <p class="mb-2">
-      <i class="fas fa-map-marker-alt me-2 text-secondary"></i>
-      <strong>Address:</strong> {{ restaurantStore.address }}
-    </p>
-
-    <p class="mb-3">
-      <i class="fas fa-star me-2 text-warning"></i>
-      <strong>Rating:</strong> {{ restaurantStore.ratingAvg }}
-    </p>
-
-    <div>
-      <router-link :to="`/more_details/${restaurantStore.id}`">
-        <button class="btn btn-outline-dark me-2">
-          <i class="fas fa-info-circle me-1"></i> More details
-        </button>
-      </router-link>
-
-      <button class="btn btn-dark">
-        <i class="fas fa-calendar-check me-1"></i> Make reservation
-      </button>
-    </div>
-  </div>
-</template>
-
-<style scoped>
-#container {
-  font-size: 1rem;
-  margin: 30px auto;
-  border-left: 3px solid #8377d1;
-  background-color: #fff;
-  height: 100%;
-}
-</style>
Index: ReserveNGo-frontend/src/components/Project/Local/local_in_local_listing.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Local/local_in_local_listing.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ ReserveNGo-frontend/src/components/Project/Local/local_in_local_listing.vue	(revision 05b1784002c5942e4883d54f442958289358d352)
@@ -110,5 +110,6 @@
             :class="{ active: isFavoured }"
             @click.stop="addToFavorites"
-          >
+            v-if="userStore_.isCustomer"
+          > <i class="fas fa-heart me-1"></i>
             {{ isFavoured ? 'Remove from Favourites' : 'Add to Favourites' }}
           </button>
Index: ReserveNGo-frontend/src/components/Project/Manager/locale-not-assigned.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Manager/locale-not-assigned.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ ReserveNGo-frontend/src/components/Project/Manager/locale-not-assigned.vue	(revision 05b1784002c5942e4883d54f442958289358d352)
@@ -2,8 +2,15 @@
 
 <template>
-  <h1 class="h-100 d-flex justify-content-center align-items-center text-center">
-    No assigned Locale
-  </h1>
+  <div class="h-100 d-flex justify-content-center align-items-center">
+    <div class="text-center p-4">
+      <i class="fa-solid fa-store-slash fa-3x text-muted mb-3"></i>
+
+      <h3 class="fw-semibold mb-2 text-danger">No Local Assigned</h3>
+
+      <p class="text-muted mb-0">You are currently not assigned to any local.</p>
+    </div>
+  </div>
 </template>
 
-<style scoped></style>
+<style scoped>
+</style>
Index: ReserveNGo-frontend/src/components/Project/Reservation/reservation_.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Reservation/reservation_.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ ReserveNGo-frontend/src/components/Project/Reservation/reservation_.vue	(revision 05b1784002c5942e4883d54f442958289358d352)
@@ -31,5 +31,5 @@
     logoUrl() {
       const path = this.reservation.localLogo
-      if (!path) return 'https://placehold.co/64x64?text=Logo'
+      if (!path) return noImg
       try {
         const url = new URL(path, config.API_BASE_URL)
Index: ReserveNGo-frontend/src/components/Project/Utility/ManagerFileInput.vue
===================================================================
--- ReserveNGo-frontend/src/components/Project/Utility/ManagerFileInput.vue	(revision 340ce98818e9650ec90b4ad1bef97839782279a1)
+++ ReserveNGo-frontend/src/components/Project/Utility/ManagerFileInput.vue	(revision 05b1784002c5942e4883d54f442958289358d352)
@@ -37,5 +37,5 @@
 import LoadingIcon from '@/components/Project/Utility/LoadingIcon.vue'
 export default {
-  name: 'CustomFileInput',
+  name: 'ManagerFileInput',
   components: {
     LoadingIcon,
