Merge version_1 into main #2
@@ -9,10 +9,10 @@ import Link from "next/link";
|
||||
export default function GalleryPage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Menu", id: "menu" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "Gallery", id: "/gallery" },
|
||||
{ name: "About", id: "/about" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "About", id: "#about" },
|
||||
{ name: "Contact", id: "#contact" },
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -22,7 +22,7 @@ export default function GalleryPage() {
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="largeSmall"
|
||||
background="noiseDiagonalGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-mesh"
|
||||
primaryButtonStyle="radial-glow"
|
||||
secondaryButtonStyle="solid"
|
||||
@@ -47,42 +47,25 @@ export default function GalleryPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Restaurant Interior",
|
||||
description:
|
||||
"Experience the elegance of our dining spaces adorned with traditional Moroccan architecture, intricate zellige tilework, and warm golden lighting.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/woman-arranging-dishware-table-restaurant_23-2147936226.jpg?_wi=2",
|
||||
imageAlt: "Restaurant interior with Moroccan decor",
|
||||
},
|
||||
title: "Restaurant Interior", description:
|
||||
"Experience the elegance of our dining spaces adorned with traditional Moroccan architecture, intricate zellige tilework, and warm golden lighting.", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/woman-arranging-dishware-table-restaurant_23-2147936226.jpg", imageAlt: "Restaurant interior with Moroccan decor"},
|
||||
{
|
||||
id: 2,
|
||||
title: "Traditional Elements",
|
||||
description:
|
||||
"Every corner of La Cote celebrates Moroccan heritage—from ornate brass lanterns to carved wooden doors that tell stories of centuries past.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/top-view-arab-dish_23-2147794277.jpg?_wi=2",
|
||||
imageAlt: "Traditional Moroccan architectural details",
|
||||
},
|
||||
title: "Traditional Elements", description:
|
||||
"Every corner of La Cote celebrates Moroccan heritage—from ornate brass lanterns to carved wooden doors that tell stories of centuries past.", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/top-view-arab-dish_23-2147794277.jpg", imageAlt: "Traditional Moroccan architectural details"},
|
||||
{
|
||||
id: 3,
|
||||
title: "Culinary Presentations",
|
||||
description:
|
||||
"Our chefs transform traditional recipes into visual masterpieces. Each plate is arranged with artistic precision and presented with pride.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/turkish-delight-with-tea-glass-table_23-2148088400.jpg?_wi=2",
|
||||
imageAlt: "Beautifully plated Moroccan dishes",
|
||||
},
|
||||
title: "Culinary Presentations", description:
|
||||
"Our chefs transform traditional recipes into visual masterpieces. Each plate is arranged with artistic precision and presented with pride.", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/turkish-delight-with-tea-glass-table_23-2148088400.jpg", imageAlt: "Beautifully plated Moroccan dishes"},
|
||||
{
|
||||
id: 4,
|
||||
title: "Fresh Ingredients",
|
||||
description:
|
||||
"We source the finest ingredients from local Moroccan markets. Our commitment to quality begins with the selection of every spice and produce.",
|
||||
imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/horizontal-view-dinner-preparation-with-various-peppers-yellow-pea-green-stripped-towel_140725-94585.jpg",
|
||||
imageAlt: "Fresh Moroccan market ingredients",
|
||||
},
|
||||
title: "Fresh Ingredients", description:
|
||||
"We source the finest ingredients from local Moroccan markets. Our commitment to quality begins with the selection of every spice and produce.", imageSrc:
|
||||
"http://img.b2bpic.net/free-photo/horizontal-view-dinner-preparation-with-various-peppers-yellow-pea-green-stripped-towel_140725-94585.jpg", imageAlt: "Fresh Moroccan market ingredients"},
|
||||
]}
|
||||
animationType="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -90,13 +73,9 @@ export default function GalleryPage() {
|
||||
<FooterLogoReveal
|
||||
logoText="La Cote"
|
||||
leftLink={{
|
||||
text: "Privacy Policy",
|
||||
href: "#",
|
||||
}}
|
||||
text: "Privacy Policy", href: "#"}}
|
||||
rightLink={{
|
||||
text: "Terms of Service",
|
||||
href: "#",
|
||||
}}
|
||||
text: "Terms of Service", href: "#"}}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
|
||||
110
src/app/page.tsx
110
src/app/page.tsx
@@ -14,9 +14,9 @@ export default function HomePage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Menu", id: "/menu" },
|
||||
{ name: "Gallery", id: "gallery" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Contact", id: "contact" },
|
||||
{ name: "Gallery", id: "/gallery" },
|
||||
{ name: "About", id: "#about" },
|
||||
{ name: "Contact", id: "#contact" },
|
||||
];
|
||||
|
||||
return (
|
||||
@@ -26,7 +26,7 @@ export default function HomePage() {
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="largeSmall"
|
||||
background="noiseDiagonalGradient"
|
||||
background="circleGradient"
|
||||
cardStyle="gradient-mesh"
|
||||
primaryButtonStyle="radial-glow"
|
||||
secondaryButtonStyle="solid"
|
||||
@@ -46,12 +46,12 @@ export default function HomePage() {
|
||||
title="Cafe Restaurant La Cote"
|
||||
description="Enjoy delicious food and drinks in a beautiful atmosphere in Asilah. Experience authentic Moroccan cuisine crafted with passion and tradition."
|
||||
tag="Moroccan Cuisine"
|
||||
background={{ variant: "noiseDiagonalGradient" }}
|
||||
background={{ variant: "plain" }}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/part-home-kitchen-table-setting-with-gray-plates-bouquet-vase_169016-15715.jpg"
|
||||
imageAlt="Elegant Moroccan restaurant interior"
|
||||
buttons={[
|
||||
{ text: "View Menu", href: "/menu" },
|
||||
{ text: "Contact Us", href: "/contact" },
|
||||
{ text: "Contact Us", href: "#contact" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -67,35 +67,14 @@ export default function HomePage() {
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
products={[
|
||||
{
|
||||
id: "1",
|
||||
brand: "La Cote",
|
||||
name: "Lamb Tagine",
|
||||
price: "250 DH",
|
||||
rating: 5,
|
||||
reviewCount: "324",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/caucasian-sac-ichi-with-meat-potatoes-served-with-green-olives_114579-8628.jpg",
|
||||
imageAlt: "Traditional lamb tagine with spices",
|
||||
},
|
||||
id: "1", brand: "La Cote", name: "Lamb Tagine", price: "250 DH", rating: 5,
|
||||
reviewCount: "324", imageSrc: "http://img.b2bpic.net/free-photo/caucasian-sac-ichi-with-meat-potatoes-served-with-green-olives_114579-8628.jpg", imageAlt: "Traditional lamb tagine with spices"},
|
||||
{
|
||||
id: "2",
|
||||
brand: "La Cote",
|
||||
name: "Fresh Pasta",
|
||||
price: "180 DH",
|
||||
rating: 5,
|
||||
reviewCount: "287",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-cutting-parmesan-cheese-from-cheese-plate_140725-10808.jpg",
|
||||
imageAlt: "Creamy homemade pasta",
|
||||
},
|
||||
id: "2", brand: "La Cote", name: "Fresh Pasta", price: "180 DH", rating: 5,
|
||||
reviewCount: "287", imageSrc: "http://img.b2bpic.net/free-photo/woman-cutting-parmesan-cheese-from-cheese-plate_140725-10808.jpg", imageAlt: "Creamy homemade pasta"},
|
||||
{
|
||||
id: "3",
|
||||
brand: "La Cote",
|
||||
name: "Couscous Royal",
|
||||
price: "220 DH",
|
||||
rating: 5,
|
||||
reviewCount: "295",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-arab-food_23-2147794254.jpg",
|
||||
imageAlt: "Traditional Moroccan couscous",
|
||||
},
|
||||
id: "3", brand: "La Cote", name: "Couscous Royal", price: "220 DH", rating: 5,
|
||||
reviewCount: "295", imageSrc: "http://img.b2bpic.net/free-photo/close-up-arab-food_23-2147794254.jpg", imageAlt: "Traditional Moroccan couscous"},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -110,53 +89,17 @@ export default function HomePage() {
|
||||
animationType="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Sarah Johnson",
|
||||
handle: "@sarahj_foodie",
|
||||
testimonial: "Absolutely magnificent! The lamb tagine was perfectly spiced and the ambiance transported me to Morocco. Best dining experience in Asilah!",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-with-curly-hair-posing-with-copy-space_23-2148728583.jpg",
|
||||
imageAlt: "Sarah Johnson",
|
||||
},
|
||||
id: "1", name: "Sarah Johnson", handle: "@sarahj_foodie", testimonial: "Absolutely magnificent! The lamb tagine was perfectly spiced and the ambiance transported me to Morocco. Best dining experience in Asilah!", imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-with-curly-hair-posing-with-copy-space_23-2148728583.jpg", imageAlt: "Sarah Johnson"},
|
||||
{
|
||||
id: "2",
|
||||
name: "Michael Chen",
|
||||
handle: "@michaeladventures",
|
||||
testimonial: "The authenticity is remarkable. Every dish tells a story. The couscous was divine and the mint tea ceremony was a beautiful touch.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-wearing-glasses_23-2148815602.jpg",
|
||||
imageAlt: "Michael Chen",
|
||||
},
|
||||
id: "2", name: "Michael Chen", handle: "@michaeladventures", testimonial: "The authenticity is remarkable. Every dish tells a story. The couscous was divine and the mint tea ceremony was a beautiful touch.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-wearing-glasses_23-2148815602.jpg", imageAlt: "Michael Chen"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Emma Rodriguez",
|
||||
handle: "@emmadines",
|
||||
testimonial: "La Cote captured my heart! The staff is warm and welcoming, the food is exquisite, and the prices are surprisingly fair for this quality.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-handsome-bearded-african-american-businessman-brown-classic-jacket-isolated-dark-background_613910-6626.jpg",
|
||||
imageAlt: "Emma Rodriguez",
|
||||
},
|
||||
id: "3", name: "Emma Rodriguez", handle: "@emmadines", testimonial: "La Cote captured my heart! The staff is warm and welcoming, the food is exquisite, and the prices are surprisingly fair for this quality.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-handsome-bearded-african-american-businessman-brown-classic-jacket-isolated-dark-background_613910-6626.jpg", imageAlt: "Emma Rodriguez"},
|
||||
{
|
||||
id: "4",
|
||||
name: "David Thompson",
|
||||
handle: "@davidtravel",
|
||||
testimonial: "A hidden gem in Asilah! The golden lighting, traditional decor, and impeccable service made our anniversary dinner unforgettable.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-doing-thumbs-up_23-2148628939.jpg",
|
||||
imageAlt: "David Thompson",
|
||||
},
|
||||
id: "4", name: "David Thompson", handle: "@davidtravel", testimonial: "A hidden gem in Asilah! The golden lighting, traditional decor, and impeccable service made our anniversary dinner unforgettable.", imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-doing-thumbs-up_23-2148628939.jpg", imageAlt: "David Thompson"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Fatima Al-Mansouri",
|
||||
handle: "@fatima.foodlover",
|
||||
testimonial: "Finally, authentic Moroccan cuisine done right. The spices, the presentation, the hospitality - everything is perfection. I visit weekly!",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-lawyer-portrait_23-2151202435.jpg",
|
||||
imageAlt: "Fatima Al-Mansouri",
|
||||
},
|
||||
id: "5", name: "Fatima Al-Mansouri", handle: "@fatima.foodlover", testimonial: "Finally, authentic Moroccan cuisine done right. The spices, the presentation, the hospitality - everything is perfection. I visit weekly!", imageSrc: "http://img.b2bpic.net/free-photo/front-view-lawyer-portrait_23-2151202435.jpg", imageAlt: "Fatima Al-Mansouri"},
|
||||
{
|
||||
id: "6",
|
||||
name: "James Wilson",
|
||||
handle: "@jameswineexplorer",
|
||||
testimonial: "The wine pairings are thoughtfully curated. Each course was a revelation. This restaurant deserves recognition as a destination dining experience.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-taking-mask-off-outdoors_23-2149403784.jpg",
|
||||
imageAlt: "James Wilson",
|
||||
},
|
||||
id: "6", name: "James Wilson", handle: "@jameswineexplorer", testimonial: "The wine pairings are thoughtfully curated. Each course was a revelation. This restaurant deserves recognition as a destination dining experience.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-taking-mask-off-outdoors_23-2149403784.jpg", imageAlt: "James Wilson"},
|
||||
]}
|
||||
speed={40}
|
||||
/>
|
||||
@@ -170,15 +113,7 @@ export default function HomePage() {
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={true}
|
||||
names={[
|
||||
"TripAdvisor Best Restaurant",
|
||||
"Michelin Recommended",
|
||||
"Local Favorite Award",
|
||||
"Cultural Heritage Certified",
|
||||
"Sustainable Tourism Partner",
|
||||
"Hospitality Excellence",
|
||||
"Culinary Heritage Foundation",
|
||||
"Mediterranean Gastronomy",
|
||||
]}
|
||||
"TripAdvisor Best Restaurant", "Michelin Recommended", "Local Favorite Award", "Cultural Heritage Certified", "Sustainable Tourism Partner", "Hospitality Excellence", "Culinary Heritage Foundation", "Mediterranean Gastronomy"]}
|
||||
speed={40}
|
||||
showCard={true}
|
||||
/>
|
||||
@@ -188,15 +123,12 @@ export default function HomePage() {
|
||||
<TextSplitAbout
|
||||
title="Our Story"
|
||||
description={[
|
||||
"Cafe Restaurant La Cote was founded with a singular passion: to bring the authentic tastes and warmth of Moroccan hospitality to Asilah. We believe that dining is not merely about food—it's about creating memories, building connections, and celebrating the rich cultural heritage of Morocco.",
|
||||
"Every dish we serve is prepared with traditional recipes passed down through generations, using the finest spices from local markets and ingredients sourced from trusted suppliers. Our kitchen team combines culinary expertise with genuine care, ensuring that each guest experiences the soul of Morocco in every bite.",
|
||||
"We welcome you to our family. Whether you're a curious traveler, a food enthusiast, or someone seeking an authentic cultural experience, La Cote is your gateway to Morocco's culinary treasures.",
|
||||
]}
|
||||
"Cafe Restaurant La Cote was founded with a singular passion: to bring the authentic tastes and warmth of Moroccan hospitality to Asilah. We believe that dining is not merely about food—it's about creating memories, building connections, and celebrating the rich cultural heritage of Morocco.", "Every dish we serve is prepared with traditional recipes passed down through generations, using the finest spices from local markets and ingredients sourced from trusted suppliers. Our kitchen team combines culinary expertise with genuine care, ensuring that each guest experiences the soul of Morocco in every bite.", "We welcome you to our family. Whether you're a curious traveler, a food enthusiast, or someone seeking an authentic cultural experience, La Cote is your gateway to Morocco's culinary treasures."]}
|
||||
useInvertedBackground={false}
|
||||
showBorder={true}
|
||||
buttons={[
|
||||
{ text: "Explore Menu", href: "/menu" },
|
||||
{ text: "Book a Table", href: "/contact" },
|
||||
{ text: "Book a Table", href: "#contact" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -1,51 +1,33 @@
|
||||
"use client";
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
import React from 'react';
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
text: string;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({ text, className = '' }) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
width="100"
|
||||
height="100"
|
||||
viewBox="0 0 100 100"
|
||||
className={className}
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
aria-label={text}
|
||||
>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
x="50"
|
||||
y="50"
|
||||
textAnchor="middle"
|
||||
dominantBaseline="central"
|
||||
fontSize="24"
|
||||
fontWeight="bold"
|
||||
fill="currentColor"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
};
|
||||
|
||||
export default SvgTextLogo;
|
||||
|
||||
Reference in New Issue
Block a user