site configs
This commit is contained in:
parent
c4748aa0ee
commit
bcc3a8de15
|
|
@ -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 →
|
||||
</Link>
|
||||
</div>
|
||||
<div className="mt-12 grid gap-8 md:grid-cols-2 lg:grid-cols-4">
|
||||
{rooms.map((room) => (
|
||||
<RoomCard key={room.id} room={room} />
|
||||
))}
|
||||
</div>
|
||||
<CatalogRoomsSection />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -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(/\/$/, "");
|
||||
|
|
|
|||
7
src/lib/format-etb.ts
Normal file
7
src/lib/format-etb.ts
Normal file
|
|
@ -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);
|
||||
}
|
||||
42
src/lib/site-config.ts
Normal file
42
src/lib/site-config.ts
Normal file
|
|
@ -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,
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user