Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b6afaa107 | |||
| 275a1cabc7 | |||
| f47cb979e8 | |||
| 174e4e73c7 | |||
| bbdf16c714 | |||
| 0d13452a3c | |||
| da4dc87caa | |||
| f1f5d23afa | |||
| 642d60aa80 | |||
| 4f4a20ea50 | |||
| 61bb27e336 | |||
| 63a0fa237e | |||
| aa3a4ce9b1 | |||
| 28e2d62c95 | |||
| 67894c3024 | |||
| d5f58c93c4 | |||
| b03c95eec0 | |||
| 4e2e5df9cc | |||
| 0b797d5d42 | |||
| c18080c323 |
192
src/app/page.tsx
192
src/app/page.tsx
@@ -10,8 +10,31 @@ import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
|
||||
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
|
||||
import ContactCenter from '@/components/sections/contact/ContactCenter';
|
||||
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
|
||||
import { useState } from 'react';
|
||||
import { MessageCircle } from 'lucide-react';
|
||||
|
||||
export default function LandingPage() {
|
||||
const [feedbackTitle, setFeedbackTitle] = useState('');
|
||||
const [feedbackMessage, setFeedbackMessage] = useState('');
|
||||
const [feedbackType, setFeedbackType] = useState('feedback');
|
||||
const [submitted, setSubmitted] = useState(false);
|
||||
|
||||
const handleFeedbackSubmit = () => {
|
||||
if (feedbackTitle.trim() && feedbackMessage.trim()) {
|
||||
console.log({
|
||||
type: feedbackType,
|
||||
title: feedbackTitle,
|
||||
message: feedbackMessage,
|
||||
timestamp: new Date().toISOString()
|
||||
});
|
||||
setFeedbackTitle('');
|
||||
setFeedbackMessage('');
|
||||
setFeedbackType('feedback');
|
||||
setSubmitted(true);
|
||||
setTimeout(() => setSubmitted(false), 3000);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
@@ -27,13 +50,14 @@ export default function LandingPage() {
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Cozy Haven"
|
||||
brandName="Mondo House"
|
||||
navItems={[
|
||||
{ name: "Home", id: "hero" },
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Experience", id: "experience" },
|
||||
{ name: "Menu", id: "menu" },
|
||||
{ name: "Testimonials", id: "testimonials" }
|
||||
{ name: "Testimonials", id: "testimonials" },
|
||||
{ name: "Feedback", id: "feedback" }
|
||||
]}
|
||||
button={{
|
||||
text: "Visit Us Today", href: "#contact"
|
||||
@@ -54,17 +78,30 @@ export default function LandingPage() {
|
||||
background={{ variant: "plain" }}
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/traveller-texting-messages-before-skiing_482257-76509.jpg", imageAlt: "Cozy coffee shop with warm lighting and comfortable seating"
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-ikkmcbiq.jpg?_wi=1", imageAlt: "Cozy coffee shop with warm lighting and comfortable seating"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-mvx34qs7.jpg?_wi=1", imageAlt: "Premium coffee preparation area"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-tlw08bfx.jpg", imageAlt: "Artisan workspace and coffee bar"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-qzujjgtq.jpg", imageAlt: "Cozy seating arrangement"
|
||||
},
|
||||
{
|
||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-9yu6yijx.jpg", imageAlt: "Leather workshop and craftsmanship"
|
||||
}
|
||||
]}
|
||||
ariaLabel="Hero section - Cozy Haven Coffee Shop"
|
||||
ariaLabel="Hero section - Mondo House Coffee Shop"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<InlineImageSplitTextAbout
|
||||
heading={[
|
||||
{ type: "text", content: "A Story of Passion & Craft" }
|
||||
{ type: "text", content: "A Story of Passion & Craft" },
|
||||
{ type: "image", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728189799-qs3tvwo0.jpg", alt: "Coffee and leather craftsmanship" }
|
||||
]}
|
||||
buttons={[
|
||||
{ text: "Learn More", href: "#experience" }
|
||||
@@ -77,18 +114,18 @@ export default function LandingPage() {
|
||||
|
||||
<div id="experience" data-section="experience">
|
||||
<FeatureCardEight
|
||||
title="The Cozy Haven Experience"
|
||||
title="The Mondo House Experience"
|
||||
description="More than coffee—it's an escape. Enjoy our unique duplex setting paired with a working leather workshop."
|
||||
tag="What Makes Us Special"
|
||||
tagAnimation="slide-up"
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Duplex Seating", description: "Multi-level comfort with intimate corners and open spaces. Every seat tells a story.", imageSrc: "http://img.b2bpic.net/free-photo/wide-restaurant-hall-with-wooden-table-chairs-6-persons_140725-8910.jpg", imageAlt: "Modern duplex coffee shop seating design"
|
||||
title: "Duplex Seating", description: "Multi-level comfort with intimate corners and open spaces. Every seat tells a story.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773729328084-gg18424m.jpg", imageAlt: "Modern duplex coffee shop seating design"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Leather Workshop", description: "Watch artisans craft premium leather goods while you sip. Pure authenticity in action.", imageSrc: "http://img.b2bpic.net/free-photo/tailoring-workshop-arrangement-table_23-2148970731.jpg", imageAlt: "Artisan leather workshop crafting premium details"
|
||||
title: "Leather Workshop", description: "Watch artisans craft premium leather goods while you sip. Pure authenticity in action.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773729328085-vyb5h7wf.jpg", imageAlt: "Artisan leather workshop crafting premium details"
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
@@ -106,13 +143,19 @@ export default function LandingPage() {
|
||||
tagAnimation="slide-up"
|
||||
products={[
|
||||
{
|
||||
id: "espresso-airag", name: "Espresso Airag", price: "8,500₮", variant: "Unique Blend", imageSrc: "http://img.b2bpic.net/free-photo/hot-cup-coffee-with-cream-macaroon_140725-7521.jpg", imageAlt: "Specialty espresso airag signature drink"
|
||||
id: "velvet-espresso", name: "Velvet Espresso", price: "8,500₮", variant: "Single Origin Ethiopia", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773729328085-220yxdi8.jpg", imageAlt: "Velvet Espresso - rich and velvety single origin coffee"
|
||||
},
|
||||
{
|
||||
id: "traditional-mongolian", name: "Traditional Mongolian", price: "6,500₮", variant: "Heritage Recipe", imageSrc: "http://img.b2bpic.net/free-photo/side-view-hand-holding-emty-teapot_140725-12902.jpg", imageAlt: "Traditional Mongolian coffee beverage"
|
||||
id: "golden-cardamom-blend", name: "Golden Cardamom Blend", price: "7,500₮", variant: "Spiced Perfection", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773729328085-quw8eizl.png", imageAlt: "Golden Cardamom Blend - aromatic spiced coffee drink"
|
||||
},
|
||||
{
|
||||
id: "cold-brew-classic", name: "Cold Brew Classic", price: "7,000₮", variant: "24-Hour Steep", imageSrc: "http://img.b2bpic.net/free-photo/refreshing-boozy-white-russian-cocktail-with-vodka-cream_123827-37413.jpg", imageAlt: "Premium cold brew coffee"
|
||||
id: "midnight-cold-brew", name: "Midnight Cold Brew", price: "7,000₮", variant: "48-Hour Steep", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773729328085-jdd3018c.png", imageAlt: "Midnight Cold Brew - smooth and silky cold coffee"
|
||||
},
|
||||
{
|
||||
id: "honey-lavender-latte", name: "Honey Lavender Latte", price: "8,000₮", variant: "Floral & Smooth", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-ikkmcbiq.jpg?_wi=2", imageAlt: "Honey Lavender Latte - delicate floral coffee experience"
|
||||
},
|
||||
{
|
||||
id: "dark-cherry-mocha", name: "Dark Cherry Mocha", price: "8,200₮", variant: "Premium Blend", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-mvx34qs7.jpg?_wi=2", imageAlt: "Dark Cherry Mocha - rich chocolate and cherry fusion"
|
||||
}
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
@@ -143,25 +186,39 @@ export default function LandingPage() {
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<TestimonialCardSixteen
|
||||
title="What Our Guests Say"
|
||||
description="Real words from people who've made Cozy Haven their escape."
|
||||
description="Real words from people who've made Mondo House their escape."
|
||||
tag="Testimonials"
|
||||
tagAnimation="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Sarah Johnson", role: "Digital Nomad", company: "Remote Worker", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-cheerful-smiling-woman-sweater-standing-with-arms-folded-isolated-gray-background_231208-7348.jpg"
|
||||
id: "1", name: "Batchuluun Otgonzaya", role: "Coffee Enthusiast", company: "Local Community", rating: 5
|
||||
},
|
||||
{
|
||||
id: "2", name: "Michael Chen", role: "Business Owner", company: "Local Startup", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-businessman-office-clothing_23-2148763859.jpg"
|
||||
id: "2", name: "Panacea Cruden", role: "Designer", company: "Creative Collective", rating: 5
|
||||
},
|
||||
{
|
||||
id: "3", name: "Amara Tserendorj", role: "Artist & Designer", company: "Creative Studio", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stylish-woman-silk-beige-dress-orange-oversized-blazer-green-positive-emotions-smile_343596-6539.jpg"
|
||||
id: "3", name: "Gantig Bayrmaa", role: "Artist", company: "Independent Creator", rating: 5
|
||||
},
|
||||
{
|
||||
id: "4", name: "David Kim", role: "Barista Enthusiast", company: "Coffee Connoisseur", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-smiley-woman-holding-cup_23-2149442323.jpg"
|
||||
id: "4", name: "Цэрэнсодном Энхбаатар", role: "Entrepreneur", company: "Local Business", rating: 5
|
||||
},
|
||||
{
|
||||
id: "5", name: "Enkhuush Enkhuush", role: "Writer", company: "Content Creator", rating: 5
|
||||
},
|
||||
{
|
||||
id: "6", name: "Enguilen Gan-Erdene", role: "Musician", company: "Independent Artist", rating: 5
|
||||
},
|
||||
{
|
||||
id: "7", name: "it's me XIII", role: "Blogger", company: "Digital Influencer", rating: 5
|
||||
},
|
||||
{
|
||||
id: "8", name: "Bayasgalan Boldbaatar", role: "Consultant", company: "Strategic Partner", rating: 5
|
||||
},
|
||||
{
|
||||
id: "9", name: "맹남주", role: "Cultural Ambassador", company: "International Connection", rating: 5
|
||||
},
|
||||
{
|
||||
id: "10", name: "Sarah Johnson", role: "Digital Nomad", company: "Remote Worker", rating: 5
|
||||
}
|
||||
]}
|
||||
kpiItems={[
|
||||
@@ -177,11 +234,96 @@ export default function LandingPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="feedback" data-section="feedback">
|
||||
<div className="w-full py-20 px-6 bg-gradient-to-b from-transparent to-transparent">
|
||||
<div className="max-w-3xl mx-auto">
|
||||
<div className="mb-12 text-center">
|
||||
<div className="inline-flex items-center justify-center w-16 h-16 rounded-full bg-blue-100 mb-6">
|
||||
<MessageCircle className="w-8 h-8 text-blue-600" />
|
||||
</div>
|
||||
<h2 className="text-4xl font-bold mb-4 text-foreground">We Value Your Feedback</h2>
|
||||
<p className="text-lg text-foreground/70">Help us improve your experience. Share your thoughts, suggestions, or report any issues.</p>
|
||||
</div>
|
||||
|
||||
<div className="bg-card rounded-2xl p-8 shadow-lg">
|
||||
<div className="mb-6">
|
||||
<label className="block text-sm font-semibold text-foreground mb-3">Type</label>
|
||||
<select
|
||||
value={feedbackType}
|
||||
onChange={(e) => setFeedbackType(e.target.value)}
|
||||
className="w-full px-4 py-3 rounded-lg border border-accent bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
>
|
||||
<option value="feedback">General Feedback</option>
|
||||
<option value="complaint">Complaint</option>
|
||||
<option value="suggestion">Suggestion</option>
|
||||
<option value="compliment">Compliment</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div className="mb-6">
|
||||
<label className="block text-sm font-semibold text-foreground mb-3">Title</label>
|
||||
<input
|
||||
type="text"
|
||||
value={feedbackTitle}
|
||||
onChange={(e) => setFeedbackTitle(e.target.value)}
|
||||
placeholder="What's this about?"
|
||||
className="w-full px-4 py-3 rounded-lg border border-accent bg-background text-foreground placeholder-foreground/50 focus:outline-none focus:ring-2 focus:ring-primary-cta"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="mb-6">
|
||||
<label className="block text-sm font-semibold text-foreground mb-3">Your Message</label>
|
||||
<textarea
|
||||
value={feedbackMessage}
|
||||
onChange={(e) => setFeedbackMessage(e.target.value)}
|
||||
placeholder="Tell us what's on your mind. Be as detailed as you'd like."
|
||||
rows={6}
|
||||
className="w-full px-4 py-3 rounded-lg border border-accent bg-background text-foreground placeholder-foreground/50 focus:outline-none focus:ring-2 focus:ring-primary-cta resize-none"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<button
|
||||
onClick={handleFeedbackSubmit}
|
||||
disabled={!feedbackTitle.trim() || !feedbackMessage.trim()}
|
||||
className="w-full py-3 px-6 rounded-lg font-semibold text-white transition-all duration-300 disabled:opacity-50 disabled:cursor-not-allowed"
|
||||
style={{
|
||||
backgroundColor: feedbackTitle.trim() && feedbackMessage.trim() ? 'var(--primary-cta)' : 'var(--accent)',
|
||||
cursor: feedbackTitle.trim() && feedbackMessage.trim() ? 'pointer' : 'not-allowed'
|
||||
}}
|
||||
>
|
||||
{submitted ? '✓ Thank You! Your feedback has been received.' : 'Submit Feedback'}
|
||||
</button>
|
||||
|
||||
{submitted && (
|
||||
<div className="mt-4 p-4 bg-green-100 text-green-800 rounded-lg text-center text-sm">
|
||||
We appreciate your input and will review it shortly.
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="mt-12 grid grid-cols-3 gap-6 text-center">
|
||||
<div>
|
||||
<div className="text-2xl font-bold text-primary-cta mb-2">100+</div>
|
||||
<p className="text-foreground/70 text-sm">Feedback Received</p>
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-2xl font-bold text-primary-cta mb-2">95%</div>
|
||||
<p className="text-foreground/70 text-sm">Satisfaction Rate</p>
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-2xl font-bold text-primary-cta mb-2">24h</div>
|
||||
<p className="text-foreground/70 text-sm">Response Time</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactCenter
|
||||
tag="Your New Favorite Place"
|
||||
title="Ready for an Escape?"
|
||||
description="Join us at Cozy Haven. Book a visit or drop us a message—we'd love to welcome you."
|
||||
description="Join us at Mondo House. Book a visit or drop us a message—we'd love to welcome you."
|
||||
tagAnimation="slide-up"
|
||||
background={{ variant: "plain" }}
|
||||
useInvertedBackground={true}
|
||||
@@ -194,7 +336,7 @@ export default function LandingPage() {
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterBaseCard
|
||||
logoText="Cozy Haven"
|
||||
logoText="Mondo House"
|
||||
columns={[
|
||||
{
|
||||
title: "Navigate", items: [
|
||||
@@ -209,7 +351,7 @@ export default function LandingPage() {
|
||||
{ label: "Address", href: "#" },
|
||||
{ label: "Hours", href: "#" },
|
||||
{ label: "Phone", href: "tel:+97699999999" },
|
||||
{ label: "Email", href: "mailto:hello@cozyhaven.mn" }
|
||||
{ label: "Email", href: "mailto:hello@mondohouse.mn" }
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -217,11 +359,11 @@ export default function LandingPage() {
|
||||
{ label: "Instagram", href: "https://instagram.com" },
|
||||
{ label: "Facebook", href: "https://facebook.com" },
|
||||
{ label: "Contact", href: "#contact" },
|
||||
{ label: "Newsletter", href: "#contact" }
|
||||
{ label: "Feedback", href: "#feedback" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
copyrightText="© 2025 Cozy Haven Coffee & Leather Workshop. All rights reserved."
|
||||
copyrightText="© 2025 Mondo House Coffee & Leather Workshop. All rights reserved."
|
||||
ariaLabel="Site footer"
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user