Merge version_1 into main #2
@@ -69,16 +69,16 @@ export default function LandingPage() {
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "Asiatic Duck", price: "Specialty", imageSrc: "http://img.b2bpic.net/free-photo/meat-slices_1157-772.jpg?_wi=1", imageAlt: "Rich, aromatic Asiatic duck prepared with traditional spices"
|
||||
id: "1", name: "Asiatic Duck", price: "Specialty", imageSrc: "http://img.b2bpic.net/free-photo/meat-slices_1157-772.jpg", imageAlt: "Rich, aromatic Asiatic duck prepared with traditional spices"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Prawn Chow Mein", price: "Signature", imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-vegetable-salad-with-sliced-vegetables-inside-plate-with-seasonings-grey-vegetable-salad-food-meal_140725-19090.jpg?_wi=1", imageAlt: "Large prawns stir-fried with noodles and fresh vegetables"
|
||||
id: "2", name: "Prawn Chow Mein", price: "Signature", imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-vegetable-salad-with-sliced-vegetables-inside-plate-with-seasonings-grey-vegetable-salad-food-meal_140725-19090.jpg", imageAlt: "Large prawns stir-fried with noodles and fresh vegetables"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Chicken with Pineapple", price: "Favorite", imageSrc: "http://img.b2bpic.net/free-photo/bowl-caesar-salad-served-with-bread-sticks_140725-5979.jpg?_wi=1", imageAlt: "Perfect balance of sweet and savory flavors"
|
||||
id: "3", name: "Chicken with Pineapple", price: "Favorite", imageSrc: "http://img.b2bpic.net/free-photo/bowl-caesar-salad-served-with-bread-sticks_140725-5979.jpg", imageAlt: "Perfect balance of sweet and savory flavors"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Beef in Oyster Sauce", price: "Best Seller", imageSrc: "http://img.b2bpic.net/free-photo/front-view-meat-salad-with-lettuce-red-pepper-plate_141793-11308.jpg?_wi=1", imageAlt: "One of the restaurant's most loved dishes"
|
||||
id: "4", name: "Beef in Oyster Sauce", price: "Best Seller", imageSrc: "http://img.b2bpic.net/free-photo/front-view-meat-salad-with-lettuce-red-pepper-plate_141793-11308.jpg", imageAlt: "One of the restaurant's most loved dishes"
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
@@ -95,10 +95,9 @@ export default function LandingPage() {
|
||||
buttons={[
|
||||
{ text: "Learn More", href: "#about-full" }
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-restaurant-table-with-pink-velvet-chairs-grey-painted-hall-with-classic-paintings_140725-8705.jpg?_wi=1"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-restaurant-table-with-pink-velvet-chairs-grey-painted-hall-with-classic-paintings_140725-8705.jpg"
|
||||
imageAlt="Peaceful and elegant dining atmosphere at Jardín Chino"
|
||||
useInvertedBackground={true}
|
||||
mediaAnimation="opacity"
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
@@ -151,23 +150,23 @@ export default function LandingPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Starters", description: "Won Ton Soup • Spring Rolls • Mixed Appetizers • Crispy Shrimp Toast", imageSrc: "http://img.b2bpic.net/free-photo/bowl-caesar-salad-served-with-bread-sticks_140725-5979.jpg?_wi=2", imageAlt: "Starters selection"
|
||||
title: "Starters", description: "Won Ton Soup • Spring Rolls • Mixed Appetizers • Crispy Shrimp Toast", imageSrc: "http://img.b2bpic.net/free-photo/bowl-caesar-salad-served-with-bread-sticks_140725-5979.jpg", imageAlt: "Starters selection"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Chicken Specialties", description: "Chicken with Pineapple • Chicken with Almonds • Sweet & Sour Chicken • Lemon Chicken", imageSrc: "http://img.b2bpic.net/free-photo/bowl-caesar-salad-served-with-bread-sticks_140725-5979.jpg?_wi=3", imageAlt: "Chicken specialties"
|
||||
title: "Chicken Specialties", description: "Chicken with Pineapple • Chicken with Almonds • Sweet & Sour Chicken • Lemon Chicken", imageSrc: "http://img.b2bpic.net/free-photo/bowl-caesar-salad-served-with-bread-sticks_140725-5979.jpg", imageAlt: "Chicken specialties"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Beef Selections", description: "Beef with Oyster Sauce • Beef with Vegetables • Spicy Beef • Black Pepper Beef", imageSrc: "http://img.b2bpic.net/free-photo/front-view-meat-salad-with-lettuce-red-pepper-plate_141793-11308.jpg?_wi=2", imageAlt: "Beef selections"
|
||||
title: "Beef Selections", description: "Beef with Oyster Sauce • Beef with Vegetables • Spicy Beef • Black Pepper Beef", imageSrc: "http://img.b2bpic.net/free-photo/front-view-meat-salad-with-lettuce-red-pepper-plate_141793-11308.jpg", imageAlt: "Beef selections"
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: "Pork & Seafood", description: "Pork with Curry • Sweet & Sour Pork • Prawn Chow Mein • Crispy Squid", imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-vegetable-salad-with-sliced-vegetables-inside-plate-with-seasonings-grey-vegetable-salad-food-meal_140725-19090.jpg?_wi=2", imageAlt: "Pork and seafood"
|
||||
title: "Pork & Seafood", description: "Pork with Curry • Sweet & Sour Pork • Prawn Chow Mein • Crispy Squid", imageSrc: "http://img.b2bpic.net/free-photo/top-view-tasty-vegetable-salad-with-sliced-vegetables-inside-plate-with-seasonings-grey-vegetable-salad-food-meal_140725-19090.jpg", imageAlt: "Pork and seafood"
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
title: "House Specialties", description: "Sizzling Beef Plate • Asiatic Duck • Special Fried Rice • Chef's Recommendations", imageSrc: "http://img.b2bpic.net/free-photo/meat-slices_1157-772.jpg?_wi=2", imageAlt: "House specialties"
|
||||
title: "House Specialties", description: "Sizzling Beef Plate • Asiatic Duck • Special Fried Rice • Chef's Recommendations", imageSrc: "http://img.b2bpic.net/free-photo/meat-slices_1157-772.jpg", imageAlt: "House specialties"
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
@@ -181,7 +180,7 @@ export default function LandingPage() {
|
||||
title="The Perfect Atmosphere for Every Occasion"
|
||||
description="Elegant dining tables, traditional décor, and a peaceful ambiance create the ideal setting for family dinners, relaxed evenings, celebrations, or takeaway nights. Whether you're visiting for the first time or you're one of our many regular guests, you'll experience the warmth and care we put into every visit."
|
||||
tag="Dining Experience"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-restaurant-table-with-pink-velvet-chairs-grey-painted-hall-with-classic-paintings_140725-8705.jpg?_wi=2"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-restaurant-table-with-pink-velvet-chairs-grey-painted-hall-with-classic-paintings_140725-8705.jpg"
|
||||
imageAlt="Peaceful and welcoming dining space at Jardín Chino"
|
||||
useInvertedBackground={false}
|
||||
mediaAnimation="slide-up"
|
||||
|
||||
@@ -1,51 +1,44 @@
|
||||
"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;
|
||||
fontFamily?: string;
|
||||
fill?: string;
|
||||
textAnchor?: 'start' | 'middle' | 'end';
|
||||
dominantBaseline?: 'auto' | 'baseline' | 'central' | 'hanging' | 'ideographic' | 'mathematical';
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
export default function SvgTextLogo({
|
||||
text,
|
||||
className = '',
|
||||
fontSize = 24,
|
||||
fontWeight = 700,
|
||||
fontFamily = 'system-ui, -apple-system, sans-serif',
|
||||
fill = 'currentColor',
|
||||
textAnchor = 'start',
|
||||
dominantBaseline = 'hanging',
|
||||
}: SvgTextLogoProps) {
|
||||
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 1000 100"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className={className}
|
||||
>
|
||||
<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="0"
|
||||
fontSize={fontSize}
|
||||
fontWeight={fontWeight}
|
||||
fontFamily={fontFamily}
|
||||
fill={fill}
|
||||
textAnchor={textAnchor}
|
||||
dominantBaseline={dominantBaseline}
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user