diff --git a/src/app/page.tsx b/src/app/page.tsx index d74ec7b..f75d568 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -3,15 +3,14 @@ import Link from "next/link"; import { AmenityItem } from "@/components/AmenityItem"; import { BookingSearchWidget } from "@/components/BookingSearchWidget"; import { OutletCard } from "@/components/OutletCard"; -import { RoomCard } from "@/components/RoomCard"; +import { CatalogRoomsSection } from "@/components/CatalogRoomsSection"; import { GoogleMapEmbed } from "@/components/GoogleMapEmbed"; import { VirtualTourBlock } from "@/components/VirtualTourBlock"; -import { roomAmenities } from "@/lib/mocks/amenities"; -import { bookingStyleReviews } from "@/lib/mocks/bookingReviews"; -import { outlets } from "@/lib/mocks/outlets"; -import { rooms } from "@/lib/mocks/rooms"; -import { siteConfig } from "@/lib/mocks/site"; -import { wellnessFacilities } from "@/lib/mocks/wellness"; +import { roomAmenities } from "@/lib/data/amenities"; +import { bookingStyleReviews } from "@/lib/data/bookingReviews"; +import { outlets } from "@/lib/data/outlets"; +import { siteConfig } from "@/lib/site-config"; +import { wellnessFacilities } from "@/lib/data/wellness"; const heroImage = "https://images.unsplash.com/photo-1566073771259-6a8506099945?w=1920&q=80"; @@ -164,11 +163,7 @@ export default function HomePage() { Book a room → -
- {rooms.map((room) => ( - - ))} -
+ diff --git a/src/lib/env.ts b/src/lib/env.ts index 79fda7e..5a2acc3 100644 --- a/src/lib/env.ts +++ b/src/lib/env.ts @@ -1,4 +1,3 @@ -/** API origin including /api prefix, e.g. http://localhost:7777/api */ export function getPublicApiUrl(): string { const u = process.env.NEXT_PUBLIC_API_URL?.trim(); if (u) return u.replace(/\/$/, ""); diff --git a/src/lib/format-etb.ts b/src/lib/format-etb.ts new file mode 100644 index 0000000..fb629df --- /dev/null +++ b/src/lib/format-etb.ts @@ -0,0 +1,7 @@ +export function formatEtb(amount: number, maximumFractionDigits: 0 | 1 | 2 = 2): string { + return new Intl.NumberFormat("en-GB", { + style: "currency", + currency: "ETB", + maximumFractionDigits, + }).format(amount); +} diff --git a/src/lib/site-config.ts b/src/lib/site-config.ts new file mode 100644 index 0000000..46e4901 --- /dev/null +++ b/src/lib/site-config.ts @@ -0,0 +1,42 @@ +/** Site-wide static config until CMS / API-backed content exists. */ +export const siteConfig = { + name: "Shitaye Suite Hotel", + tagline: "The Unwinding Choice", + city: "Addis Ababa", + address: "Ethio China Street, Kirkos, Addis Ababa, Ethiopia", + /** Google Maps — search result embed (hotel place). */ + googleMapsEmbedUrl: + "https://www.google.com/maps?q=Shitaye+Suite+Hotel+Addis+Ababa+Ethiopia&output=embed&z=16", + /** Opens Google Maps with directions to the hotel (destination preset). */ + googleMapsDirectionsUrl: + "https://www.google.com/maps/dir/?api=1&destination=Shitaye+Suite+Hotel+Ethio+China+Street+Kirkos+Addis+Ababa+Ethiopia", + /** Place search — opens the hotel pin in Google Maps (not directions mode). */ + googleMapsPlaceUrl: + "https://www.google.com/maps/search/?api=1&query=Shitaye+Suite+Hotel+Addis+Ababa+Ethiopia", + phones: ["+251 96 688 4400", "+251 96 688 2200", "+251 11 46 21000"], + /** Primary number shown on FAB / quick call */ + primaryPhone: "+251 96 688 4400", + email: "reservation@shitayesuitehotel.com", + /** Departments (from official site) */ + departments: [ + { label: "Marketing", phones: ["+251 96 688 4400", "+251 96 688 2200"] }, + { label: "Reception", phones: ["+251 11 46 21000"] }, + ], + videoTourUrl: "https://www.youtube.com/watch?v=oH4hH1P7vdM", + hotelTourEmbedUrl: null as string | null, + /** Property listing (guest reviews, photos) */ + bookingComReviewsUrl: "https://www.booking.com/hotel/et/shitaye-suite.html", + /** + * Lobby / lounge photo from the Booking.com gallery (same listing as above). + * Caption on Booking: living area with seating — property-authentic asset. + */ + lobbyImageUrl: + "https://cf.bstatic.com/xdata/images/hotel/max1024x768/536142684.jpg?k=e550cdbc87e2b08b7fd6b261d0c719149024f47369a5f53a628fca9630631bb6&o=", + social: { + facebook: "https://www.facebook.com/shitayesuitehotel/", + twitter: "https://twitter.com/ShitayeSuite", + whatsapp: "https://wa.me/0966884400", + instagram: "https://instagram.com/shitaye_suite_hotel", + }, + taxRate: 0.15, +};