Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-11 22:11:27 +00:00
2 changed files with 31 additions and 40 deletions

View File

@@ -64,7 +64,7 @@ export default function LandingPage() {
description="Since opening our doors, The Great Indian Kitchen has been dedicated to bringing authentic Indian flavors to your table. Our master chefs combine traditional cooking techniques with the finest spices imported from India, ensuring every dish tells a story of heritage and passion."
tag="Our Story"
tagIcon={Heart}
tagAnimation="fade-in"
tagAnimation="slide-up"
buttons={[
{ text: "Learn More", href: "#" }
]}
@@ -105,10 +105,10 @@ export default function LandingPage() {
<MetricCardEleven
metrics={[
{
id: "1", value: "15+", title: "Years of Excellence", description: "Serving authentic Indian cuisine with pride", imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-celebrating-tamil-new-year_23-2151210764.jpg?_wi=1", imageAlt: "Restaurant dining experience"
id: "1", value: "15+", title: "Years of Excellence", description: "Serving authentic Indian cuisine with pride", imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-celebrating-tamil-new-year_23-2151210764.jpg", imageAlt: "Restaurant dining experience"
},
{
id: "2", value: "10K+", title: "Happy Customers", description: "Satisfied diners enjoying our cuisine", imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-celebrating-tamil-new-year_23-2151210764.jpg?_wi=2", imageAlt: "Happy diners at restaurant"
id: "2", value: "10K+", title: "Happy Customers", description: "Satisfied diners enjoying our cuisine", imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-celebrating-tamil-new-year_23-2151210764.jpg", imageAlt: "Happy diners at restaurant"
}
]}
title="Dining Experience"

View File

@@ -1,51 +1,42 @@
"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;
letterSpacing?: number;
fill?: string;
dominantBaseline?: 'auto' | 'text-top' | 'hanging' | 'mathematical' | 'central' | 'middle' | 'text-bottom' | 'ideographic' | 'alphabetic';
}
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 = 'Logo',
className = '',
fontSize = 48,
letterSpacing = 2,
fill = '#000000',
dominantBaseline = 'middle',
}) => {
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}`}
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={dominantBaseline}
fontSize={fontSize}
letterSpacing={letterSpacing}
fill={fill}
fontWeight="bold"
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;