Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-12 12:13:14 +00:00
2 changed files with 31 additions and 52 deletions

View File

@@ -52,10 +52,10 @@ export default function LandingPage() {
imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-dog-with-tablet_23-2148928976.jpg", imageAlt: "Cozy café table with latte art and pastries"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/croissant-brownies_1339-8502.jpg?_wi=1", imageAlt: "Fresh handmade bakery items"
imageSrc: "http://img.b2bpic.net/free-photo/croissant-brownies_1339-8502.jpg", imageAlt: "Fresh handmade bakery items"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/man-hands-working-with-coffee-machine-restaurant-close-up-barista-hands-preparing-making-coffee-coffee-shop_574295-514.jpg?_wi=1", imageAlt: "Premium specialty coffee"
imageSrc: "http://img.b2bpic.net/free-photo/man-hands-working-with-coffee-machine-restaurant-close-up-barista-hands-preparing-making-coffee-coffee-shop_574295-514.jpg", imageAlt: "Premium specialty coffee"
}
]}
autoplayDelay={4000}
@@ -72,19 +72,19 @@ export default function LandingPage() {
id: "relax", title: "Relaxing Cat Lounge", descriptions: [
"Spend quality time with our friendly rescue cats in a dedicated cozy cat room", "Gentle, well-behaved felines who love attention and cuddles", "Special entry fee of ₹200 per person for the cat lounge experience"
],
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-elderly-woman-with-cat_23-2150139687.jpg?_wi=1", imageAlt: "Person enjoying time with cute cats"
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-elderly-woman-with-cat_23-2150139687.jpg", imageAlt: "Person enjoying time with cute cats"
},
{
id: "bakery", title: "Fresh Bakery Every Day", descriptions: [
"Handmade cakes, croissants, brownies, and pastries baked fresh daily", "Premium ingredients sourced locally for quality and taste", "Rotating seasonal specials to keep your visits exciting"
],
imageSrc: "http://img.b2bpic.net/free-photo/croissant-brownies_1339-8502.jpg?_wi=2", imageAlt: "Fresh handmade bakery pastries"
imageSrc: "http://img.b2bpic.net/free-photo/croissant-brownies_1339-8502.jpg", imageAlt: "Fresh handmade bakery pastries"
},
{
id: "coffee", title: "Premium Coffee", descriptions: [
"Specialty coffee brewed fresh by skilled baristas using premium beans", "Expertly crafted cappuccinos, lattes, mochas, and more", "Perfect accompaniment to your pastry and cat cuddle session"
],
imageSrc: "http://img.b2bpic.net/free-photo/man-hands-working-with-coffee-machine-restaurant-close-up-barista-hands-preparing-making-coffee-coffee-shop_574295-514.jpg?_wi=2", imageAlt: "Specialty coffee being prepared"
imageSrc: "http://img.b2bpic.net/free-photo/man-hands-working-with-coffee-machine-restaurant-close-up-barista-hands-preparing-making-coffee-coffee-shop_574295-514.jpg", imageAlt: "Specialty coffee being prepared"
},
{
id: "instagram", title: "Instagram Worthy", descriptions: [
@@ -124,27 +124,27 @@ export default function LandingPage() {
products={[
{
id: "cappuccino", brand: "Premium Blend", name: "Cappuccino", price: "₹180", rating: 5,
reviewCount: "320+", imageSrc: "http://img.b2bpic.net/free-photo/composition-with-badge-croissants_23-2147658668.jpg?_wi=1", imageAlt: "Cappuccino"
reviewCount: "320+", imageSrc: "http://img.b2bpic.net/free-photo/composition-with-badge-croissants_23-2147658668.jpg", imageAlt: "Cappuccino"
},
{
id: "latte", brand: "Premium Blend", name: "Latte", price: "₹170", rating: 5,
reviewCount: "280+", imageSrc: "http://img.b2bpic.net/free-photo/composition-with-badge-croissants_23-2147658668.jpg?_wi=2", imageAlt: "Latte"
reviewCount: "280+", imageSrc: "http://img.b2bpic.net/free-photo/composition-with-badge-croissants_23-2147658668.jpg", imageAlt: "Latte"
},
{
id: "croissant", brand: "Artisan Bakery", name: "Butter Croissant", price: "₹120", rating: 5,
reviewCount: "250+", imageSrc: "http://img.b2bpic.net/free-photo/frame-blackboard-with-coffee-break-set_23-2148074929.jpg?_wi=1", imageAlt: "Butter Croissant"
reviewCount: "250+", imageSrc: "http://img.b2bpic.net/free-photo/frame-blackboard-with-coffee-break-set_23-2148074929.jpg", imageAlt: "Butter Croissant"
},
{
id: "brownie", brand: "Artisan Bakery", name: "Chocolate Brownie", price: "₹150", rating: 5,
reviewCount: "310+", imageSrc: "http://img.b2bpic.net/free-photo/frame-blackboard-with-coffee-break-set_23-2148074929.jpg?_wi=2", imageAlt: "Chocolate Brownie"
reviewCount: "310+", imageSrc: "http://img.b2bpic.net/free-photo/frame-blackboard-with-coffee-break-set_23-2148074929.jpg", imageAlt: "Chocolate Brownie"
},
{
id: "cheesecake", brand: "Artisan Bakery", name: "Creamy Cheesecake", price: "₹200", rating: 5,
reviewCount: "290+", imageSrc: "http://img.b2bpic.net/free-photo/frame-blackboard-with-coffee-break-set_23-2148074929.jpg?_wi=3", imageAlt: "Creamy Cheesecake"
reviewCount: "290+", imageSrc: "http://img.b2bpic.net/free-photo/frame-blackboard-with-coffee-break-set_23-2148074929.jpg", imageAlt: "Creamy Cheesecake"
},
{
id: "sandwich", brand: "Fresh Prepared", name: "Gourmet Sandwich", price: "₹160", rating: 5,
reviewCount: "210+", imageSrc: "http://img.b2bpic.net/free-photo/composition-with-badge-croissants_23-2147658668.jpg?_wi=3", imageAlt: "Gourmet Sandwich"
reviewCount: "210+", imageSrc: "http://img.b2bpic.net/free-photo/composition-with-badge-croissants_23-2147658668.jpg", imageAlt: "Gourmet Sandwich"
}
]}
gridVariant="three-columns-all-equal-width"
@@ -162,19 +162,19 @@ export default function LandingPage() {
tagIcon={Heart}
members={[
{
id: "cat-1", name: "Whiskers", role: "Rescue Cat", imageSrc: "http://img.b2bpic.net/free-photo/little-girl-is-playing-with-her-little-fluffy-puppy_169016-12353.jpg?_wi=1", imageAlt: "Adorable rescue cat Whiskers"
id: "cat-1", name: "Whiskers", role: "Rescue Cat", imageSrc: "http://img.b2bpic.net/free-photo/little-girl-is-playing-with-her-little-fluffy-puppy_169016-12353.jpg", imageAlt: "Adorable rescue cat Whiskers"
},
{
id: "cat-2", name: "Luna", role: "Friendly Kitten", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-elderly-woman-with-cat_23-2150139687.jpg?_wi=2", imageAlt: "Sweet rescue kitten Luna"
id: "cat-2", name: "Luna", role: "Friendly Kitten", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-elderly-woman-with-cat_23-2150139687.jpg", imageAlt: "Sweet rescue kitten Luna"
},
{
id: "cat-3", name: "Mittens", role: "Playful Rescue", imageSrc: "http://img.b2bpic.net/free-photo/little-girl-is-playing-with-her-little-fluffy-puppy_169016-12353.jpg?_wi=2", imageAlt: "Playful rescue cat Mittens"
id: "cat-3", name: "Mittens", role: "Playful Rescue", imageSrc: "http://img.b2bpic.net/free-photo/little-girl-is-playing-with-her-little-fluffy-puppy_169016-12353.jpg", imageAlt: "Playful rescue cat Mittens"
},
{
id: "cat-4", name: "Simba", role: "Gentle Soul", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-elderly-woman-with-cat_23-2150139687.jpg?_wi=3", imageAlt: "Gentle rescue cat Simba"
id: "cat-4", name: "Simba", role: "Gentle Soul", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-elderly-woman-with-cat_23-2150139687.jpg", imageAlt: "Gentle rescue cat Simba"
}
]}
gridVariant="four-items-2x2-equal-grid"
gridVariant="three-columns-all-equal-width"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}

View File

@@ -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);
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%"
textAnchor="middle"
dominantBaseline="central"
fontSize="60"
fontWeight="bold"
fill="currentColor"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;