Merge version_1 into main #2

Merged
bender merged 2 commits from version_1 into main 2026-03-12 16:46:00 +00:00
2 changed files with 52 additions and 60 deletions

View File

@@ -9,7 +9,7 @@ import ProductCardThree from '@/components/sections/product/ProductCardThree';
import FeatureCardMedia from '@/components/sections/feature/FeatureCardMedia';
import ContactFaq from '@/components/sections/contact/ContactFaq';
import FooterMedia from '@/components/sections/footer/FooterMedia';
import { Flame, Star, Heart, Chef, Leaf, Users, Gift, Sun, Wine, Phone } from 'lucide-react';
import { Flame, Star, Heart, Leaf, Users, Gift, Sun, Wine, Phone } from 'lucide-react';
export default function LandingPage() {
return (
@@ -19,7 +19,7 @@ export default function LandingPage() {
borderRadius="pill"
contentWidth="smallMedium"
sizing="largeSmallSizeLargeTitles"
background="circleGradient"
background="none"
cardStyle="soft-shadow"
primaryButtonStyle="shadow"
secondaryButtonStyle="layered"
@@ -46,18 +46,18 @@ export default function LandingPage() {
tag="Authentic Greek Cuisine"
tagIcon={Flame}
tagAnimation="slide-up"
background={{ variant: "circleGradient" }}
background={{ variant: "plain" }}
leftCarouselItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/meat-set-table_140725-8629.jpg?_wi=1", imageAlt: "Greek gyros rotating on spit" },
{ imageSrc: "http://img.b2bpic.net/free-photo/meat-set-table_140725-8629.jpg", imageAlt: "Greek gyros rotating on spit" },
{ imageSrc: "http://img.b2bpic.net/free-photo/delicious-churros-paper-bag-melted-chocolate_23-2148379666.jpg", imageAlt: "Traditional Greek coffee pouring" },
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-family-enjoying-food-together_23-2149228745.jpg?_wi=1", imageAlt: "Family Greek kitchen" },
{ imageSrc: "http://img.b2bpic.net/free-photo/terrace-ready-customers_1137-93.jpg?_wi=1", imageAlt: "Cozy outdoor seating area" }
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-family-enjoying-food-together_23-2149228745.jpg", imageAlt: "Family Greek kitchen" },
{ imageSrc: "http://img.b2bpic.net/free-photo/terrace-ready-customers_1137-93.jpg", imageAlt: "Cozy outdoor seating area" }
]}
rightCarouselItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/azerbaijani-traditional-kebab-barbeque-lavash-with-sumakh-onion-green-salad_114579-2939.jpg?_wi=1", imageAlt: "Grilled souvlaki on charcoal" },
{ imageSrc: "http://img.b2bpic.net/free-photo/baked-zucchini-rolls-with-ricotta-cheese-marinara-sauce-wooden-background-italian-style_127032-3423.jpg?_wi=1", imageAlt: "Traditional Greek moussaka" },
{ imageSrc: "http://img.b2bpic.net/free-photo/azerbaijani-traditional-kebab-barbeque-lavash-with-sumakh-onion-green-salad_114579-2939.jpg", imageAlt: "Grilled souvlaki on charcoal" },
{ imageSrc: "http://img.b2bpic.net/free-photo/baked-zucchini-rolls-with-ricotta-cheese-marinara-sauce-wooden-background-italian-style_127032-3423.jpg", imageAlt: "Traditional Greek moussaka" },
{ imageSrc: "http://img.b2bpic.net/free-photo/side-view-people-putting-skewers-grill_23-2149409368.jpg", imageAlt: "Chef grilling over flames" },
{ imageSrc: "http://img.b2bpic.net/free-photo/small-bucket-grapes-inside-ceramic-plate-hand-pouring-wine-into-glass-marble_114579-30861.jpg?_wi=1", imageAlt: "Cold Greek beer" }
{ imageSrc: "http://img.b2bpic.net/free-photo/small-bucket-grapes-inside-ceramic-plate-hand-pouring-wine-into-glass-marble_114579-30861.jpg", imageAlt: "Cold Greek beer" }
]}
buttons={[
{ text: "Order Online", href: "order" },
@@ -98,10 +98,10 @@ export default function LandingPage() {
useInvertedBackground={true}
imagePosition="right"
mediaAnimation="blur-reveal"
imageSrc="http://img.b2bpic.net/free-photo/close-up-family-enjoying-food-together_23-2149228745.jpg?_wi=2"
imageSrc="http://img.b2bpic.net/free-photo/close-up-family-enjoying-food-together_23-2149228745.jpg"
imageAlt="Family Greek kitchen"
bulletPoints={[
{ title: "Authentic Greek Recipes", description: "Traditional cooking methods passed down through generations.", icon: Chef },
{ title: "Authentic Greek Recipes", description: "Traditional cooking methods passed down through generations.", icon: Leaf },
{ title: "Fresh Ingredients", description: "Prepared daily to ensure the highest quality in every dish.", icon: Leaf },
{ title: "Family-Run Restaurant", description: "Warm and genuine service that feels like home.", icon: Users },
{ title: "Great Value Portions", description: "Generous plates at fair prices that respect your budget.", icon: Gift }
@@ -122,12 +122,12 @@ export default function LandingPage() {
animationType="slide-up"
gridVariant="three-columns-all-equal-width"
products={[
{ id: "1", name: "Gyros Wrap", price: "£8.50", imageSrc: "http://img.b2bpic.net/free-photo/meat-set-table_140725-8629.jpg?_wi=2", imageAlt: "Juicy gyros wrap" },
{ id: "2", name: "Chicken Souvlaki", price: "£10.00", imageSrc: "http://img.b2bpic.net/free-photo/azerbaijani-traditional-kebab-barbeque-lavash-with-sumakh-onion-green-salad_114579-2939.jpg?_wi=2", imageAlt: "Charcoal grilled chicken souvlaki" },
{ id: "1", name: "Gyros Wrap", price: "£8.50", imageSrc: "http://img.b2bpic.net/free-photo/meat-set-table_140725-8629.jpg", imageAlt: "Juicy gyros wrap" },
{ id: "2", name: "Chicken Souvlaki", price: "£10.00", imageSrc: "http://img.b2bpic.net/free-photo/azerbaijani-traditional-kebab-barbeque-lavash-with-sumakh-onion-green-salad_114579-2939.jpg", imageAlt: "Charcoal grilled chicken souvlaki" },
{ id: "3", name: "Halloumi Skepasti", price: "£9.50", imageSrc: "http://img.b2bpic.net/free-photo/penne-pasta-with-tomatoes-spices-white-plate_114579-34545.jpg", imageAlt: "Crispy grilled halloumi" },
{ id: "4", name: "Traditional Moussaka", price: "£12.00", imageSrc: "http://img.b2bpic.net/free-photo/baked-zucchini-rolls-with-ricotta-cheese-marinara-sauce-wooden-background-italian-style_127032-3423.jpg?_wi=2", imageAlt: "Rich layers of moussaka" },
{ id: "5", name: "Greek Salad", price: "£7.50", imageSrc: "http://img.b2bpic.net/free-photo/top-view-salad-with-feta-cheese-cutting-board_23-2148700461.jpg?_wi=1", imageAlt: "Fresh Greek salad" },
{ id: "6", name: "Shrimp Scampi", price: "£13.50", imageSrc: "http://img.b2bpic.net/free-photo/small-bucket-grapes-inside-ceramic-plate-hand-pouring-wine-into-glass-marble_114579-30861.jpg?_wi=2", imageAlt: "Garlic butter shrimp" }
{ id: "4", name: "Traditional Moussaka", price: "£12.00", imageSrc: "http://img.b2bpic.net/free-photo/baked-zucchini-rolls-with-ricotta-cheese-marinara-sauce-wooden-background-italian-style_127032-3423.jpg", imageAlt: "Rich layers of moussaka" },
{ id: "5", name: "Greek Salad", price: "£7.50", imageSrc: "http://img.b2bpic.net/free-photo/top-view-salad-with-feta-cheese-cutting-board_23-2148700461.jpg", imageAlt: "Fresh Greek salad" },
{ id: "6", name: "Shrimp Scampi", price: "£13.50", imageSrc: "http://img.b2bpic.net/free-photo/small-bucket-grapes-inside-ceramic-plate-hand-pouring-wine-into-glass-marble_114579-30861.jpg", imageAlt: "Garlic butter shrimp" }
]}
buttons={[
{ text: "View Full Menu", href: "menu" }
@@ -144,10 +144,10 @@ export default function LandingPage() {
useInvertedBackground={true}
animationType="slide-up"
features={[
{ id: "1", title: "Authentic Greek Recipes", description: "Traditional cooking methods that honour centuries of Mediterranean culinary excellence.", tag: "Heritage", imageSrc: "http://img.b2bpic.net/free-photo/close-up-family-enjoying-food-together_23-2149228745.jpg?_wi=3", imageAlt: "Authentic Greek kitchen" },
{ id: "2", title: "Fresh Ingredients Daily", description: "We source premium ingredients prepared fresh each day for maximum flavour and quality.", tag: "Quality", imageSrc: "http://img.b2bpic.net/free-photo/top-view-salad-with-feta-cheese-cutting-board_23-2148700461.jpg?_wi=2", imageAlt: "Fresh Greek salad ingredients" },
{ id: "1", title: "Authentic Greek Recipes", description: "Traditional cooking methods that honour centuries of Mediterranean culinary excellence.", tag: "Heritage", imageSrc: "http://img.b2bpic.net/free-photo/close-up-family-enjoying-food-together_23-2149228745.jpg", imageAlt: "Authentic Greek kitchen" },
{ id: "2", title: "Fresh Ingredients Daily", description: "We source premium ingredients prepared fresh each day for maximum flavour and quality.", tag: "Quality", imageSrc: "http://img.b2bpic.net/free-photo/top-view-salad-with-feta-cheese-cutting-board_23-2148700461.jpg", imageAlt: "Fresh Greek salad ingredients" },
{ id: "3", title: "Family-Run Warmth", description: "Genuine hospitality from a family business that treats every customer like family.", tag: "Hospitality", imageSrc: "http://img.b2bpic.net/free-photo/waiter-wearing-face-mask-while-talking-customer-cafe_637285-12493.jpg", imageAlt: "Warm family service" },
{ id: "4", title: "Great Value", description: "Generous portions and authentic flavour at prices that make Greek dining accessible.", tag: "Value", imageSrc: "http://img.b2bpic.net/free-photo/baked-zucchini-rolls-with-ricotta-cheese-marinara-sauce-wooden-background-italian-style_127032-3423.jpg?_wi=3", imageAlt: "Generous portion sizes" }
{ id: "4", title: "Great Value", description: "Generous portions and authentic flavour at prices that make Greek dining accessible.", tag: "Value", imageSrc: "http://img.b2bpic.net/free-photo/baked-zucchini-rolls-with-ricotta-cheese-marinara-sauce-wooden-background-italian-style_127032-3423.jpg", imageAlt: "Generous portion sizes" }
]}
/>
</div>
@@ -163,7 +163,7 @@ export default function LandingPage() {
useInvertedBackground={false}
imagePosition="left"
mediaAnimation="opacity"
imageSrc="http://img.b2bpic.net/free-photo/terrace-ready-customers_1137-93.jpg?_wi=2"
imageSrc="http://img.b2bpic.net/free-photo/terrace-ready-customers_1137-93.jpg"
imageAlt="Cozy outdoor seating"
bulletPoints={[
{ title: "Outdoor Seating", description: "Enjoy Mediterranean charm under the stars.", icon: Sun },
@@ -195,7 +195,7 @@ export default function LandingPage() {
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/terrace-ready-customers_1137-93.jpg?_wi=3"
imageSrc="http://img.b2bpic.net/free-photo/terrace-ready-customers_1137-93.jpg"
imageAlt="Athens Grill outdoor seating"
logoText="Athens Grill & Coffee 🇬🇷"
copyrightText="© 2025 Athens Grill & Coffee. Authentic Greek Cuisine in London."

View File

@@ -1,51 +1,43 @@
"use client";
import React from 'react';
import { SVGProps } from 'react';
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
className?: string;
interface SvgTextLogoProps extends SVGProps<SVGSVGElement> {
text?: string;
fontSize?: number;
fontWeight?: string | number;
fill?: string;
fontFamily?: 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 = "Logo", fontSize = 48,
fontWeight = 700,
fill = "currentColor", fontFamily = "system-ui, -apple-system, sans-serif", width = 200,
height = 100,
...props
}) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
width={width}
height={height}
viewBox={`0 0 ${width} ${height}`}
xmlns="http://www.w3.org/2000/svg"
{...props}
>
<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="middle"
fontSize={fontSize}
fontWeight={fontWeight}
fill={fill}
fontFamily={fontFamily}
>
{logoText}
{text}
</text>
</svg>
);
});
};
SvgTextLogo.displayName = "SvgTextLogo";
export default SvgTextLogo;
export default SvgTextLogo;