Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-13 07:27:21 +00:00
2 changed files with 46 additions and 60 deletions

View File

@@ -20,7 +20,7 @@ export default function LandingPage() {
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="floatingGradient"
background="circleGradient"
cardStyle="solid"
primaryButtonStyle="double-inset"
secondaryButtonStyle="radial-glow"
@@ -46,30 +46,30 @@ export default function LandingPage() {
tag="Premium Breakfast Café"
tagIcon={Coffee}
tagAnimation="slide-up"
background={{ variant: "floatingGradient" }}
background={{ variant: "plain" }}
leftCarouselItems={[
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv&_wi=1", imageAlt: "Fluffy pancakes with fresh berries"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv", imageAlt: "Fluffy pancakes with fresh berries"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r1mo9q&_wi=1", imageAlt: "Elegant café interior with warm lighting"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r1mo9q", imageAlt: "Elegant café interior with warm lighting"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vd132n&_wi=1", imageAlt: "Barista-crafted cappuccino with latte art"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vd132n", imageAlt: "Barista-crafted cappuccino with latte art"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=omxk17&_wi=1", imageAlt: "Gourmet breakfast plate photography"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=omxk17", imageAlt: "Gourmet breakfast plate photography"
}
]}
rightCarouselItems={[
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn&_wi=1", imageAlt: "Classic eggs benedict with asparagus"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn", imageAlt: "Classic eggs benedict with asparagus"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq&_wi=1", imageAlt: "Savoury crepes with vegetables and cheese"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq", imageAlt: "Savoury crepes with vegetables and cheese"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=url1ht&_wi=1", imageAlt: "Comfortable café seating with natural light"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=url1ht", imageAlt: "Comfortable café seating with natural light"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=v0cor5", imageAlt: "Cozy café corner with elegant ambience"
@@ -113,19 +113,19 @@ export default function LandingPage() {
features={[
{
id: "1", title: "Fluffy Pancake Stacks", tags: ["Breakfast Special", "Customer Favorite"],
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv&_wi=2", imageAlt: "Fluffy pancakes with berries and syrup"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv", imageAlt: "Fluffy pancakes with berries and syrup"
},
{
id: "2", title: "Classic Eggs Benedict", tags: ["European Classic", "House Special"],
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn&_wi=2", imageAlt: "Eggs benedict with hollandaise and asparagus"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn", imageAlt: "Eggs benedict with hollandaise and asparagus"
},
{
id: "3", title: "Savoury French Crepes", tags: ["Lunch Favorite", "French Recipe"],
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq&_wi=2", imageAlt: "Savoury crepes with vegetables and cheese"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq", imageAlt: "Savoury crepes with vegetables and cheese"
},
{
id: "4", title: "Artisanal Coffee Selection", tags: ["Barista Crafted", "Premium Beans"],
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vd132n&_wi=2", imageAlt: "Specialty coffee with latte art"
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vd132n", imageAlt: "Specialty coffee with latte art"
}
]}
buttons={[
@@ -144,7 +144,7 @@ export default function LandingPage() {
description="Perfect for breakfast dates, brunch with friends, work meetings, and weekend indulgence."
subdescription="Where European café culture meets Delhi hospitality"
icon={MapPin}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r1mo9q&_wi=2"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r1mo9q"
imageAlt="Elegant interior of The Blue Door Café"
mediaAnimation="slide-up"
useInvertedBackground={false}
@@ -161,22 +161,22 @@ export default function LandingPage() {
gridVariant="three-columns-all-equal-width"
products={[
{
id: "1", name: "Eggs Benedict", price: "₹350", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn&_wi=3", imageAlt: "Eggs benedict plate"
id: "1", name: "Eggs Benedict", price: "₹350", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn", imageAlt: "Eggs benedict plate"
},
{
id: "2", name: "Avocado Toast", price: "₹280", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=omxk17&_wi=2", imageAlt: "Avocado toast breakfast"
id: "2", name: "Avocado Toast", price: "₹280", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=omxk17", imageAlt: "Avocado toast breakfast"
},
{
id: "3", name: "Scrambled Cottage Cheese Toast", price: "₹240", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv&_wi=3", imageAlt: "Cottage cheese toast"
id: "3", name: "Scrambled Cottage Cheese Toast", price: "₹240", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv", imageAlt: "Cottage cheese toast"
},
{
id: "4", name: "Italian Herbed Omelette", price: "₹320", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=9wb65o", imageAlt: "Italian herb omelette"
},
{
id: "5", name: "Fish & Chips", price: "₹420", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq&_wi=3", imageAlt: "Fish and chips plate"
id: "5", name: "Fish & Chips", price: "₹420", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq", imageAlt: "Fish and chips plate"
},
{
id: "6", name: "Sweet & Savoury Crepes", price: "₹300", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq&_wi=4", imageAlt: "French crepes selection"
id: "6", name: "Sweet & Savoury Crepes", price: "₹300", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=854vcq", imageAlt: "French crepes selection"
}
]}
buttons={[
@@ -196,22 +196,22 @@ export default function LandingPage() {
useInvertedBackground={false}
testimonials={[
{
id: "1", name: "Sarah Johnson, Frequent Guest", date: "Date: 12 January 2025", title: "Best Breakfast in Khan Market", quote: "The pancakes are absolutely divine, and the ambience is perfect for a weekend brunch with friends. The staff is attentive without being intrusive.", tag: "Breakfast Lover", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=i88ujq", avatarAlt: "Sarah Johnson", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv&_wi=4", imageAlt: "Our signature pancakes"
id: "1", name: "Sarah Johnson, Frequent Guest", date: "Date: 12 January 2025", title: "Best Breakfast in Khan Market", quote: "The pancakes are absolutely divine, and the ambience is perfect for a weekend brunch with friends. The staff is attentive without being intrusive.", tag: "Breakfast Lover", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=i88ujq", avatarAlt: "Sarah Johnson", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ml2zwv", imageAlt: "Our signature pancakes"
},
{
id: "2", name: "Rajesh Patel, Regular Customer", date: "Date: 8 January 2025", title: "European Excellence in Delhi", quote: "Finally found a café that serves authentic European breakfast without compromising on quality. The eggs benedict is exactly as it should be.", tag: "Premium Experience", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=44biy7", avatarAlt: "Rajesh Patel", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn&_wi=4", imageAlt: "Our famous eggs benedict"
id: "2", name: "Rajesh Patel, Regular Customer", date: "Date: 8 January 2025", title: "European Excellence in Delhi", quote: "Finally found a café that serves authentic European breakfast without compromising on quality. The eggs benedict is exactly as it should be.", tag: "Premium Experience", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=44biy7", avatarAlt: "Rajesh Patel", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pidrmn", imageAlt: "Our famous eggs benedict"
},
{
id: "3", name: "Priya Sharma, Food Enthusiast", date: "Date: 2 January 2025", title: "A Hidden Gem in Khan Market", quote: "The coffee is exceptional, and the baristas know their craft. Every visit feels like a mini escape to a European café.", tag: "Coffee Connoisseur", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pqvzak", avatarAlt: "Priya Sharma", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vd132n&_wi=3", imageAlt: "Our artisanal coffee"
id: "3", name: "Priya Sharma, Food Enthusiast", date: "Date: 2 January 2025", title: "A Hidden Gem in Khan Market", quote: "The coffee is exceptional, and the baristas know their craft. Every visit feels like a mini escape to a European café.", tag: "Coffee Connoisseur", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=pqvzak", avatarAlt: "Priya Sharma", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vd132n", imageAlt: "Our artisanal coffee"
},
{
id: "4", name: "Amit Kumar, Business Professional", date: "Date: 28 December 2024", title: "Perfect for Work Meetings", quote: "Great ambience, excellent food, and reliable WiFi. I've hosted numerous client meetings here and always receive compliments.", tag: "Business Meetings", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=k01mxt", avatarAlt: "Amit Kumar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=url1ht&_wi=2", imageAlt: "Our comfortable seating"
id: "4", name: "Amit Kumar, Business Professional", date: "Date: 28 December 2024", title: "Perfect for Work Meetings", quote: "Great ambience, excellent food, and reliable WiFi. I've hosted numerous client meetings here and always receive compliments.", tag: "Business Meetings", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=k01mxt", avatarAlt: "Amit Kumar", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=url1ht", imageAlt: "Our comfortable seating"
},
{
id: "5", name: "Neha Gupta, Regular Brunch Guest", date: "Date: 22 December 2024", title: "Consistency and Quality", quote: "Every time I visit, the food is consistent, the service is warm, and the experience is memorable. This is our go-to spot for weekend brunches.", tag: "Weekend Brunch", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=rn486t", avatarAlt: "Neha Gupta", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=omxk17&_wi=3", imageAlt: "Our brunch spread"
id: "5", name: "Neha Gupta, Regular Brunch Guest", date: "Date: 22 December 2024", title: "Consistency and Quality", quote: "Every time I visit, the food is consistent, the service is warm, and the experience is memorable. This is our go-to spot for weekend brunches.", tag: "Weekend Brunch", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=rn486t", avatarAlt: "Neha Gupta", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=omxk17", imageAlt: "Our brunch spread"
},
{
id: "6", name: "Vikram Singh, Café Enthusiast", date: "Date: 18 December 2024", title: "A Slice of Europe in Khan Market", quote: "The attention to detail is remarkable. From the plating to the service, everything reflects the owner's passion for creating an authentic European experience.", tag: "Premium Service", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=aqrszj", avatarAlt: "Vikram Singh", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r1mo9q&_wi=3", imageAlt: "Our elegant café"
id: "6", name: "Vikram Singh, Café Enthusiast", date: "Date: 18 December 2024", title: "A Slice of Europe in Khan Market", quote: "The attention to detail is remarkable. From the plating to the service, everything reflects the owner's passion for creating an authentic European experience.", tag: "Premium Service", avatarSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=aqrszj", avatarAlt: "Vikram Singh", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=r1mo9q", imageAlt: "Our elegant café"
}
]}
/>

View File

@@ -1,51 +1,37 @@
"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;
fontSize?: number;
fontWeight?: string;
letterSpacing?: number;
}
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 = "", fontSize = 24,
fontWeight = "bold", letterSpacing = 0,
}) => {
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 * fontSize * 0.6} ${fontSize * 1.5}`}
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<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"
}}
y={fontSize}
fontSize={fontSize}
fontWeight={fontWeight}
letterSpacing={letterSpacing}
fill="currentColor"
dominantBaseline="middle"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;