3 Commits

Author SHA1 Message Date
70a1fc796e Update theme fonts 2026-05-08 16:48:27 +00:00
9fc31b0bf0 Update theme fonts 2026-05-08 16:48:26 +00:00
7f80d3efd8 Update theme colors 2026-05-08 16:47:39 +00:00
4 changed files with 217 additions and 65 deletions

View File

@@ -7,6 +7,8 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
import { getVisualEditScript } from "@/utils/visual-edit-script";
import { Open_Sans } from "next/font/google";
import { Manrope } from "next/font/google";
import { DM_Sans } from "next/font/google";
@@ -21,8 +23,13 @@ export const metadata: Metadata = {
},
};
const openSans = Open_Sans({
variable: "--font-open-sans",
const manrope = Manrope({
variable: "--font-manrope",
subsets: ["latin"],
});
const dmSans = DM_Sans({
variable: "--font-dm-sans",
subsets: ["latin"],
});
@@ -34,7 +41,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body className={`${openSans.variable} antialiased`}>
<body className={`${manrope.variable} ${dmSans.variable} antialiased`}>
<Tag />
{children}
<script

View File

@@ -6,7 +6,7 @@ import ContactSplit from '@/components/sections/contact/ContactSplit';
import FaqDouble from '@/components/sections/faq/FaqDouble';
import FeatureCardTwentyOne from '@/components/sections/feature/FeatureCardTwentyOne';
import FooterCard from '@/components/sections/footer/FooterCard';
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
@@ -33,38 +33,84 @@ export default function LandingPage() {
<NavbarStyleCentered
navItems={[
{
name: "Experience", id: "#hero"},
name: "Experience",
id: "#hero",
},
{
name: "Tradition", id: "#about"},
name: "Tradition",
id: "#about",
},
{
name: "Grill", id: "#menu"},
name: "Grill",
id: "#menu",
},
{
name: "Reserve", id: "#contact"},
name: "Reserve",
id: "#contact",
},
]}
brandName="Fahm wa Lahm"
/>
</div>
<div id="hero" data-section="hero">
<HeroBillboardCarousel
<HeroBillboard
background={{
variant: "radial-gradient"}}
variant: "radial-gradient",
}}
title="The Art of Flame The Soul of Grain"
description="Experience premium charcoal-fired grilling where Salti heritage meets modern luxury. Every meal is a generation of tradition reimagined."
buttons={[
{
text: "Reserve Your Experience", href: "#contact"},
text: "Reserve Your Experience",
href: "#contact",
},
]}
mediaItems={[
imageSrc="http://img.b2bpic.net/free-photo/beef-pashtet-with-lettuce-leaves-tomato_114579-2534.jpg"
mediaAnimation="blur-reveal"
avatars={[
{
imageSrc: "http://img.b2bpic.net/free-photo/beef-pashtet-with-lettuce-leaves-tomato_114579-2534.jpg", imageAlt: "Beef pashtet"
src: "http://img.b2bpic.net/free-photo/stick-kebab-finely-cooked-served-with-orange-sauce_114579-1722.jpg",
alt: "Stick kebab finely cooked and served with orange sauce",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/stick-kebab-finely-cooked-served-with-orange-sauce_114579-1722.jpg", imageAlt: "Stick kebab"
src: "http://img.b2bpic.net/free-photo/close-up-hands-preparing-barbecue_23-2148965334.jpg",
alt: "Close up hands preparing barbecue",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-preparing-barbecue_23-2148965334.jpg", imageAlt: "Barbecue preparation"
}
src: "http://img.b2bpic.net/free-photo/traditional-japanese-food-grill_23-2148759598.jpg",
alt: "Traditional japanese food on the grill",
},
{
src: "http://img.b2bpic.net/free-photo/hot-bread-tendir-furnace_140725-1372.jpg",
alt: "Hot bread in tendir furnace",
},
{
src: "http://img.b2bpic.net/free-photo/delicacy-shrimp-grill-camping-meal_23-2148301289.jpg",
alt: "Delicacy shrimp grill for camping meal",
},
]}
marqueeItems={[
{
type: "text",
text: "Artisanal Charcoal",
},
{
type: "text",
text: "Salti Heritage",
},
{
type: "text",
text: "Premium Ingredients",
},
{
type: "text",
text: "Modern Luxury",
},
{
type: "text",
text: "Fire-Crafted",
},
]}
/>
</div>
@@ -89,11 +135,20 @@ export default function LandingPage() {
description="We believe in transparency and the inherent quality of nature."
accordionItems={[
{
id: "1", title: "Sourced with Purpose", content: "We partner with local Jordanian farmers who respect the land, ensuring every piece of grain and livestock is sustainably raised."},
id: "1",
title: "Sourced with Purpose",
content: "We partner with local Jordanian farmers who respect the land, ensuring every piece of grain and livestock is sustainably raised.",
},
{
id: "2", title: "Traditional Charring", content: "Our signature flavor is achieved through traditional charcoal firing techniques that preserve the natural tenderness of every protein."},
id: "2",
title: "Traditional Charring",
content: "Our signature flavor is achieved through traditional charcoal firing techniques that preserve the natural tenderness of every protein.",
},
{
id: "3", title: "A Modern Sanctuary", content: "Designed with a contemporary aesthetic, our space honors Jordanian architecture while offering the comforts of modern luxury hospitality."},
id: "3",
title: "A Modern Sanctuary",
content: "Designed with a contemporary aesthetic, our space honors Jordanian architecture while offering the comforts of modern luxury hospitality.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/served-dinner-table-restaurant_23-2148086091.jpg"
mediaAnimation="slide-up"
@@ -107,28 +162,59 @@ export default function LandingPage() {
useInvertedBackground={false}
testimonials={[
{
id: "1", name: "Nour H.", role: "Food Critic", company: "Amman Culinary Society", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-close-up-portrait-beautiful-black-skinned-woman-wearing-blouse-flower-headband-enjoying-dinner-while-eating-restaurant_613910-5625.jpg"},
id: "1",
name: "Nour H.",
role: "Food Critic",
company: "Amman Culinary Society",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/happy-close-up-portrait-beautiful-black-skinned-woman-wearing-blouse-flower-headband-enjoying-dinner-while-eating-restaurant_613910-5625.jpg",
},
{
id: "2", name: "Khalid M.", role: "Architect", company: "Salt Design Lab", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/girl-is-sitting-table-restaurant-drink-wine-enjoy-scent-roses-flower-waiting-date_496169-221.jpg"},
id: "2",
name: "Khalid M.",
role: "Architect",
company: "Salt Design Lab",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/girl-is-sitting-table-restaurant-drink-wine-enjoy-scent-roses-flower-waiting-date_496169-221.jpg",
},
{
id: "3", name: "Sarah A.", role: "Creative Director", company: "Studio 962", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/crazy-chef-happy-expression_1194-1320.jpg"},
id: "3",
name: "Sarah A.",
role: "Creative Director",
company: "Studio 962",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/crazy-chef-happy-expression_1194-1320.jpg",
},
{
id: "4", name: "Yousef T.", role: "Gastronomy Blogger", company: "Jordan Eats", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/kebab-served-with-chopped-onion-piece-lemon-red-wine_140725-4164.jpg"},
id: "4",
name: "Yousef T.",
role: "Gastronomy Blogger",
company: "Jordan Eats",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/kebab-served-with-chopped-onion-piece-lemon-red-wine_140725-4164.jpg",
},
{
id: "5", name: "Lina K.", role: "Community Leader", company: "As-Salt Heritage", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-arab-dish-restaurant_23-2147794235.jpg"},
id: "5",
name: "Lina K.",
role: "Community Leader",
company: "As-Salt Heritage",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-arab-dish-restaurant_23-2147794235.jpg",
},
]}
kpiItems={[
{
value: "12k+", label: "Satisfied Guests"},
value: "12k+",
label: "Satisfied Guests",
},
{
value: "4.9", label: "Average Rating"},
value: "4.9",
label: "Average Rating",
},
{
value: "100%", label: "Local Sourced"},
value: "100%",
label: "Local Sourced",
},
]}
title="A Legacy of Delight"
description="What our guests say about their journey through the flame."
@@ -143,23 +229,59 @@ export default function LandingPage() {
useInvertedBackground={true}
products={[
{
id: "1", brand: "Signature", name: "Salti Charcoal Lamb", price: "12 JOD", rating: 5,
reviewCount: "120", imageSrc: "http://img.b2bpic.net/free-photo/cabbage-dolma-with-quince-chestnut_140725-2026.jpg"},
id: "1",
brand: "Signature",
name: "Salti Charcoal Lamb",
price: "12 JOD",
rating: 5,
reviewCount: "120",
imageSrc: "http://img.b2bpic.net/free-photo/cabbage-dolma-with-quince-chestnut_140725-2026.jpg",
},
{
id: "2", brand: "Classic", name: "Flame-Kissed Skewers", price: "9 JOD", rating: 5,
reviewCount: "85", imageSrc: "http://img.b2bpic.net/free-photo/spicy-grilled-kebab-skewer-with-vegetables-smoke_84443-82602.jpg"},
id: "2",
brand: "Classic",
name: "Flame-Kissed Skewers",
price: "9 JOD",
rating: 5,
reviewCount: "85",
imageSrc: "http://img.b2bpic.net/free-photo/spicy-grilled-kebab-skewer-with-vegetables-smoke_84443-82602.jpg",
},
{
id: "3", brand: "Fresh", name: "Seasonal Garden Mezze", price: "6 JOD", rating: 4,
reviewCount: "92", imageSrc: "http://img.b2bpic.net/free-photo/side-view-smoked-fish-plate-balyk-salmon-with-herbs-pomegranate-lemon-slices_141793-5099.jpg"},
id: "3",
brand: "Fresh",
name: "Seasonal Garden Mezze",
price: "6 JOD",
rating: 4,
reviewCount: "92",
imageSrc: "http://img.b2bpic.net/free-photo/side-view-smoked-fish-plate-balyk-salmon-with-herbs-pomegranate-lemon-slices_141793-5099.jpg",
},
{
id: "4", brand: "Signature", name: "Heritage Date Dessert", price: "5 JOD", rating: 5,
reviewCount: "45", imageSrc: "http://img.b2bpic.net/free-photo/top-view-dark-white-chocolate-bars-with-cinnamon-sticks-wooden-board-with-dried-fruits-walnuts-black-with-copy-space_141793-7474.jpg"},
id: "4",
brand: "Signature",
name: "Heritage Date Dessert",
price: "5 JOD",
rating: 5,
reviewCount: "45",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-dark-white-chocolate-bars-with-cinnamon-sticks-wooden-board-with-dried-fruits-walnuts-black-with-copy-space_141793-7474.jpg",
},
{
id: "5", brand: "Vegetarian", name: "Charred Root Selection", price: "7 JOD", rating: 4,
reviewCount: "60", imageSrc: "http://img.b2bpic.net/free-photo/roasted-vegetables-baking-tray_123827-36271.jpg"},
id: "5",
brand: "Vegetarian",
name: "Charred Root Selection",
price: "7 JOD",
rating: 4,
reviewCount: "60",
imageSrc: "http://img.b2bpic.net/free-photo/roasted-vegetables-baking-tray_123827-36271.jpg",
},
{
id: "6", brand: "Sides", name: "Artisan Tandoor Bread", price: "2 JOD", rating: 5,
reviewCount: "200", imageSrc: "http://img.b2bpic.net/free-photo/corat-gutabs-with-meat-wooden-board_140725-3092.jpg"},
id: "6",
brand: "Sides",
name: "Artisan Tandoor Bread",
price: "2 JOD",
rating: 5,
reviewCount: "200",
imageSrc: "http://img.b2bpic.net/free-photo/corat-gutabs-with-meat-wooden-board_140725-3092.jpg",
},
]}
title="Our Prime Selection"
description="Discover dishes redefined by the fire."
@@ -173,11 +295,20 @@ export default function LandingPage() {
tag="Milestones"
metrics={[
{
id: "m1", value: "15+", description: "Years of experience"},
id: "m1",
value: "15+",
description: "Years of experience",
},
{
id: "m2", value: "450", description: "Daily charcoal fires"},
id: "m2",
value: "450",
description: "Daily charcoal fires",
},
{
id: "m3", value: "24k", description: "Meals served annually"},
id: "m3",
value: "24k",
description: "Meals served annually",
},
]}
metricsAnimation="slide-up"
/>
@@ -189,11 +320,20 @@ export default function LandingPage() {
useInvertedBackground={true}
faqs={[
{
id: "f1", title: "How do I make a reservation?", content: "You can reach us directly via WhatsApp for quick and personal table bookings."},
id: "f1",
title: "How do I make a reservation?",
content: "You can reach us directly via WhatsApp for quick and personal table bookings.",
},
{
id: "f2", title: "Do you accommodate dietary needs?", content: "Yes, our team is happy to accommodate vegetarian, gluten-free, or special allergy requests upon booking."},
id: "f2",
title: "Do you accommodate dietary needs?",
content: "Yes, our team is happy to accommodate vegetarian, gluten-free, or special allergy requests upon booking.",
},
{
id: "f3", title: "Can you host private events?", content: "We offer dedicated private dining packages for corporate groups and special celebrations."},
id: "f3",
title: "Can you host private events?",
content: "We offer dedicated private dining packages for corporate groups and special celebrations.",
},
]}
title="Need Information?"
description="Answers to common questions about our culinary experience."
@@ -205,7 +345,8 @@ export default function LandingPage() {
<ContactSplit
useInvertedBackground={false}
background={{
variant: "plain"}}
variant: "plain",
}}
tag="Reservations"
title="Reserve Your Table"
description="Send us a message via WhatsApp and our team will coordinate your perfect dining experience in As-Salt."
@@ -224,14 +365,18 @@ export default function LandingPage() {
socialLinks={[
{
icon: Instagram,
href: "https://instagram.com", ariaLabel: "Instagram"},
href: "https://instagram.com",
ariaLabel: "Instagram",
},
{
icon: MessageCircle,
href: "https://wa.me/123456789", ariaLabel: "WhatsApp"},
href: "https://wa.me/123456789",
ariaLabel: "WhatsApp",
},
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -11,7 +11,7 @@ html {
body {
background-color: var(--background);
color: var(--foreground);
font-family: var(--font-open-sans), sans-serif;
font-family: var(--font-dm-sans), sans-serif;
position: relative;
min-height: 100vh;
overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4,
h5,
h6 {
font-family: var(--font-open-sans), sans-serif;
font-family: var(--font-manrope), sans-serif;
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #FDF4C5;
--card: #FFFFFF;
--foreground: #0f0022;
--primary-cta: #F06724;
--primary-cta-text: #FFFFFF;
--secondary-cta: #FFDF27;
--secondary-cta-text: #342065;
--accent: #D32B2B;
--background-accent: #FDF4C5;
--background: #ffffff;
--card: #f9f9f9;
--foreground: #120a00e6;
--primary-cta: #FF7B05;
--primary-cta-text: #ffffff;
--secondary-cta: #f9f9f9;
--secondary-cta-text: #120a00e6;
--accent: #e2e2e2;
--background-accent: #FF7B05;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);