Merge version_1 into main
Merge version_1 into main
This commit was merged in pull request #2.
This commit is contained in:
193
src/app/page.tsx
193
src/app/page.tsx
@@ -23,8 +23,7 @@ export default function HomePage() {
|
||||
|
||||
const footerColumns = [
|
||||
{
|
||||
title: "Restaurant",
|
||||
items: [
|
||||
title: "Restaurant", items: [
|
||||
{ label: "Menu", href: "/menu" },
|
||||
{ label: "Hours & Location", href: "#contact" },
|
||||
{ label: "About Us", href: "#about" },
|
||||
@@ -32,8 +31,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Contact",
|
||||
items: [
|
||||
title: "Contact", items: [
|
||||
{ label: "Phone", href: "tel:+15596831120" },
|
||||
{ label: "Email", href: "mailto:info@mountainoakscafe.com" },
|
||||
{ label: "Directions", href: "https://maps.google.com/?q=Mountain+Oaks+Cafe+Oakhurst" },
|
||||
@@ -41,8 +39,7 @@ export default function HomePage() {
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Follow Us",
|
||||
items: [
|
||||
title: "Follow Us", items: [
|
||||
{ label: "Google Reviews", href: "https://google.com" },
|
||||
{ label: "Facebook", href: "https://facebook.com" },
|
||||
{ label: "Instagram", href: "https://instagram.com" },
|
||||
@@ -54,7 +51,7 @@ export default function HomePage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-shift"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="pill"
|
||||
contentWidth="small"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
@@ -69,9 +66,7 @@ export default function HomePage() {
|
||||
brandName="Mountain Oaks Cafe"
|
||||
navItems={navItems}
|
||||
button={{
|
||||
text: "Reserve Now",
|
||||
href: "#contact",
|
||||
}}
|
||||
text: "Reserve Now", href: "#contact"}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -87,20 +82,14 @@ export default function HomePage() {
|
||||
]}
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-pancakes-with-various-ingredients_140725-114390.jpg?_wi=1",
|
||||
imageAlt: "Fluffy pancakes",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-pancakes-with-various-ingredients_140725-114390.jpg", imageAlt: "Fluffy pancakes"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/thin-chicken-nuggets-with-french-fries-vegan-salad_114579-2448.jpg",
|
||||
imageAlt: "Fish and chips",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/thin-chicken-nuggets-with-french-fries-vegan-salad_114579-2448.jpg", imageAlt: "Fish and chips"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sweet-pork-white-plate-with-chopped-scallions-chili-lime-gourd-tomato-garlic_1150-25951.jpg",
|
||||
imageAlt: "Tri tip steak",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sweet-pork-white-plate-with-chopped-scallions-chili-lime-gourd-tomato-garlic_1150-25951.jpg", imageAlt: "Tri tip steak"},
|
||||
]}
|
||||
mediaAnimation="slide-up"
|
||||
buttonAnimation="entrance-slide"
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -125,79 +114,43 @@ export default function HomePage() {
|
||||
tag="Customer Favorites"
|
||||
features={[
|
||||
{
|
||||
title: "Fluffy Pancakes",
|
||||
description: "Stacked high with butter and maple syrup perfection",
|
||||
bentoComponent: "media-stack",
|
||||
items: [
|
||||
title: "Fluffy Pancakes", description: "Stacked high with butter and maple syrup perfection", bentoComponent: "media-stack", items: [
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-yummy-pancakes-with-strawberries-honey-light_140725-121125.jpg?_wi=1",
|
||||
imageAlt: "Pancakes plate 1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-yummy-pancakes-with-strawberries-honey-light_140725-121125.jpg", imageAlt: "Pancakes plate 1"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-pancakes-with-fruits-top_181624-27677.jpg?_wi=1",
|
||||
imageAlt: "Pancakes plate 2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-pancakes-with-fruits-top_181624-27677.jpg", imageAlt: "Pancakes plate 2"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-pancakes-with-copy-space_23-2148454959.jpg?_wi=1",
|
||||
imageAlt: "Pancakes plate 3",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-pancakes-with-copy-space_23-2148454959.jpg", imageAlt: "Pancakes plate 3"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Fish & Chips",
|
||||
description: "Crispy battered fish with golden fries and tangy tartar sauce",
|
||||
bentoComponent: "media-stack",
|
||||
items: [
|
||||
title: "Fish & Chips", description: "Crispy battered fish with golden fries and tangy tartar sauce", bentoComponent: "media-stack", items: [
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fried-chicken-with-fried-potatoes_140725-113374.jpg?_wi=1",
|
||||
imageAlt: "Fish and chips 1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fried-chicken-with-fried-potatoes_140725-113374.jpg", imageAlt: "Fish and chips 1"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-corn-dog_23-2149388045.jpg?_wi=1",
|
||||
imageAlt: "Fish and chips 2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-delicious-corn-dog_23-2149388045.jpg", imageAlt: "Fish and chips 2"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-french-fries-bowls-with-salt-copy-space_23-2148701505.jpg?_wi=1",
|
||||
imageAlt: "Fish and chips 3",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/flat-lay-french-fries-bowls-with-salt-copy-space_23-2148701505.jpg", imageAlt: "Fish and chips 3"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Tri Tip Steak",
|
||||
description: "Tender, perfectly seasoned tri tip with sides",
|
||||
bentoComponent: "media-stack",
|
||||
items: [
|
||||
title: "Tri Tip Steak", description: "Tender, perfectly seasoned tri tip with sides", bentoComponent: "media-stack", items: [
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fried-meat-with-arugula-grilled-eggplants_141793-744.jpg?_wi=1",
|
||||
imageAlt: "Tri tip 1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/fried-meat-with-arugula-grilled-eggplants_141793-744.jpg", imageAlt: "Tri tip 1"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/two-raw-pork-fillets-bone-white-marble-table_127032-3585.jpg?_wi=1",
|
||||
imageAlt: "Tri tip 2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/two-raw-pork-fillets-bone-white-marble-table_127032-3585.jpg", imageAlt: "Tri tip 2"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/rare-cooked-steak-slices-served-with-mashed-avocado-walnut-lettuce-spinach-red-wine_141793-2268.jpg?_wi=1",
|
||||
imageAlt: "Tri tip 3",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/rare-cooked-steak-slices-served-with-mashed-avocado-walnut-lettuce-spinach-red-wine_141793-2268.jpg", imageAlt: "Tri tip 3"},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Clam Chowder",
|
||||
description: "Creamy, hearty clam chowder in fresh sourdough bread",
|
||||
bentoComponent: "media-stack",
|
||||
items: [
|
||||
title: "Clam Chowder", description: "Creamy, hearty clam chowder in fresh sourdough bread", bentoComponent: "media-stack", items: [
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-food-frame-with-copy-space_23-2148725086.jpg?_wi=1",
|
||||
imageAlt: "Clam chowder 1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/view-food-frame-with-copy-space_23-2148725086.jpg", imageAlt: "Clam chowder 1"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-closeup-shot-soup-with-seafood-vegetables-with-baguette-slices-blue-bench_181624-43301.jpg?_wi=1",
|
||||
imageAlt: "Clam chowder 2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-closeup-shot-soup-with-seafood-vegetables-with-baguette-slices-blue-bench_181624-43301.jpg", imageAlt: "Clam chowder 2"},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mushroom-soup-bread-white-ceramic-cup_1339-5111.jpg?_wi=1",
|
||||
imageAlt: "Clam chowder 3",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mushroom-soup-bread-white-ceramic-cup_1339-5111.jpg", imageAlt: "Clam chowder 3"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
@@ -231,53 +184,23 @@ export default function HomePage() {
|
||||
tag="Customer Reviews"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Sarah Johnson",
|
||||
role: "Local Resident",
|
||||
testimonial: "Great location, great service, large portions, and tons of options. I've been coming here for years!",
|
||||
icon: Heart,
|
||||
imageAlt: "Sarah Johnson",
|
||||
},
|
||||
id: "1", name: "Sarah Johnson", role: "Local Resident", testimonial: "Great location, great service, large portions, and tons of options. I've been coming here for years!", icon: Heart,
|
||||
imageAlt: "Sarah Johnson"},
|
||||
{
|
||||
id: "2",
|
||||
name: "Michael Chen",
|
||||
role: "Yosemite Visitor",
|
||||
testimonial: "Friendly staff and delicious food every time. The perfect stop before heading to Yosemite!",
|
||||
icon: Star,
|
||||
imageAlt: "Michael Chen",
|
||||
},
|
||||
id: "2", name: "Michael Chen", role: "Yosemite Visitor", testimonial: "Friendly staff and delicious food every time. The perfect stop before heading to Yosemite!", icon: Star,
|
||||
imageAlt: "Michael Chen"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Emily Rodriguez",
|
||||
role: "Regular Customer",
|
||||
testimonial: "Food came out quickly and coffee cups stayed full. Best breakfast in Oakhurst!",
|
||||
icon: ThumbsUp,
|
||||
imageAlt: "Emily Rodriguez",
|
||||
},
|
||||
id: "3", name: "Emily Rodriguez", role: "Regular Customer", testimonial: "Food came out quickly and coffee cups stayed full. Best breakfast in Oakhurst!", icon: ThumbsUp,
|
||||
imageAlt: "Emily Rodriguez"},
|
||||
{
|
||||
id: "4",
|
||||
name: "David Kim",
|
||||
role: "Traveler",
|
||||
testimonial: "Excellent service and amazing comfort food. This is now our go-to spot whenever we visit the area.",
|
||||
icon: Award,
|
||||
imageAlt: "David Kim",
|
||||
},
|
||||
id: "4", name: "David Kim", role: "Traveler", testimonial: "Excellent service and amazing comfort food. This is now our go-to spot whenever we visit the area.", icon: Award,
|
||||
imageAlt: "David Kim"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Jessica Martinez",
|
||||
role: "Local Family",
|
||||
testimonial: "Family-friendly atmosphere with something for everyone. The kids love it, and so do we!",
|
||||
icon: Users,
|
||||
imageAlt: "Jessica Martinez",
|
||||
},
|
||||
id: "5", name: "Jessica Martinez", role: "Local Family", testimonial: "Family-friendly atmosphere with something for everyone. The kids love it, and so do we!", icon: Users,
|
||||
imageAlt: "Jessica Martinez"},
|
||||
{
|
||||
id: "6",
|
||||
name: "Robert Thompson",
|
||||
role: "Frequent Visitor",
|
||||
testimonial: "Consistent quality, generous portions, and authentic homestyle cooking. Mountain Oaks is a gem!",
|
||||
icon: Gem,
|
||||
imageAlt: "Robert Thompson",
|
||||
},
|
||||
id: "6", name: "Robert Thompson", role: "Frequent Visitor", testimonial: "Consistent quality, generous portions, and authentic homestyle cooking. Mountain Oaks is a gem!", icon: Gem,
|
||||
imageAlt: "Robert Thompson"},
|
||||
]}
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
@@ -292,47 +215,17 @@ export default function HomePage() {
|
||||
tag="Photo Gallery"
|
||||
products={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Dining Interior",
|
||||
price: "Cozy Vibes",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-wooden-chairs-tables-modern-living-room_181624-41970.jpg?_wi=1",
|
||||
imageAlt: "Restaurant interior",
|
||||
},
|
||||
id: "1", name: "Dining Interior", price: "Cozy Vibes", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-wooden-chairs-tables-modern-living-room_181624-41970.jpg", imageAlt: "Restaurant interior"},
|
||||
{
|
||||
id: "2",
|
||||
name: "Happy Diners",
|
||||
price: "Community",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-couple-having-fun-while-eating-dessert-taking-selfie-cafe_637285-9092.jpg?_wi=1",
|
||||
imageAlt: "Happy customers",
|
||||
},
|
||||
id: "2", name: "Happy Diners", price: "Community", imageSrc: "http://img.b2bpic.net/free-photo/happy-couple-having-fun-while-eating-dessert-taking-selfie-cafe_637285-9092.jpg", imageAlt: "Happy customers"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Large Portions",
|
||||
price: "Generous",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-family-having-nice-thanksgiving-dinner-together_23-2149082333.jpg?_wi=1",
|
||||
imageAlt: "Large plate portions",
|
||||
},
|
||||
id: "3", name: "Large Portions", price: "Generous", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-family-having-nice-thanksgiving-dinner-together_23-2149082333.jpg", imageAlt: "Large plate portions"},
|
||||
{
|
||||
id: "4",
|
||||
name: "Fresh Food",
|
||||
price: "Quality",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mid-shot-chef-cutting-salad_23-2148794092.jpg?_wi=1",
|
||||
imageAlt: "Fresh prepared food",
|
||||
},
|
||||
id: "4", name: "Fresh Food", price: "Quality", imageSrc: "http://img.b2bpic.net/free-photo/mid-shot-chef-cutting-salad_23-2148794092.jpg", imageAlt: "Fresh prepared food"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Breakfast Setup",
|
||||
price: "Morning Magic",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pancake-fruit-juice-cake-slice-coffee-cup-breakfast-table_23-2147942214.jpg?_wi=1",
|
||||
imageAlt: "Breakfast service",
|
||||
},
|
||||
id: "5", name: "Breakfast Setup", price: "Morning Magic", imageSrc: "http://img.b2bpic.net/free-photo/pancake-fruit-juice-cake-slice-coffee-cup-breakfast-table_23-2147942214.jpg", imageAlt: "Breakfast service"},
|
||||
{
|
||||
id: "6",
|
||||
name: "Warm Lighting",
|
||||
price: "Ambiance",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/guy-whirling-cheerful-lady-restaurant_23-2148016861.jpg?_wi=1",
|
||||
imageAlt: "Cozy restaurant lighting",
|
||||
},
|
||||
id: "6", name: "Warm Lighting", price: "Ambiance", imageSrc: "http://img.b2bpic.net/free-photo/guy-whirling-cheerful-lady-restaurant_23-2148016861.jpg", imageAlt: "Cozy restaurant lighting"},
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
textboxLayout="default"
|
||||
|
||||
@@ -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";
|
||||
className?: string;
|
||||
logoText?: string;
|
||||
animate?: boolean;
|
||||
}
|
||||
|
||||
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> = ({
|
||||
className = "", logoText = "Text Logo", animate = false,
|
||||
}) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
className={className}
|
||||
viewBox="0 0 300 100"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
aria-label={logoText}
|
||||
>
|
||||
<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="central"
|
||||
className={`text-2xl font-bold ${
|
||||
animate ? "animate-pulse" : ""
|
||||
}`}
|
||||
fill="currentColor"
|
||||
>
|
||||
{logoText}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user