Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-12 07:30:24 +00:00
2 changed files with 27 additions and 55 deletions

View File

@@ -21,7 +21,7 @@ export default function LandingPage() {
borderRadius="soft"
contentWidth="smallMedium"
sizing="mediumLargeSizeMediumTitles"
background="aurora"
background="circleGradient"
cardStyle="subtle-shadow"
primaryButtonStyle="flat"
secondaryButtonStyle="glass"
@@ -49,14 +49,14 @@ export default function LandingPage() {
description="Award-winning private chef services bringing gourmet dining to your table. Personalized menus, premium ingredients, and unforgettable moments."
tag="Premium Chef Services"
tagIcon={ChefHat}
background={{ variant: "aurora" }}
background={{ variant: "glowing-orb" }}
kpis={[
{ value: "15+", label: "Years Experience" },
{ value: "500+", label: "Satisfied Clients" },
{ value: "100%", label: "Satisfaction Rate" }
]}
enableKpiAnimation={true}
imageSrc="http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149727967.jpg?_wi=1"
imageSrc="http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149727967.jpg"
imageAlt="Professional chef cooking in luxury kitchen"
mediaAnimation="blur-reveal"
imagePosition="right"
@@ -127,20 +127,17 @@ export default function LandingPage() {
{
id: "private-dining", title: "Private Dining", descriptions: [
"Intimate home dinners with personalized menus", "Multi-course experiences crafted for your preferences", "Complete service and wine pairings included"
],
imageSrc: "http://img.b2bpic.net/free-photo/wedding-table-arrangement-with-flowers_23-2149436427.jpg", imageAlt: "Private home dining setup"
], imageSrc: "http://img.b2bpic.net/free-photo/wedding-table-arrangement-with-flowers_23-2149436427.jpg", imageAlt: "Private home dining setup"
},
{
id: "catering", title: "Event Catering", descriptions: [
"Full-service catering for corporate events", "Custom menu development for any occasion", "Professional setup and presentation"
],
imageSrc: "http://img.b2bpic.net/free-photo/smiling-woman-tasting-snacks-buffet-table_1262-2008.jpg", imageAlt: "Professional catering service"
], imageSrc: "http://img.b2bpic.net/free-photo/smiling-woman-tasting-snacks-buffet-table_1262-2008.jpg", imageAlt: "Professional catering service"
},
{
id: "cooking-class", title: "Cooking Classes", descriptions: [
"Learn techniques from a Michelin-trained chef", "Hands-on instruction in your preferred cuisine", "Group or individual sessions available"
],
imageSrc: "http://img.b2bpic.net/free-photo/crop-parents-daughter-cutting-vegetables_23-2147800413.jpg", imageAlt: "Culinary cooking class instruction"
], imageSrc: "http://img.b2bpic.net/free-photo/crop-parents-daughter-cutting-vegetables_23-2147800413.jpg", imageAlt: "Culinary cooking class instruction"
}
]}
/>
@@ -177,20 +174,16 @@ export default function LandingPage() {
gridVariant="uniform-all-items-equal"
testimonials={[
{
id: "1", name: "Sarah Anderson", role: "Event Organizer", company: "Luxury Events Inc", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-young-businesswoman-smiling-camera_74855-3966.jpg", imageAlt: "Sarah Anderson"
id: "1", name: "Sarah Anderson", role: "Event Organizer", company: "Luxury Events Inc", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/beautiful-young-businesswoman-smiling-camera_74855-3966.jpg", imageAlt: "Sarah Anderson"
},
{
id: "2", name: "James Mitchell", role: "CEO", company: "Corporate Dining Services", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/skeptical-bearded-guy-scoff-laughing-someone_176420-17955.jpg", imageAlt: "James Mitchell"
id: "2", name: "James Mitchell", role: "CEO", company: "Corporate Dining Services", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/skeptical-bearded-guy-scoff-laughing-someone_176420-17955.jpg", imageAlt: "James Mitchell"
},
{
id: "3", name: "Emma Richardson", role: "Wedding Coordinator", company: "Elegant Affairs", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/business-woman-standing-office-formal-wear_1303-31834.jpg", imageAlt: "Emma Richardson"
id: "3", name: "Emma Richardson", role: "Wedding Coordinator", company: "Elegant Affairs", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/business-woman-standing-office-formal-wear_1303-31834.jpg", imageAlt: "Emma Richardson"
},
{
id: "4", name: "David Chen", role: "Restaurant Owner", company: "Fine Dining Concepts", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-young-male-blue-suit_181624-55728.jpg", imageAlt: "David Chen"
id: "4", name: "David Chen", role: "Restaurant Owner", company: "Fine Dining Concepts", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-young-male-blue-suit_181624-55728.jpg", imageAlt: "David Chen"
}
]}
/>
@@ -237,7 +230,7 @@ export default function LandingPage() {
description="Subscribe to receive exclusive recipes, dining tips, and special offers from Chef Marcus Laurent."
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={false}
imageSrc="http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149727967.jpg?_wi=2"
imageSrc="http://img.b2bpic.net/free-photo/professional-chef-preparing-food-kitchen_23-2149727967.jpg"
imageAlt="Chef in kitchen"
mediaAnimation="blur-reveal"
mediaPosition="right"

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`}
className={className}
viewBox="0 0 200 60"
xmlns="http://www.w3.org/2000/svg"
preserveAspectRatio="xMidYMid meet"
>
<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="45"
fontSize="32"
fontWeight="bold"
fill="currentColor"
dominantBaseline="middle"
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;