Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 06:24:32 +00:00
2 changed files with 40 additions and 47 deletions

View File

@@ -42,7 +42,7 @@ export default function LandingPage() {
tag="NBC Café Since 2017"
tagIcon={Coffee}
tagAnimation="slide-up"
background={{ variant: "glowing-orb" }}
background={{ variant: "fluid" }}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/coffee-preparation-concept-still-life_23-2150354593.jpg"
imageAlt="Coffee being poured with latte art"
@@ -56,15 +56,15 @@ export default function LandingPage() {
testimonials={[
{
name: "Priya Kumar", handle: "Student", testimonial: "Best coffee spot in Basavanagudi! Affordable and absolutely delicious.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-gorgeous-woman-home_329181-1186.jpg?_wi=1", imageAlt: "Priya Kumar"
imageSrc: "http://img.b2bpic.net/free-photo/portrait-gorgeous-woman-home_329181-1186.jpg", imageAlt: "Priya Kumar"
},
{
name: "Arjun Singh", handle: "Working Professional", testimonial: "Cold coffee here is perfect for hot Bangalore days. My daily favorite!", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-young-man-looking-camera_23-2148130371.jpg?_wi=1", imageAlt: "Arjun Singh"
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-young-man-looking-camera_23-2148130371.jpg", imageAlt: "Arjun Singh"
},
{
name: "Ananya Desai", handle: "Freelancer", testimonial: "Great place to work, amazing coffee, and super friendly staff.", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-businesswoman_23-2148204386.jpg?_wi=1", imageAlt: "Ananya Desai"
imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-businesswoman_23-2148204386.jpg", imageAlt: "Ananya Desai"
}
]}
testimonialRotationInterval={5000}
@@ -97,7 +97,7 @@ export default function LandingPage() {
gridVariant="three-columns-all-equal-width"
products={[
{
id: "1", name: "Cold Coffee", price: "₹80", imageSrc: "http://img.b2bpic.net/free-photo/bartender-mixing-tasty-drink_23-2148209392.jpg?_wi=1", imageAlt: "Cold Coffee"
id: "1", name: "Cold Coffee", price: "₹80", imageSrc: "http://img.b2bpic.net/free-photo/bartender-mixing-tasty-drink_23-2148209392.jpg", imageAlt: "Cold Coffee"
},
{
id: "2", name: "Caramel Latte", price: "₹120", imageSrc: "http://img.b2bpic.net/free-photo/hot-caramel-macchiato_1339-6105.jpg", imageAlt: "Caramel Latte"
@@ -112,7 +112,7 @@ export default function LandingPage() {
id: "5", name: "Iced Americano", price: "₹70", imageSrc: "http://img.b2bpic.net/free-photo/ice-tea-drink-refreshing-hot-summer-weather_185193-111768.jpg", imageAlt: "Iced Americano"
},
{
id: "6", name: "Espresso", price: "₹50", imageSrc: "http://img.b2bpic.net/free-photo/bartender-mixing-tasty-drink_23-2148209392.jpg?_wi=2", imageAlt: "Espresso"
id: "6", name: "Espresso", price: "₹50", imageSrc: "http://img.b2bpic.net/free-photo/bartender-mixing-tasty-drink_23-2148209392.jpg", imageAlt: "Espresso"
}
]}
carouselMode="buttons"
@@ -134,15 +134,15 @@ export default function LandingPage() {
testimonials={[
{
id: "1", name: "Priya Kumar", role: "Student", company: "Bangalore", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-gorgeous-woman-home_329181-1186.jpg?_wi=2", imageAlt: "Priya Kumar"
imageSrc: "http://img.b2bpic.net/free-photo/portrait-gorgeous-woman-home_329181-1186.jpg", imageAlt: "Priya Kumar"
},
{
id: "2", name: "Arjun Singh", role: "Software Developer", company: "Tech Company", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-young-man-looking-camera_23-2148130371.jpg?_wi=2", imageAlt: "Arjun Singh"
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-young-man-looking-camera_23-2148130371.jpg", imageAlt: "Arjun Singh"
},
{
id: "3", name: "Ananya Desai", role: "Freelancer", company: "Creative Studio", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-businesswoman_23-2148204386.jpg?_wi=2", imageAlt: "Ananya Desai"
imageSrc: "http://img.b2bpic.net/free-photo/portrait-middle-aged-businesswoman_23-2148204386.jpg", imageAlt: "Ananya Desai"
},
{
id: "4", name: "Vikram Menon", role: "Marketing Manager", company: "Digital Agency", rating: 5,
@@ -162,7 +162,7 @@ export default function LandingPage() {
tag="Get in Touch"
title="Visit Nothing Before Coffee"
description="Stop by our café on DVG Road in Basavanagudi. We're open daily from 7:30 AM to 11:30 PM. Call us at +91 63601 90874 for any queries."
background={{ variant: "glowing-orb" }}
background={{ variant: "fluid" }}
useInvertedBackground={false}
inputPlaceholder="Enter your email"
buttonText="Subscribe"

View File

@@ -1,51 +1,44 @@
"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;
fontSize?: number;
fontFamily?: string;
fontWeight?: string | number;
fill?: string;
letterSpacing?: number;
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,
fontSize = 48,
fontFamily = 'Arial, sans-serif',
fontWeight = 'bold',
fill = 'currentColor',
letterSpacing = 0,
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 * fontSize} ${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"
}}
x="10"
y={fontSize}
fontSize={fontSize}
fontFamily={fontFamily}
fontWeight={fontWeight}
fill={fill}
letterSpacing={letterSpacing}
dominantBaseline="middle"
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;