Merge version_1 into main #2
@@ -8,7 +8,7 @@ import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/F
|
||||
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
|
||||
import ProductCardOne from '@/components/sections/product/ProductCardOne';
|
||||
import FooterMedia from '@/components/sections/footer/FooterMedia';
|
||||
import { Award, Chef, Heart, Leaf, Utensils, UtensilsCrossed, Wine } from 'lucide-react';
|
||||
import { Award, Heart, Leaf, Utensils, UtensilsCrossed, Wine } from 'lucide-react';
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
@@ -85,7 +85,7 @@ export default function LandingPage() {
|
||||
title: "Farm Fresh Ingredients", description: "Sourced directly from trusted local and Italian suppliers, ensuring the highest quality and authenticity in every dish."
|
||||
},
|
||||
{
|
||||
icon: Chef,
|
||||
icon: Wine,
|
||||
title: "Expert Chefs", description: "Our team trained in Italy brings decades of culinary expertise and passion for authentic Italian cooking."
|
||||
},
|
||||
{
|
||||
@@ -109,13 +109,13 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Marco Rossi, Regular Guest", date: "Date: 15 February 2025", title: "Transported back to Italy!", quote: "Every time I dine here, it feels like I'm sitting in a small trattoria in Tuscany. The flavors are authentic, the service is warm, and the atmosphere is pure magic. This is my favorite place in the city.", tag: "Family Dinner", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-young-man-street_641386-768.jpg", avatarAlt: "Marco Rossi", imageSrc: "http://img.b2bpic.net/free-photo/gray-bowl-unprepared-macaroni-marble-space_114579-76462.jpg?_wi=1", imageAlt: "Creamy Italian risotto saffron dish"
|
||||
id: "1", name: "Marco Rossi, Regular Guest", date: "Date: 15 February 2025", title: "Transported back to Italy!", quote: "Every time I dine here, it feels like I'm sitting in a small trattoria in Tuscany. The flavors are authentic, the service is warm, and the atmosphere is pure magic. This is my favorite place in the city.", tag: "Family Dinner", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-young-man-street_641386-768.jpg", avatarAlt: "Marco Rossi", imageSrc: "http://img.b2bpic.net/free-photo/gray-bowl-unprepared-macaroni-marble-space_114579-76462.jpg", imageAlt: "Creamy Italian risotto saffron dish"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Lucia Benedetti, Wine Enthusiast", date: "Date: 10 February 2025", title: "Perfect pairing of food and wine", quote: "The sommelier here has an incredible eye for wine pairings. I tried a wonderful Barolo with their signature pasta dishes, and it was absolutely heavenly. They truly understand Italian cuisine.", tag: "Date Night", avatarSrc: "http://img.b2bpic.net/free-photo/senior-couple-showing-thumbs-up_1187-751.jpg", avatarAlt: "Lucia Benedetti", imageSrc: "http://img.b2bpic.net/free-photo/side-view-pizza-with-tomatoes-with-eggs-glass-milk-flour-table_140725-13969.jpg?_wi=1", imageAlt: "Classic pizza margherita with fresh basil"
|
||||
id: "2", name: "Lucia Benedetti, Wine Enthusiast", date: "Date: 10 February 2025", title: "Perfect pairing of food and wine", quote: "The sommelier here has an incredible eye for wine pairings. I tried a wonderful Barolo with their signature pasta dishes, and it was absolutely heavenly. They truly understand Italian cuisine.", tag: "Date Night", avatarSrc: "http://img.b2bpic.net/free-photo/senior-couple-showing-thumbs-up_1187-751.jpg", avatarAlt: "Lucia Benedetti", imageSrc: "http://img.b2bpic.net/free-photo/side-view-pizza-with-tomatoes-with-eggs-glass-milk-flour-table_140725-13969.jpg", imageAlt: "Classic pizza margherita with fresh basil"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Antonio Ferraro, Food Critic", date: "Date: 5 February 2025", title: "Authentic Italian excellence", quote: "After years of dining across Italy and beyond, I can confidently say this restaurant captures the true spirit of Italian cuisine. The dedication to quality and tradition is evident in every bite.", tag: "Professional Review", avatarSrc: "http://img.b2bpic.net/free-photo/happy-couple-holding-each-other-s-hand_23-2147891266.jpg", avatarAlt: "Antonio Ferraro", imageSrc: "http://img.b2bpic.net/free-photo/tasty-homemade-tiramisu-cake_114579-85350.jpg?_wi=1", imageAlt: "Classic tiramisu Italian dessert with cocoa"
|
||||
id: "3", name: "Antonio Ferraro, Food Critic", date: "Date: 5 February 2025", title: "Authentic Italian excellence", quote: "After years of dining across Italy and beyond, I can confidently say this restaurant captures the true spirit of Italian cuisine. The dedication to quality and tradition is evident in every bite.", tag: "Professional Review", avatarSrc: "http://img.b2bpic.net/free-photo/happy-couple-holding-each-other-s-hand_23-2147891266.jpg", avatarAlt: "Antonio Ferraro", imageSrc: "http://img.b2bpic.net/free-photo/tasty-homemade-tiramisu-cake_114579-85350.jpg", imageAlt: "Classic tiramisu Italian dessert with cocoa"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Elena Moretti, Special Occasions", date: "Date: 1 February 2025", title: "Made our anniversary unforgettable", quote: "The staff went above and beyond to make our anniversary celebration special. The food was exquisite, the wine selection perfect, and the ambiance romantic. We'll be back for many more celebrations!", tag: "Anniversary", avatarSrc: "http://img.b2bpic.net/free-photo/close-up-adorable-lovely-woman-blue-jacket-posing-with-smile-yellow-wall-european-female-model-posing_291650-1331.jpg", avatarAlt: "Elena Moretti", imageSrc: "http://img.b2bpic.net/free-photo/front-view-chef-holding-food-plate_23-2148510820.jpg", imageAlt: "Professional Italian chef cooking pasta"
|
||||
@@ -133,13 +133,13 @@ export default function LandingPage() {
|
||||
tagAnimation="slide-up"
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "Risotto ai Funghi", price: "$18", imageSrc: "http://img.b2bpic.net/free-photo/gray-bowl-unprepared-macaroni-marble-space_114579-76462.jpg?_wi=2", imageAlt: "Creamy mushroom risotto"
|
||||
id: "1", name: "Risotto ai Funghi", price: "$18", imageSrc: "http://img.b2bpic.net/free-photo/gray-bowl-unprepared-macaroni-marble-space_114579-76462.jpg", imageAlt: "Creamy mushroom risotto"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Pizza Margherita", price: "$16", imageSrc: "http://img.b2bpic.net/free-photo/side-view-pizza-with-tomatoes-with-eggs-glass-milk-flour-table_140725-13969.jpg?_wi=2", imageAlt: "Classic pizza margherita"
|
||||
id: "2", name: "Pizza Margherita", price: "$16", imageSrc: "http://img.b2bpic.net/free-photo/side-view-pizza-with-tomatoes-with-eggs-glass-milk-flour-table_140725-13969.jpg", imageAlt: "Classic pizza margherita"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Tiramisu", price: "$12", imageSrc: "http://img.b2bpic.net/free-photo/tasty-homemade-tiramisu-cake_114579-85350.jpg?_wi=2", imageAlt: "Traditional tiramisu dessert"
|
||||
id: "3", name: "Tiramisu", price: "$12", imageSrc: "http://img.b2bpic.net/free-photo/tasty-homemade-tiramisu-cake_114579-85350.jpg", imageAlt: "Traditional tiramisu dessert"
|
||||
}
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
|
||||
@@ -1,51 +1,30 @@
|
||||
"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);
|
||||
|
||||
export 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`}
|
||||
className={className}
|
||||
viewBox={`0 0 ${text.length * 40} 100`}
|
||||
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%"
|
||||
textAnchor="middle"
|
||||
dominantBaseline="middle"
|
||||
fontSize="48"
|
||||
fontWeight="bold"
|
||||
fill="currentColor"
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user