5 Commits

Author SHA1 Message Date
66604d8959 Merge version_11 into main
Merge version_11 into main
2026-03-17 07:11:07 +00:00
d1ee5d7f73 Update src/app/page.tsx 2026-03-17 07:11:03 +00:00
e7933b5911 Merge version_9 into main
Merge version_9 into main
2026-03-17 06:37:51 +00:00
8b6afaa107 Update src/app/page.tsx 2026-03-17 06:37:47 +00:00
275a1cabc7 Merge version_8 into main
Merge version_8 into main
2026-03-17 06:36:17 +00:00

View File

@@ -10,8 +10,31 @@ import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen'; import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
import ContactCenter from '@/components/sections/contact/ContactCenter'; import ContactCenter from '@/components/sections/contact/ContactCenter';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'; import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import { useState } from 'react';
import { MessageCircle } from 'lucide-react';
export default function LandingPage() { 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 ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="bounce-effect" defaultButtonVariant="bounce-effect"
@@ -27,13 +50,14 @@ export default function LandingPage() {
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Mondo House" brandName="Coffee Shop"
navItems={[ navItems={[
{ name: "Home", id: "hero" }, { name: "Home", id: "hero" },
{ name: "About", id: "about" }, { name: "About", id: "about" },
{ name: "Experience", id: "experience" }, { name: "Experience", id: "experience" },
{ name: "Menu", id: "menu" }, { name: "Menu", id: "menu" },
{ name: "Testimonials", id: "testimonials" } { name: "Testimonials", id: "testimonials" },
{ name: "Feedback", id: "feedback" }
]} ]}
button={{ button={{
text: "Visit Us Today", href: "#contact" text: "Visit Us Today", href: "#contact"
@@ -69,7 +93,7 @@ export default function LandingPage() {
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B3kHYi03TNsSDsRM9Ab1CVno1c/uploaded-1773728564093-9yu6yijx.jpg", imageAlt: "Leather workshop and craftsmanship" 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 - Mondo House Coffee Shop" ariaLabel="Hero section - Coffee Shop"
/> />
</div> </div>
@@ -90,7 +114,7 @@ export default function LandingPage() {
<div id="experience" data-section="experience"> <div id="experience" data-section="experience">
<FeatureCardEight <FeatureCardEight
title="The Mondo House Experience" title="The Coffee Shop Experience"
description="More than coffee—it's an escape. Enjoy our unique duplex setting paired with a working leather workshop." description="More than coffee—it's an escape. Enjoy our unique duplex setting paired with a working leather workshop."
tag="What Makes Us Special" tag="What Makes Us Special"
tagAnimation="slide-up" tagAnimation="slide-up"
@@ -162,7 +186,7 @@ export default function LandingPage() {
<div id="testimonials" data-section="testimonials"> <div id="testimonials" data-section="testimonials">
<TestimonialCardSixteen <TestimonialCardSixteen
title="What Our Guests Say" title="What Our Guests Say"
description="Real words from people who've made Mondo House their escape." description="Real words from people who've made our coffee shop their escape."
tag="Testimonials" tag="Testimonials"
tagAnimation="slide-up" tagAnimation="slide-up"
testimonials={[ testimonials={[
@@ -210,11 +234,96 @@ export default function LandingPage() {
/> />
</div> </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"> <div id="contact" data-section="contact">
<ContactCenter <ContactCenter
tag="Your New Favorite Place" tag="Your New Favorite Place"
title="Ready for an Escape?" title="Ready for an Escape?"
description="Join us at Mondo House. Book a visit or drop us a message—we'd love to welcome you." description="Join us at our coffee shop. Book a visit or drop us a message—we'd love to welcome you."
tagAnimation="slide-up" tagAnimation="slide-up"
background={{ variant: "plain" }} background={{ variant: "plain" }}
useInvertedBackground={true} useInvertedBackground={true}
@@ -227,7 +336,7 @@ export default function LandingPage() {
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBaseCard <FooterBaseCard
logoText="Mondo House" logoText="Coffee Shop"
columns={[ columns={[
{ {
title: "Navigate", items: [ title: "Navigate", items: [
@@ -242,7 +351,7 @@ export default function LandingPage() {
{ label: "Address", href: "#" }, { label: "Address", href: "#" },
{ label: "Hours", href: "#" }, { label: "Hours", href: "#" },
{ label: "Phone", href: "tel:+97699999999" }, { label: "Phone", href: "tel:+97699999999" },
{ label: "Email", href: "mailto:hello@mondohouse.mn" } { label: "Email", href: "mailto:hello@coffeeshop.mn" }
] ]
}, },
{ {
@@ -250,11 +359,11 @@ export default function LandingPage() {
{ label: "Instagram", href: "https://instagram.com" }, { label: "Instagram", href: "https://instagram.com" },
{ label: "Facebook", href: "https://facebook.com" }, { label: "Facebook", href: "https://facebook.com" },
{ label: "Contact", href: "#contact" }, { label: "Contact", href: "#contact" },
{ label: "Newsletter", href: "#contact" } { label: "Feedback", href: "#feedback" }
] ]
} }
]} ]}
copyrightText="© 2025 Mondo House Coffee & Leather Workshop. All rights reserved." copyrightText="© 2025 Coffee Shop. All rights reserved."
ariaLabel="Site footer" ariaLabel="Site footer"
/> />
</div> </div>