Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9e47dc1f2f | |||
| 8a6f2a8ca3 | |||
| 17c73ed1c8 |
@@ -6,26 +6,20 @@ import "@/lib/gsap-setup";
|
||||
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 { DM_Sans } from "next/font/google";
|
||||
|
||||
|
||||
|
||||
export const metadata: Metadata = { title: 'FEDERICO | Authentic Italian Dining in Tunis', description: 'Experience the finest Italian cuisine at FEDERICO in Tunis. Join us for an exquisite dining experience featuring authentic flavors, elegant ambiance, and premium service.' };
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const dmSans = DM_Sans({
|
||||
variable: "--font-dm-sans",
|
||||
const halant = Halant({
|
||||
variable: "--font-halant",
|
||||
subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
variable: "--font-inter",
|
||||
subsets: ["latin"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = { title: 'FEDERICO | Authentic Italian Dining in Tunis', description: 'Experience the finest Italian cuisine at FEDERICO in Tunis. Join us for an exquisite dining experience featuring authentic flavors, elegant ambiance, and premium service.' };
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
@@ -34,7 +28,9 @@ export default function RootLayout({
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body className={`${dmSans.variable} ${inter.variable} antialiased`}>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
<script
|
||||
|
||||
111
src/app/page.tsx
111
src/app/page.tsx
@@ -1,17 +1,15 @@
|
||||
"use client";
|
||||
|
||||
import ReactLenis from "lenis/react";
|
||||
import HeroCarouselLogo from "@/components/sections/hero/heroCarouselLogo/HeroCarouselLogo";
|
||||
import InlineImageSplitTextAbout from "@/components/sections/about/InlineImageSplitTextAbout";
|
||||
import FeatureCardOne from "@/components/sections/feature/FeatureCardOne";
|
||||
import FeatureCardNine from "@/components/sections/feature/FeatureCardNine";
|
||||
import FeatureCardMedia from "@/components/sections/feature/FeatureCardMedia";
|
||||
import TestimonialCardFive from "@/components/sections/testimonial/TestimonialCardFive";
|
||||
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||
import FooterCard from "@/components/sections/footer/FooterCard";
|
||||
import HeroLogo from "@/components/sections/hero/HeroLogo";
|
||||
import SplitAbout from "@/components/sections/about/SplitAbout";
|
||||
import FeatureCardSeven from "@/components/sections/feature/FeatureCardSeven";
|
||||
import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen";
|
||||
import ContactSplit from "@/components/sections/contact/ContactSplit";
|
||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||
import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { Sparkles, Utensils, MapPin, Instagram, Facebook, Linkedin } from "lucide-react";
|
||||
import { Utensils } from "lucide-react";
|
||||
|
||||
export default function FedericoRestaurantPage() {
|
||||
return (
|
||||
@@ -28,40 +26,93 @@ export default function FedericoRestaurantPage() {
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingInline
|
||||
navItems={[
|
||||
{ name: "Overview", id: "/" },
|
||||
{ name: "Gallery", id: "/gallery" },
|
||||
{ name: "Reservations", id: "/reservations" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
{ name: "Overview", id: "overview" },
|
||||
{ name: "Menu", id: "menu" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
]}
|
||||
brandName="FEDERICO"
|
||||
button={{ text: "Book Table", href: "/reservations" }}
|
||||
button={{ text: "Reservations", href: "#contact" }}
|
||||
/>
|
||||
<HeroCarouselLogo
|
||||
</div>
|
||||
<div id="overview" data-section="overview">
|
||||
<HeroLogo
|
||||
logoText="FEDERICO"
|
||||
description="Authentic Italian flavors in the heart of Tunis. Join us for a refined culinary experience at Immeuble El Majd."
|
||||
buttons={[
|
||||
{ text: "View Menu", href: "/" },
|
||||
{ text: "Directions", href: "/contact" },
|
||||
]}
|
||||
slides={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/waiter-is-serving-dinner-two-pretty-friends-women-elegant-restaurant_8353-10575.jpg", imageAlt: "Elegant Italian restaurant dining" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/delicious-penne-pasta-with-tomato-sauce-fresh-basil-grated-parmesan-cheese_84443-81547.jpg", imageAlt: "Gourmet pasta dish" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/glass-sparking-wine_1339-4221.jpg", imageAlt: "Wine pairing experience" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/decorated-wedding-reception-venue-with-view-sea-through-windows_637285-1001.jpg", imageAlt: "Warm restaurant ambiance" },
|
||||
{ text: "View Menu", href: "#menu" },
|
||||
{ text: "Directions", href: "#contact" },
|
||||
]}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DdIwT7IHWcCqb6UBtzr3xax2lB/uploaded-1778607880091-ae9age3h.jpg"
|
||||
imageAlt="Elegant Italian restaurant dining"
|
||||
showDimOverlay={true}
|
||||
/>
|
||||
<FooterCard
|
||||
logoText="FEDERICO"
|
||||
copyrightText="© 2025 FEDERICO Restaurant. 1 Rue du Lac de Constance, Tunis."
|
||||
socialLinks={[
|
||||
{ icon: Instagram, href: "#", ariaLabel: "Instagram" },
|
||||
{ icon: Facebook, href: "#", ariaLabel: "Facebook" },
|
||||
{ icon: Linkedin, href: "#", ariaLabel: "LinkedIn" },
|
||||
</div>
|
||||
<div id="about" data-section="about">
|
||||
<SplitAbout
|
||||
title="We craft authentic culinary masterpieces"
|
||||
description="Using the finest Mediterranean ingredients for a unique experience."
|
||||
buttons={[{ text: "Learn Our Story", href: "#about" }]}
|
||||
useInvertedBackground={false}
|
||||
mediaAnimation="slide-up"
|
||||
textboxLayout="inline-image"
|
||||
bulletPoints={[
|
||||
{ title: "Authentic Recipes", description: "Generations of Italian tradition." },
|
||||
{ title: "Fresh Ingredients", description: "Sourced from the best local providers." }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<div id="menu" data-section="menu">
|
||||
<FeatureCardSeven
|
||||
tag="Menu"
|
||||
tagIcon={Utensils}
|
||||
title="A Taste of Italy"
|
||||
description="Traditional recipes prepared with modern elegance and fresh local produce."
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
features={[
|
||||
{ title: "Handmade Pasta", description: "Fresh daily pasta crafted using authentic techniques.", imageSrc: "http://img.b2bpic.net/free-photo/pasta-near-eggs-flour_23-2147849810.jpg", imageAlt: "Pasta" },
|
||||
{ title: "Wood-Fired Pizza", description: "Authentic thin-crust pizzas with premium Italian toppings.", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-chef-baking-pizza-wood-fired-oven_52683-106696.jpg", imageAlt: "Pizza" },
|
||||
{ title: "Exquisite Seafood", description: "Fresh catch of the day prepared with Mediterranean herbs.", imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-mussels-white-sauce-with-tablecloth-cutlery_23-2148234931.jpg", imageAlt: "Seafood" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<div id="reviews" data-section="reviews">
|
||||
<TestimonialCardFifteen
|
||||
testimonial="Truly authentic flavors that transport you directly to Rome. Exceptional service and a beautiful setting."
|
||||
rating={5}
|
||||
author="Sami Ben Youssef"
|
||||
avatars={[{ src: "http://img.b2bpic.net/free-photo/close-up-young-businesswoman_23-2149153828.jpg", alt: "Sami" }]}
|
||||
ratingAnimation="slide-up"
|
||||
avatarsAnimation="slide-up"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplit
|
||||
tag="Reservations"
|
||||
title="Connect With Us"
|
||||
description="Need a reservation or have an inquiry? Get in touch today."
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/view-table-arrangement-by-wedding-planner_23-2150167204.jpg"
|
||||
imageAlt="Contact Us"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
/>
|
||||
</div>
|
||||
<FooterSimple
|
||||
columns={[
|
||||
{ title: "Federico", items: [{ label: "Home", href: "/" }, { label: "Contact", href: "#contact" }] }
|
||||
]}
|
||||
bottomLeftText="© 2025 FEDERICO Restaurant."
|
||||
bottomRightText="1 Rue du Lac de Constance, Tunis."
|
||||
/>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
--accent: #ffffff;
|
||||
--background-accent: #ffffff; */
|
||||
|
||||
--background: #f6f0e9;
|
||||
--card: #efe7dd;
|
||||
--foreground: #2b180a;
|
||||
--primary-cta: #2b180a;
|
||||
--primary-cta-text: #f6f0e9;
|
||||
--secondary-cta: #efe7dd;
|
||||
--secondary-cta-text: #2b180a;
|
||||
--accent: #94877c;
|
||||
--background-accent: #afa094;
|
||||
--background: #ffffff;
|
||||
--card: #f9f9f9;
|
||||
--foreground: #000612e6;
|
||||
--primary-cta: #15479c;
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: #f9f9f9;
|
||||
--secondary-cta-text: #000612e6;
|
||||
--accent: #e2e2e2;
|
||||
--background-accent: #c4c4c4;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user