Merge version_1 into main #2
@@ -27,24 +27,21 @@ export default function ContactPage() {
|
||||
|
||||
const footerColumns = [
|
||||
{
|
||||
title: "Restaurant",
|
||||
items: [
|
||||
title: "Restaurant", items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Menu", href: "/menu" },
|
||||
{ label: "Gallery", href: "#gallery" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Experience",
|
||||
items: [
|
||||
title: "Experience", items: [
|
||||
{ label: "Live Music", href: "#experience" },
|
||||
{ label: "Ramadan Ftoor", href: "#ftoor" },
|
||||
{ label: "Reservations", href: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Contact",
|
||||
items: [
|
||||
title: "Contact", items: [
|
||||
{ label: "Call Us", href: "tel:+212-XXX-XXX-XXX" },
|
||||
{ label: "Get Directions", href: "https://maps.google.com" },
|
||||
{ label: "Email", href: "mailto:info@ellyscasablanca.com" },
|
||||
@@ -59,7 +56,7 @@ export default function ContactPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="smallMedium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="noise"
|
||||
background="circleGradient"
|
||||
cardStyle="layered-gradient"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
@@ -80,7 +77,7 @@ export default function ContactPage() {
|
||||
text="Get in Touch with Ellys Casablanca. Call us now to make a reservation or ask about our special events and Ramadan offerings."
|
||||
animationType="entrance-slide"
|
||||
buttons={contactButtons}
|
||||
background={{ variant: "noise" }}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Contact information section"
|
||||
/>
|
||||
@@ -91,7 +88,7 @@ export default function ContactPage() {
|
||||
text="Located in the Heart of Casablanca. Visit us for an unforgettable dining experience with great food, live music, and warm hospitality."
|
||||
animationType="entrance-slide"
|
||||
buttons={directionsButtons}
|
||||
background={{ variant: "noise" }}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Location and directions section"
|
||||
/>
|
||||
@@ -99,7 +96,7 @@ export default function ContactPage() {
|
||||
|
||||
<div id="contact-footer" data-section="contact-footer">
|
||||
<FooterMedia
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6br4vl&_wi=3"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6br4vl"
|
||||
imageAlt="Ellys Casablanca restaurant kitchen"
|
||||
columns={footerColumns}
|
||||
logoText="Ellys Casablanca"
|
||||
|
||||
@@ -18,12 +18,12 @@ export default function MenuPage() {
|
||||
];
|
||||
|
||||
const allMenuItems = [
|
||||
{ id: "1", name: "Gourmet Burgers", price: "$8-15", variant: "Beef, chicken, veggie options", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=wg46bp&_wi=3", imageAlt: "Gourmet burger signature dish" },
|
||||
{ id: "2", name: "Empanadas", price: "$4-6", variant: "Cheese, meat, spinach fillings", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hopgvh&_wi=2", imageAlt: "Crispy empanadas appetizer" },
|
||||
{ id: "3", name: "Fish & Chips", price: "$12-14", variant: "Fresh Atlantic fish, crispy batter", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ozsjub&_wi=2", imageAlt: "Fish and chips main course" },
|
||||
{ id: "4", name: "Premium Desserts", price: "$5-8", variant: "Chocolate, pastry, seasonal", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=0m7m0u&_wi=2", imageAlt: "Fine dining dessert" },
|
||||
{ id: "5", name: "Ramadan Special Ftoor", price: "$25-35", variant: "Complete iftar spread for 2", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=no41ud&_wi=2", imageAlt: "Ramadan ftoor spread" },
|
||||
{ id: "6", name: "Appetizer Platter", price: "$15-20", variant: "Mixed selection of starters", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hopgvh&_wi=3", imageAlt: "Appetizer platter" },
|
||||
{ id: "1", name: "Gourmet Burgers", price: "$8-15", variant: "Beef, chicken, veggie options", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=wg46bp", imageAlt: "Gourmet burger signature dish" },
|
||||
{ id: "2", name: "Empanadas", price: "$4-6", variant: "Cheese, meat, spinach fillings", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hopgvh", imageAlt: "Crispy empanadas appetizer" },
|
||||
{ id: "3", name: "Fish & Chips", price: "$12-14", variant: "Fresh Atlantic fish, crispy batter", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ozsjub", imageAlt: "Fish and chips main course" },
|
||||
{ id: "4", name: "Premium Desserts", price: "$5-8", variant: "Chocolate, pastry, seasonal", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=0m7m0u", imageAlt: "Fine dining dessert" },
|
||||
{ id: "5", name: "Ramadan Special Ftoor", price: "$25-35", variant: "Complete iftar spread for 2", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=no41ud", imageAlt: "Ramadan ftoor spread" },
|
||||
{ id: "6", name: "Appetizer Platter", price: "$15-20", variant: "Mixed selection of starters", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hopgvh", imageAlt: "Appetizer platter" },
|
||||
];
|
||||
|
||||
const ctaButtons = [
|
||||
@@ -33,24 +33,21 @@ export default function MenuPage() {
|
||||
|
||||
const footerColumns = [
|
||||
{
|
||||
title: "Restaurant",
|
||||
items: [
|
||||
title: "Restaurant", items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Menu", href: "/menu" },
|
||||
{ label: "Gallery", href: "#gallery" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Experience",
|
||||
items: [
|
||||
title: "Experience", items: [
|
||||
{ label: "Live Music", href: "#experience" },
|
||||
{ label: "Ramadan Ftoor", href: "#ftoor" },
|
||||
{ label: "Reservations", href: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Contact",
|
||||
items: [
|
||||
title: "Contact", items: [
|
||||
{ label: "Call Us", href: "tel:+212-XXX-XXX-XXX" },
|
||||
{ label: "Get Directions", href: "https://maps.google.com" },
|
||||
{ label: "Email", href: "mailto:info@ellyscasablanca.com" },
|
||||
@@ -65,7 +62,7 @@ export default function MenuPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="smallMedium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="noise"
|
||||
background="circleGradient"
|
||||
cardStyle="layered-gradient"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
@@ -101,7 +98,7 @@ export default function MenuPage() {
|
||||
text="Have Questions About Our Menu? Ready to Reserve Your Table and Taste the Best Food in Casablanca?"
|
||||
animationType="entrance-slide"
|
||||
buttons={ctaButtons}
|
||||
background={{ variant: "noise" }}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Menu call to action section"
|
||||
/>
|
||||
@@ -109,7 +106,7 @@ export default function MenuPage() {
|
||||
|
||||
<div id="menu-footer" data-section="menu-footer">
|
||||
<FooterMedia
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6br4vl&_wi=2"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6br4vl"
|
||||
imageAlt="Ellys Casablanca restaurant kitchen"
|
||||
columns={footerColumns}
|
||||
logoText="Ellys Casablanca"
|
||||
|
||||
@@ -26,38 +26,38 @@ export default function HomePage() {
|
||||
];
|
||||
|
||||
const socialProofTestimonials = [
|
||||
{ id: "1", name: "Oumaima Marzouk", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r21vzt&_wi=1", imageAlt: "professional portrait woman smiling happy" },
|
||||
{ id: "2", name: "Wilhem Sdc", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=lpl2oo&_wi=1", imageAlt: "professional portrait man confident smile" },
|
||||
{ id: "3", name: "Amine Bennar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=iwlmyx&_wi=1", imageAlt: "young professional woman portrait smiling" },
|
||||
{ id: "4", name: "Oskar Gysler", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=z9fyz0&_wi=1", imageAlt: "young man professional portrait smiling" },
|
||||
{ id: "1", name: "Oumaima Marzouk", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r21vzt", imageAlt: "professional portrait woman smiling happy" },
|
||||
{ id: "2", name: "Wilhem Sdc", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=lpl2oo", imageAlt: "professional portrait man confident smile" },
|
||||
{ id: "3", name: "Amine Bennar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=iwlmyx", imageAlt: "young professional woman portrait smiling" },
|
||||
{ id: "4", name: "Oskar Gysler", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=z9fyz0", imageAlt: "young man professional portrait smiling" },
|
||||
];
|
||||
|
||||
const signatureDishesProducts = [
|
||||
{ id: "1", name: "Gourmet Burgers", price: "$8-15", variant: "Beef, chicken, veggie options", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=wg46bp&_wi=1", imageAlt: "Gourmet burger signature dish" },
|
||||
{ id: "2", name: "Empanadas", price: "$4-6", variant: "Cheese, meat, spinach fillings", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hopgvh&_wi=1", imageAlt: "Crispy empanadas appetizer" },
|
||||
{ id: "3", name: "Fish & Chips", price: "$12-14", variant: "Fresh Atlantic fish, crispy batter", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ozsjub&_wi=1", imageAlt: "Fish and chips main course" },
|
||||
{ id: "4", name: "Premium Desserts", price: "$5-8", variant: "Chocolate, pastry, seasonal", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=0m7m0u&_wi=1", imageAlt: "Fine dining dessert" },
|
||||
{ id: "1", name: "Gourmet Burgers", price: "$8-15", variant: "Beef, chicken, veggie options", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=wg46bp", imageAlt: "Gourmet burger signature dish" },
|
||||
{ id: "2", name: "Empanadas", price: "$4-6", variant: "Cheese, meat, spinach fillings", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hopgvh", imageAlt: "Crispy empanadas appetizer" },
|
||||
{ id: "3", name: "Fish & Chips", price: "$12-14", variant: "Fresh Atlantic fish, crispy batter", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ozsjub", imageAlt: "Fish and chips main course" },
|
||||
{ id: "4", name: "Premium Desserts", price: "$5-8", variant: "Chocolate, pastry, seasonal", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=0m7m0u", imageAlt: "Fine dining dessert" },
|
||||
];
|
||||
|
||||
const experienceFeatures = [
|
||||
{ title: "Amazing Burgers", description: "Handcrafted burgers with premium beef and fresh toppings", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=wg46bp&_wi=2", imageAlt: "Premium burger", buttonIcon: CheckCircle },
|
||||
{ title: "Live Music Atmosphere", description: "Enjoy local musicians performing every weekend", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=100tnw&_wi=1", imageAlt: "Live music performance", buttonIcon: Music },
|
||||
{ title: "Friendly Staff", description: "Our team makes you feel welcome and valued", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=1b36ks&_wi=1", imageAlt: "Restaurant interior", buttonIcon: Smile },
|
||||
{ title: "Great Ftoor During Ramadan", description: "Special Ramadan menus and extended hours for iftar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=no41ud&_wi=1", imageAlt: "Ramadan ftoor spread", buttonIcon: Sparkles },
|
||||
{ title: "Cozy Vibe", description: "Modern ambiance with warm lighting and comfortable seating", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=9gscja&_wi=1", imageAlt: "Restaurant night atmosphere", buttonIcon: Flame },
|
||||
{ title: "Amazing Burgers", description: "Handcrafted burgers with premium beef and fresh toppings", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=wg46bp", imageAlt: "Premium burger", buttonIcon: CheckCircle },
|
||||
{ title: "Live Music Atmosphere", description: "Enjoy local musicians performing every weekend", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=100tnw", imageAlt: "Live music performance", buttonIcon: Music },
|
||||
{ title: "Friendly Staff", description: "Our team makes you feel welcome and valued", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=1b36ks", imageAlt: "Restaurant interior", buttonIcon: Smile },
|
||||
{ title: "Great Ftoor During Ramadan", description: "Special Ramadan menus and extended hours for iftar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=no41ud", imageAlt: "Ramadan ftoor spread", buttonIcon: Sparkles },
|
||||
{ title: "Cozy Vibe", description: "Modern ambiance with warm lighting and comfortable seating", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=9gscja", imageAlt: "Restaurant night atmosphere", buttonIcon: Flame },
|
||||
];
|
||||
|
||||
const galleryFeatures = [
|
||||
{ title: "Interior Design", description: "Modern elegant dining spaces", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=1b36ks&_wi=2", imageAlt: "Restaurant interior", buttonIcon: Eye },
|
||||
{ title: "Live Entertainment", description: "Weekly live music performances", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=100tnw&_wi=2", imageAlt: "Live music", buttonIcon: Music },
|
||||
{ title: "Night Atmosphere", description: "Romantic evenings with ambient lighting", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=9gscja&_wi=2", imageAlt: "Night atmosphere", buttonIcon: Moon },
|
||||
{ title: "Interior Design", description: "Modern elegant dining spaces", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=1b36ks", imageAlt: "Restaurant interior", buttonIcon: Eye },
|
||||
{ title: "Live Entertainment", description: "Weekly live music performances", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=100tnw", imageAlt: "Live music", buttonIcon: Music },
|
||||
{ title: "Night Atmosphere", description: "Romantic evenings with ambient lighting", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=9gscja", imageAlt: "Night atmosphere", buttonIcon: Moon },
|
||||
];
|
||||
|
||||
const reviewTestimonials = [
|
||||
{ id: "1", name: "Oumaima Marzouk", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r21vzt&_wi=2", imageAlt: "professional portrait woman smiling happy" },
|
||||
{ id: "2", name: "Wilhem Sdc", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=lpl2oo&_wi=2", imageAlt: "professional portrait man confident smile" },
|
||||
{ id: "3", name: "Amine Bennar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=iwlmyx&_wi=2", imageAlt: "young professional woman portrait smiling" },
|
||||
{ id: "4", name: "Oskar Gysler", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=z9fyz0&_wi=2", imageAlt: "young man professional portrait smiling" },
|
||||
{ id: "1", name: "Oumaima Marzouk", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r21vzt", imageAlt: "professional portrait woman smiling happy" },
|
||||
{ id: "2", name: "Wilhem Sdc", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=lpl2oo", imageAlt: "professional portrait man confident smile" },
|
||||
{ id: "3", name: "Amine Bennar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=iwlmyx", imageAlt: "young professional woman portrait smiling" },
|
||||
{ id: "4", name: "Oskar Gysler", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=z9fyz0", imageAlt: "young man professional portrait smiling" },
|
||||
{ id: "5", name: "Mohamed Mnaouer", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=qh45cg", imageAlt: "woman professional portrait happy smile" },
|
||||
{ id: "6", name: "Hassan El Arabi", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=95q9kx", imageAlt: "man professional portrait friendly smile" },
|
||||
];
|
||||
@@ -69,24 +69,21 @@ export default function HomePage() {
|
||||
|
||||
const footerColumns = [
|
||||
{
|
||||
title: "Restaurant",
|
||||
items: [
|
||||
title: "Restaurant", items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Menu", href: "/menu" },
|
||||
{ label: "Gallery", href: "#gallery" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Experience",
|
||||
items: [
|
||||
title: "Experience", items: [
|
||||
{ label: "Live Music", href: "#experience" },
|
||||
{ label: "Ramadan Ftoor", href: "#ftoor" },
|
||||
{ label: "Reservations", href: "/contact" },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Contact",
|
||||
items: [
|
||||
title: "Contact", items: [
|
||||
{ label: "Call Us", href: "tel:+212-XXX-XXX-XXX" },
|
||||
{ label: "Get Directions", href: "https://maps.google.com" },
|
||||
{ label: "Email", href: "mailto:info@ellyscasablanca.com" },
|
||||
@@ -101,7 +98,7 @@ export default function HomePage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="smallMedium"
|
||||
sizing="largeSizeMediumTitles"
|
||||
background="noise"
|
||||
background="circleGradient"
|
||||
cardStyle="layered-gradient"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
@@ -123,7 +120,7 @@ export default function HomePage() {
|
||||
description="Great Food, Great Vibes. Best burgers, live music and unforgettable ftoor in Casablanca."
|
||||
buttons={heroButtons}
|
||||
buttonAnimation="slide-up"
|
||||
background={{ variant: "noise" }}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=k0o68m"
|
||||
imageAlt="Ellys Casablanca restaurant ambiance with warm lighting"
|
||||
mediaAnimation="opacity"
|
||||
@@ -202,7 +199,7 @@ export default function HomePage() {
|
||||
text="Ready to Experience Great Food and Unforgettable Vibes? Reserve Your Table Today!"
|
||||
animationType="entrance-slide"
|
||||
buttons={ctaButtons}
|
||||
background={{ variant: "noise" }}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
useInvertedBackground={false}
|
||||
ariaLabel="Final call to action section"
|
||||
/>
|
||||
@@ -210,7 +207,7 @@ export default function HomePage() {
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterMedia
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6br4vl&_wi=1"
|
||||
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=6br4vl"
|
||||
imageAlt="Ellys Casablanca restaurant kitchen"
|
||||
columns={footerColumns}
|
||||
logoText="Ellys Casablanca"
|
||||
|
||||
@@ -1,51 +1,28 @@
|
||||
"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"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox={`0 0 ${text.length * 60} 100`}
|
||||
className={className}
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<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%"
|
||||
dominantBaseline="middle"
|
||||
textAnchor="middle"
|
||||
className="text-2xl font-bold"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user