Merge version_1 into main #2
@@ -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é"
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user