Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4877cbe792 | |||
| ea59513257 | |||
| b8b63bdc58 | |||
| 7641bac665 | |||
| 02edbc91a5 |
@@ -1,57 +1,20 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Halant } from "next/font/google";
|
|
||||||
import { Inter } from "next/font/google";
|
import { Inter } from "next/font/google";
|
||||||
import { Montserrat } from "next/font/google";
|
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const halant = Halant({
|
const inter = Inter({ subsets: ["latin"] });
|
||||||
variable: "--font-halant", subsets: ["latin"],
|
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const inter = Inter({
|
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const montserrat = Montserrat({
|
|
||||||
variable: "--font-montserrat", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Happy Waffles - Best Waffles in Vile Parle, Mumbai | 5.0 Rated", description: "Discover Mumbai's most loved waffles in Vile Parle. Fresh, crispy, and delicious. Open 9 PM. Call now or order on WhatsApp for bulk orders and late-night cravings.", keywords: "best waffles Vile Parle, waffles Mumbai, Kit Kat waffle, late night dessert, waffle delivery, bulk waffle orders, 5 star waffles", metadataBase: new URL("https://happywaffles.com"),
|
title: "Happy Waffles - Mumbai's Most Loved Waffles", description: "Perfectly crispy waffles with rich chocolate flavor. 5.0 rated in Vile Parle. Open late at night. Order now!"};
|
||||||
alternates: {
|
|
||||||
canonical: "https://happywaffles.com"},
|
|
||||||
openGraph: {
|
|
||||||
title: "Happy Waffles - Best Waffles in Vile Parle, Mumbai", description: "Crispy outside, soft inside. Premium quality waffles at affordable prices. 5.0 rated by 150+ customers. Open 9 PM onwards.", url: "https://happywaffles.com", siteName: "Happy Waffles", type: "website", images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/vertical-shot-delicious-waffles-with-chocolate-dip-white-table_181624-35642.jpg", alt: "Happy Waffles - Premium waffle experience"},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Happy Waffles - Best Waffles in Vile Parle", description: "Fresh, crispy waffles made with love. 5.0 rating. Order now via WhatsApp or call!", images: ["http://img.b2bpic.net/free-photo/vertical-shot-delicious-waffles-with-chocolate-dip-white-table_181624-35642.jpg"],
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={inter.className}>{children}
|
||||||
<body
|
|
||||||
className={`${halant.variable} ${inter.variable} ${montserrat.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1419,7 +1382,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,9 +11,13 @@ import FaqSplitText from '@/components/sections/faq/FaqSplitText';
|
|||||||
import FeatureCardTwentyOne from '@/components/sections/feature/FeatureCardTwentyOne';
|
import FeatureCardTwentyOne from '@/components/sections/feature/FeatureCardTwentyOne';
|
||||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import { Gift, Heart, Star, Utensils } from "lucide-react";
|
import { Gift, Heart, Star, Utensils, ShoppingCart } from "lucide-react";
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
|
const handleOrderClick = () => {
|
||||||
|
window.open('https://wa.me/919876543210', '_blank');
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="text-shift"
|
defaultButtonVariant="text-shift"
|
||||||
@@ -75,6 +79,15 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="signature-waffles" data-section="signature-waffles">
|
<div id="signature-waffles" data-section="signature-waffles">
|
||||||
|
<div className="flex flex-col items-center justify-center gap-6 mb-8">
|
||||||
|
<button
|
||||||
|
onClick={handleOrderClick}
|
||||||
|
className="px-8 py-3 bg-gradient-to-r from-orange-500 to-red-500 text-white font-semibold rounded-full hover:shadow-lg transition-all duration-300 hover:scale-105 flex items-center gap-2"
|
||||||
|
>
|
||||||
|
<ShoppingCart size={20} />
|
||||||
|
Order Your Favorite
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<ProductCardFour
|
<ProductCardFour
|
||||||
title="Our Signature Waffles"
|
title="Our Signature Waffles"
|
||||||
description="Handcrafted waffles made fresh to order. Bulk orders and custom platters available."
|
description="Handcrafted waffles made fresh to order. Bulk orders and custom platters available."
|
||||||
@@ -103,6 +116,15 @@ export default function LandingPage() {
|
|||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
/>
|
/>
|
||||||
|
<div className="flex flex-col items-center justify-center gap-6 mt-8">
|
||||||
|
<button
|
||||||
|
onClick={handleOrderClick}
|
||||||
|
className="px-8 py-3 bg-gradient-to-r from-orange-500 to-red-500 text-white font-semibold rounded-full hover:shadow-lg transition-all duration-300 hover:scale-105 flex items-center gap-2"
|
||||||
|
>
|
||||||
|
<ShoppingCart size={20} />
|
||||||
|
Order Now
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="social-proof" data-section="social-proof">
|
<div id="social-proof" data-section="social-proof">
|
||||||
|
|||||||
Reference in New Issue
Block a user