From dfee300149f885ab0ea1f9e165c5732799313bf8 Mon Sep 17 00:00:00 2001 From: sc02613 <sc02613@surrey.ac.uk> Date: Thu, 22 May 2025 23:07:49 +0100 Subject: [PATCH] User Reviews display on film --- movie-group-8/src/views/FilmDetails.vue | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/movie-group-8/src/views/FilmDetails.vue b/movie-group-8/src/views/FilmDetails.vue index 8194f5c..d2b8e33 100644 --- a/movie-group-8/src/views/FilmDetails.vue +++ b/movie-group-8/src/views/FilmDetails.vue @@ -43,6 +43,19 @@ > Review this Film </RouterLink> + <div class="mt-6 reviews-section"> + <h2 class="text-xl mb-2 text-white">User Reviews</h2> + <div v-if="reviewsLoading" class="text-gray-400">Loading reviews…</div> + <div v-else-if="!reviews.length" class="text-gray-400">No reviews yet.</div> + <ul v-else class="space-y-4"> + <li v-for="(r, i) in reviews" :key="i" class="bg-neutral-800 p-4 rounded"> + <div class="flex items-center mb-1"> + <span class="font-semibold text-white mr-2">{{ r.rating }}★</span> + </div> + <p class="text-gray-200">{{ r.text }}</p> + </li> + </ul> + </div> </div> </div> </div> @@ -52,12 +65,16 @@ import { ref, onMounted } from 'vue' import { useRoute } from 'vue-router' import { addToWatchlist } from '@/composables/useWatchlist.js' +import { getAllReviews } from '@/composables/useReviews.js' + const route = useRoute() const movie = ref(null) const trailerUrl = ref('') const loading = ref(true) const error = ref('') +const reviews = ref([]) +const reviewsLoading = ref(true) function formatDate(dateString) { if (!dateString) return 'Unknown' @@ -100,7 +117,16 @@ onMounted(async () => { const id = route.params.id await fetchMovieDetails(id) await fetchMovieVideos(id) - loading.value = false + try { + const res = await getAllReviews(id) + console.log('Raw reviews from Firestore:', res) + reviews.value = res + } catch (revErr) { + console.error('Failed to load reviews', revErr) + } finally { + reviewsLoading.value = false + loading.value = false + } }) </script> -- GitLab