Merge version_1 into main #1
@@ -20,7 +20,7 @@ export default function LandingPage() {
|
||||
borderRadius="pill"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="largeSmallSizeLargeTitles"
|
||||
background="noise"
|
||||
background="circleGradient"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="layered"
|
||||
@@ -44,7 +44,7 @@ export default function LandingPage() {
|
||||
<HeroSplitKpi
|
||||
title="Artisan Baked Fresh Every Morning"
|
||||
description="Discover the authentic taste of handcrafted bread and pastries made with the finest ingredients and decades of baking tradition. From classic sourdough to delicate croissants, every item is baked fresh daily."
|
||||
background={{ variant: "noise" }}
|
||||
background={{ variant: "glowing-orb" }}
|
||||
kpis={[
|
||||
{ value: "25+", label: "Years Baking Excellence" },
|
||||
{ value: "100%", label: "Natural Ingredients" },
|
||||
@@ -157,7 +157,7 @@ export default function LandingPage() {
|
||||
id: "2", title: "Do you offer gluten-free options?", content: "Yes! We have a dedicated gluten-free baking station with a selection of breads, pastries, and cakes prepared fresh daily. Please ask our staff for available options."
|
||||
},
|
||||
{
|
||||
id: "3", title: "Can I order custom cakes?", content: "Absolutely! We create custom cakes for all occasions. Please contact us at least 48 hours in advance with your specifications, and we'll craft something special for you."
|
||||
id: "3", title: "Can I order custom cakes?", content: "Absolutely! We create custom cakes for all occasions. Please contact us at least 48 hours in advance with your specifications, and we will craft something special for you."
|
||||
},
|
||||
{
|
||||
id: "4", title: "Do you offer delivery?", content: "We offer local delivery for orders over $25 within a 5-mile radius. Orders must be placed by 2:00 PM for same-day delivery. Contact us for more details."
|
||||
@@ -166,7 +166,7 @@ export default function LandingPage() {
|
||||
id: "5", title: "What ingredients do you use?", content: "We use 100% natural ingredients with no artificial preservatives or additives. Most of our products are made with organic flour, butter, and locally-sourced eggs when possible."
|
||||
},
|
||||
{
|
||||
id: "6", title: "Can I pre-order items?", content: "Yes! You can pre-order most items 24 hours in advance. Call us or fill out our online form to reserve your favorites and ensure they're available when you visit."
|
||||
id: "6", title: "Can I pre-order items?", content: "Yes! You can pre-order most items 24 hours in advance. Call us or fill out our online form to reserve your favorites and ensure they are available when you visit."
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -175,7 +175,7 @@ export default function LandingPage() {
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
title="Get in Touch"
|
||||
description="Have questions or want to place a custom order? We'd love to hear from you. Reach out today and let us know how we can help."
|
||||
description="Have questions or want to place a custom order? We would love to hear from you. Reach out today and let us know how we can help."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Your Email", required: true }
|
||||
|
||||
@@ -1,51 +1,43 @@
|
||||
"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?: number | string;
|
||||
fill?: string;
|
||||
textAnchor?: 'start' | 'middle' | 'end';
|
||||
dominantBaseline?: 'auto' | 'central' | 'middle' | 'hanging' | 'mathematical' | 'ideographic' | 'alphabetic' | 'baseline';
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
export const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
|
||||
text,
|
||||
className = '',
|
||||
fontSize = 24,
|
||||
fontWeight = 600,
|
||||
fill = '#000000',
|
||||
textAnchor = 'middle',
|
||||
dominantBaseline = 'central',
|
||||
}) => {
|
||||
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 200 60"
|
||||
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%"
|
||||
fontSize={fontSize}
|
||||
fontWeight={fontWeight}
|
||||
fill={fill}
|
||||
textAnchor={textAnchor}
|
||||
dominantBaseline={dominantBaseline}
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
};
|
||||
|
||||
export default SvgTextLogo;
|
||||
|
||||
Reference in New Issue
Block a user