Shitaye-FrontEnd/src/lib/mocks/bookingReviews.ts

63 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Illustrative guest reviews shown in the nav — style inspired by Booking.com.
* Replace copy/URLs with live data from your Booking.com property page when available.
*/
export type BookingStyleReview = {
id: string;
author: string;
country: string;
rating: number;
maxRating: number;
title: string;
text: string;
stayDate: string;
roomType: string;
};
export const bookingStyleReviews: BookingStyleReview[] = [
{
id: "1",
author: "Sarah M.",
country: "United Kingdom",
rating: 9.2,
maxRating: 10,
title: "Exceptional stay in Addis",
text: "Spotless suites, attentive team, and a perfect base for meetings. Breakfast at FeastVille was a highlight — well return.",
stayDate: "October 2025",
roomType: "Connecting Suite",
},
{
id: "2",
author: "Daniel K.",
country: "Germany",
rating: 8.8,
maxRating: 10,
title: "Great location & comfort",
text: "Quiet rooms, strong WiFi, and easy access to the city. The junior studio had everything we needed for a week of work.",
stayDate: "September 2025",
roomType: "Junior Studio",
},
{
id: "3",
author: "Hanna T.",
country: "Ethiopia",
rating: 9.6,
maxRating: 10,
title: "Family trip made easy",
text: "We booked the penthouse for a celebration — space, views, and service exceeded expectations. Kids loved the IPTV selection.",
stayDate: "August 2025",
roomType: "4 Bedroom Penthouse",
},
];
export function averageBookingStyleRating(
list: BookingStyleReview[] = bookingStyleReviews,
): number {
if (!list.length) return 0;
const sum = list.reduce((a, r) => a + r.rating, 0);
return Math.round((sum / list.length) * 10) / 10;
}
/** Aggregate score shown in the reviews dialog (out of 5), with circle “star” row */
export const overallRatingOutOfFive = 4.5;