Merge version_1 into main

Merge version_1 into main
This commit was merged in pull request #2.
This commit is contained in:
2026-03-11 02:46:41 +00:00
2 changed files with 35 additions and 50 deletions

View File

@@ -10,7 +10,7 @@ import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterSimple from '@/components/sections/footer/FooterSimple';
import { ArrowRight, Coffee, Heart, Mail, Sparkles, Trending, Zap } from 'lucide-react';
import { ArrowRight, Coffee, Heart, Mail, Sparkles, TrendingUp, Zap } from 'lucide-react';
export default function LandingPage() {
return (
@@ -20,7 +20,7 @@ export default function LandingPage() {
borderRadius="soft"
contentWidth="medium"
sizing="mediumSizeLargeTitles"
background="aurora"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="radial-glow"
@@ -47,22 +47,22 @@ export default function LandingPage() {
description="Welcome to Jakes & Mia's Cafe—your sanctuary for exceptional espresso and inspiring collaboration. Whether you're working on your next big project or connecting with fellow creatives, we've crafted the perfect space."
tag="Creative Workspace Cafe"
tagIcon={Coffee}
background={{ variant: "aurora" }}
background={{ variant: "sparkles-gradient" }}
mediaItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/coffee-macaroons-cafe-table_23-2147787053.jpg", imageAlt: "Jakes and Mia's Cafe interior with warm lighting"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/coffee-cup-glasses-wooden-table-top-view_169016-18436.jpg?_wi=1", imageAlt: "Artisanal espresso with latte art"
imageSrc: "http://img.b2bpic.net/free-photo/coffee-cup-glasses-wooden-table-top-view_169016-18436.jpg", imageAlt: "Artisanal espresso with latte art"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg?_wi=1", imageAlt: "Workspace with laptop and coffee"
imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg", imageAlt: "Workspace with laptop and coffee"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/croissant-coffee-food-photography_53876-104492.jpg?_wi=1", imageAlt: "Fresh pastries and baked goods"
imageSrc: "http://img.b2bpic.net/free-photo/croissant-coffee-food-photography_53876-104492.jpg", imageAlt: "Fresh pastries and baked goods"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/group-friends-taking-selfies_23-2148395445.jpg?_wi=1", imageAlt: "People collaborating at the cafe"
imageSrc: "http://img.b2bpic.net/free-photo/group-friends-taking-selfies_23-2148395445.jpg", imageAlt: "People collaborating at the cafe"
}
]}
buttons={[
@@ -94,19 +94,19 @@ export default function LandingPage() {
tagIcon={Sparkles}
features={[
{
title: "Specialty Coffee", description: "Freshly roasted, ethically sourced espresso and pour-overs crafted by our expert baristas.", imageSrc: "http://img.b2bpic.net/free-photo/coffee-cup-glasses-wooden-table-top-view_169016-18436.jpg?_wi=2", imageAlt: "Specialty espresso drinks", buttonIcon: ArrowRight,
title: "Specialty Coffee", description: "Freshly roasted, ethically sourced espresso and pour-overs crafted by our expert baristas.", imageSrc: "http://img.b2bpic.net/free-photo/coffee-cup-glasses-wooden-table-top-view_169016-18436.jpg", imageAlt: "Specialty espresso drinks", buttonIcon: ArrowRight,
buttonHref: "#"
},
{
title: "Premium Workspace", description: "High-speed WiFi, comfortable seating, and power outlets designed for focused work.", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg?_wi=2", imageAlt: "Workspace setup", buttonIcon: ArrowRight,
title: "Premium Workspace", description: "High-speed WiFi, comfortable seating, and power outlets designed for focused work.", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg", imageAlt: "Workspace setup", buttonIcon: ArrowRight,
buttonHref: "#"
},
{
title: "Artisan Pastries", description: "Fresh-baked croissants, sourdough, and seasonal treats from our in-house bakery.", imageSrc: "http://img.b2bpic.net/free-photo/croissant-coffee-food-photography_53876-104492.jpg?_wi=2", imageAlt: "Fresh pastries", buttonIcon: ArrowRight,
title: "Artisan Pastries", description: "Fresh-baked croissants, sourdough, and seasonal treats from our in-house bakery.", imageSrc: "http://img.b2bpic.net/free-photo/croissant-coffee-food-photography_53876-104492.jpg", imageAlt: "Fresh pastries", buttonIcon: ArrowRight,
buttonHref: "#"
},
{
title: "Community Events", description: "Monthly artist showcases, writing workshops, and collaborative networking sessions.", imageSrc: "http://img.b2bpic.net/free-photo/group-friends-taking-selfies_23-2148395445.jpg?_wi=2", imageAlt: "Community gathering", buttonIcon: ArrowRight,
title: "Community Events", description: "Monthly artist showcases, writing workshops, and collaborative networking sessions.", imageSrc: "http://img.b2bpic.net/free-photo/group-friends-taking-selfies_23-2148395445.jpg", imageAlt: "Community gathering", buttonIcon: ArrowRight,
buttonHref: "#"
}
]}
@@ -123,13 +123,13 @@ export default function LandingPage() {
tagIcon={Zap}
products={[
{
id: "daily-pass", name: "Daily Pass", price: "$12", variant: "Valid for 24 hours • Includes WiFi", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg?_wi=3", imageAlt: "Daily workspace access"
id: "daily-pass", name: "Daily Pass", price: "$12", variant: "Valid for 24 hours • Includes WiFi", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg", imageAlt: "Daily workspace access"
},
{
id: "weekly-pass", name: "Weekly Pass", price: "$45", variant: "7 days unlimited • Locker access", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg?_wi=4", imageAlt: "Weekly workspace pass"
id: "weekly-pass", name: "Weekly Pass", price: "$45", variant: "7 days unlimited • Locker access", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg", imageAlt: "Weekly workspace pass"
},
{
id: "monthly-membership", name: "Monthly Membership", price: "$149", variant: "30 days unlimited • Premium perks", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg?_wi=5", imageAlt: "Monthly membership"
id: "monthly-membership", name: "Monthly Membership", price: "$149", variant: "30 days unlimited • Premium perks", imageSrc: "http://img.b2bpic.net/free-photo/young-man-woman-working-laptop-open-space-co-working-office-room_285396-1676.jpg", imageAlt: "Monthly membership"
}
]}
gridVariant="three-columns-all-equal-width"
@@ -144,7 +144,7 @@ export default function LandingPage() {
title="Jakes & Mia's by the Numbers"
description="Real impact from our creative community"
tag="Our Impact"
tagIcon={Trending}
tagIcon={TrendingUp}
metrics={[
{ id: "1", value: "2,500+", description: "Coffee Cups Served Weekly" },
{ id: "2", value: "450+", description: "Active Members" },

View File

@@ -1,51 +1,36 @@
"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;
fillColor?: string;
fontSize?: number;
}
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 = '',
fillColor = '#000000',
fontSize = 32,
}) => {
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 * 1.5}`}
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"
}}
y={fontSize}
fontSize={fontSize}
fill={fillColor}
fontWeight="bold"
dominantBaseline="hanging"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;