updated next config and feature pages
@ -1,11 +1,11 @@
|
|||||||
import type { NextConfig } from "next";
|
import type { NextConfig } from "next";
|
||||||
|
|
||||||
const nextConfig: NextConfig = {
|
const nextConfig: NextConfig = {
|
||||||
output: "export", // needed for static export
|
output: "export", // for static export
|
||||||
trailingSlash: true,
|
trailingSlash: true,
|
||||||
|
|
||||||
images: {
|
images: {
|
||||||
unoptimized: true, // ✅ keep this
|
unoptimized: true, // required for static export
|
||||||
remotePatterns: [
|
remotePatterns: [
|
||||||
{
|
{
|
||||||
protocol: "https",
|
protocol: "https",
|
||||||
@ -37,8 +37,6 @@ const nextConfig: NextConfig = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default nextConfig;
|
export default nextConfig;
|
||||||
@ -1,4 +1,5 @@
|
|||||||
User-agent: *
|
User-agent: *
|
||||||
Allow: /
|
Allow: /
|
||||||
|
|
||||||
Sitemap: https://dine360.vercel.app/sitemap.xml
|
Sitemap: https://dine360.vercel.app/sitemap.xml
|
||||||
|
Host: https://dine360.vercel.app
|
||||||
@ -1,11 +1,369 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
<!-- Main Pages -->
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>1.0</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>https://dine360.vercel.app/</loc>
|
<loc>https://dine360.vercel.app/about</loc>
|
||||||
<lastmod>2026-04-01</lastmod>
|
<lastmod>2026-04-04</lastmod>
|
||||||
<changefreq>weekly</changefreq>
|
<changefreq>monthly</changefreq>
|
||||||
<priority>1.0</priority>
|
<priority>0.8</priority>
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/blog</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.8</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/contact</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.9</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/faq</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.8</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.9</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/pricing</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.9</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/privacy</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>yearly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/terms</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>yearly</changefreq>
|
||||||
|
<priority>0.5</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<!-- Features Pages -->
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/business-dashboard</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/inventory-management</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/invoicing</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/kitchen-management</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/loyalty-management</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/multi-menu-management</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/order-management</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/pos</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.8</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/promotion-management</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/promotions</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/qr-code-menu</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/restaurant-website</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/table-reservation</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/team-communication</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/features/uber-integration</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.7</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<!-- Restaurant Types Pages -->
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>weekly</changefreq>
|
||||||
|
<priority>0.9</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/bakery</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/bistro</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/buffet</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/cafe-bistro</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/cafeteria</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/casual-dining</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/coffee-house</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/concession</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/contemporary-casual</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/delivery-only</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/destination</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/digital-only</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/diner</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/family-style</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/fast-casual</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/fast-food</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/fine-dine</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/fine-dining</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/food-truck</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/full-service</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/ghost-kitchen</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/ghost-restaurant</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/mongolian-bbq</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/pop-up</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/pub</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/teppanyaki</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://dine360.vercel.app/restaurant-types/theme</loc>
|
||||||
|
<lastmod>2026-04-04</lastmod>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<priority>0.6</priority>
|
||||||
|
</url>
|
||||||
</urlset>
|
</urlset>
|
||||||
14
src/app/about/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'About Dine360 | Restaurant Management Platform',
|
||||||
|
description: 'Learn about Dine360 and how we help restaurants manage operations, improve efficiency, and grow with smart technology.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function AboutLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
@ -8,6 +8,10 @@ import Footer from '@/components/Footer';
|
|||||||
import MarketValuationSection from '@/components/MarketValuationSection';
|
import MarketValuationSection from '@/components/MarketValuationSection';
|
||||||
import { CheckCircle2, TrendingUp, Users, Trophy, ArrowRight } from 'lucide-react';
|
import { CheckCircle2, TrendingUp, Users, Trophy, ArrowRight } from 'lucide-react';
|
||||||
|
|
||||||
|
import aboutUsImg from '@/assets/about_us/about-us.webp';
|
||||||
|
import howItStartedImg from '@/assets/about_us/how-it-started.webp';
|
||||||
|
import ourPhilosophyImg from '@/assets/about_us/our-philosophy.webp';
|
||||||
|
|
||||||
const AboutPage = () => {
|
const AboutPage = () => {
|
||||||
return (
|
return (
|
||||||
<div className="min-h-screen bg-white text-zinc-900 font-sans selection:bg-rose-100 selection:text-rose-900">
|
<div className="min-h-screen bg-white text-zinc-900 font-sans selection:bg-rose-100 selection:text-rose-900">
|
||||||
@ -63,7 +67,7 @@ const AboutPage = () => {
|
|||||||
className="relative h-75 sm:h-100 w-full rounded-[2.5rem] overflow-hidden"
|
className="relative h-75 sm:h-100 w-full rounded-[2.5rem] overflow-hidden"
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
src="https://images.unsplash.com/photo-1497215728101-856f4ea42174?auto=format&fit=crop&q=80&w=1200"
|
src={aboutUsImg}
|
||||||
alt="Modern Office"
|
alt="Modern Office"
|
||||||
fill
|
fill
|
||||||
className="object-cover"
|
className="object-cover"
|
||||||
@ -79,7 +83,7 @@ const AboutPage = () => {
|
|||||||
className="relative h-50 w-full rounded-[2.5rem] overflow-hidden"
|
className="relative h-50 w-full rounded-[2.5rem] overflow-hidden"
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
src="https://images.unsplash.com/photo-1600880292203-757bb62b4baf?q=80&w=2070&auto=format&fit=crop"
|
src={ourPhilosophyImg}
|
||||||
alt="Team Collaboration"
|
alt="Team Collaboration"
|
||||||
fill
|
fill
|
||||||
className="object-cover"
|
className="object-cover"
|
||||||
@ -206,7 +210,7 @@ const AboutPage = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Image
|
<Image
|
||||||
src="https://images.unsplash.com/photo-1522071820081-009f0129c71c?q=80&w=2070&auto=format&fit=crop"
|
src={howItStartedImg}
|
||||||
alt="Founders working"
|
alt="Founders working"
|
||||||
fill
|
fill
|
||||||
className="object-cover relative z-10"
|
className="object-cover relative z-10"
|
||||||
|
|||||||
14
src/app/blog/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Management Tips & Insights | Dine360',
|
||||||
|
description: 'Read Dine360 blog for restaurant tips, POS insights, marketing strategies, and industry trends to grow your business.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BlogLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/contact/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Contact Dine360 | Restaurant Software Support',
|
||||||
|
description: 'Get in touch with Dine360 for demos, support, or pricing. We\'re here to help you grow your restaurant business.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function ContactLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
@ -4,6 +4,7 @@ import { Mail, Phone, MapPin, Facebook, Instagram, Linkedin, Youtube } from 'luc
|
|||||||
import Navbar from '@/components/Navbar'
|
import Navbar from '@/components/Navbar'
|
||||||
import Footer from '@/components/Footer'
|
import Footer from '@/components/Footer'
|
||||||
import Image from 'next/image'
|
import Image from 'next/image'
|
||||||
|
import contactImg from '@/assets/contact/contact.webp'
|
||||||
|
|
||||||
const ContactPage = () => {
|
const ContactPage = () => {
|
||||||
return (
|
return (
|
||||||
@ -117,7 +118,7 @@ const ContactPage = () => {
|
|||||||
<div className="space-y-12">
|
<div className="space-y-12">
|
||||||
<div className="relative rounded-[32px] overflow-hidden bg-zinc-100 aspect-[4/3] group">
|
<div className="relative rounded-[32px] overflow-hidden bg-zinc-100 aspect-[4/3] group">
|
||||||
<Image
|
<Image
|
||||||
src="https://images.pexels.com/photos/7703651/pexels-photo-7703651.jpeg"
|
src={contactImg}
|
||||||
alt="Quick Contact"
|
alt="Quick Contact"
|
||||||
fill
|
fill
|
||||||
className="object-cover transition-transform duration-700 group-hover:scale-105"
|
className="object-cover transition-transform duration-700 group-hover:scale-105"
|
||||||
|
|||||||
14
src/app/faq/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Software FAQs | Dine360',
|
||||||
|
description: 'Find answers about Dine360 features, pricing, setup, and support. Everything you need to know about our restaurant system.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FAQLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/business-dashboard/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Analytics & Business Dashboard | Dine360',
|
||||||
|
description: 'Track sales, orders, and performance with Dine360 dashboard. Get real-time insights, reports, and analytics to grow your restaurant business.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BusinessDashboardLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/inventory-management/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Inventory Management Software | Dine360',
|
||||||
|
description: 'Track ingredient stock, monitor usage, and receive low-stock alerts with Dine360 inventory management to reduce waste and control costs.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function InventoryManagementLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/invoicing/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Invoicing & Billing Software | Dine360',
|
||||||
|
description: 'Generate invoices automatically, handle tax calculations, and track payments with Dine360 invoicing built for restaurants.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function InvoicingLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/kitchen-management/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Kitchen Display System (KDS) for Restaurants | Dine360',
|
||||||
|
description: 'Streamline kitchen operations with Dine360 KDS. Sync orders from POS to kitchen screens, reduce mistakes, speed up preparation, and improve service.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function KitchenManagementLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Management Features | Dine360',
|
||||||
|
description: 'Explore Dine360\'s powerful POS and restaurant management features including order management, kitchen coordination, loyalty programs, inventory tracking, and more to transform your business.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FeaturesLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/loyalty-management/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant CRM Software for Guest Management | Dine360',
|
||||||
|
description: 'Track customer profiles, order history, and dining preferences with Dine360 CRM to improve guest experience and increase repeat visits.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function LoyaltyManagementLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/multi-menu-management/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Multi-Branch Restaurant Management Software | Dine360',
|
||||||
|
description: 'Manage multiple restaurant locations from one dashboard. Track performance, control operations, and scale your business with Dine360.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function MultiMenuManagementLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/order-management/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Sales Analytics & Reports | Dine360',
|
||||||
|
description: 'Analyze restaurant performance with real-time sales tracking, revenue reports, menu insights, and peak hour analytics using Dine360.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function OrderManagementLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/pos/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant POS System for Billing & Orders | Dine360',
|
||||||
|
description: 'Run your restaurant with Dine360 POS. Fast billing, multi-payment support, and real-time order tracking for dine-in, takeaway, and delivery.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function POSLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/promotion-management/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Promotions & Offers Management | Dine360',
|
||||||
|
description: 'Create, manage, and track restaurant promotions with Dine360. Boost sales, attract customers, and run targeted offers with real-time insights.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function PromotionManagementLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/promotions/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Purchase & Vendor Management | Dine360',
|
||||||
|
description: 'Manage suppliers, track purchase orders, and update inventory automatically with Dine360 purchase management for restaurants.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function PromotionsLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/qr-code-menu/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'QR Code Menu for Restaurants | Dine360',
|
||||||
|
description: 'Create digital menus with QR codes for contactless dining. Update menu items instantly and improve customer experience with Dine360.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function QRCodeMenuLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/restaurant-website/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Website & Online Ordering System | Dine360',
|
||||||
|
description: 'Build your restaurant website and accept direct online orders with Dine360. Increase revenue, reduce third-party fees, and manage orders easily.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function RestaurantWebsiteLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/table-reservation/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Table Reservation System | Dine360',
|
||||||
|
description: 'Manage reservations, walk-ins, and table availability with Dine360. Visual floor layout, real-time table status, and faster seating for guests.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function TableReservationLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/team-communication/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Team Communication System | Dine360',
|
||||||
|
description: 'Improve staff coordination with Dine360 team communication. Share updates, sync kitchen and service teams, and reduce operational errors.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function TeamCommunicationLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/features/uber-integration/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Uber Order Integration for Restaurants | Dine360',
|
||||||
|
description: 'Sync Uber delivery orders directly with POS and kitchen systems. Manage online orders from one dashboard using Dine360.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function UberIntegrationLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
@ -1,3 +1,9 @@
|
|||||||
|
export const metadata = {
|
||||||
|
title: "Dine 360 | Best Restaurant POS in Hamilton, GTA & Kitchener | Save 50%",
|
||||||
|
description:
|
||||||
|
"Dine 360 is the most affordable POS for 1-3 location restaurants in Southern Ontario. No hardware fees. No hidden costs.",
|
||||||
|
};
|
||||||
|
|
||||||
import Navbar from "@/components/Navbar";
|
import Navbar from "@/components/Navbar";
|
||||||
import HeroSection from "@/components/HeroSection";
|
import HeroSection from "@/components/HeroSection";
|
||||||
import VideoSection from "@/components/VideoSection";
|
import VideoSection from "@/components/VideoSection";
|
||||||
|
|||||||
14
src/app/pricing/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant POS Pricing Plans & Packages | Dine360',
|
||||||
|
description: 'Explore Dine360 pricing plans for restaurants. Flexible, scalable solutions for POS, inventory, and complete restaurant management.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function PricingLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/bakery/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Bakery POS System for Orders & Inventory | Dine360',
|
||||||
|
description: 'Manage bakery operations with Dine360. Handle custom orders, billing, and inventory in real time.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BakeryLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/bistro/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Bistro Restaurant POS & Table Management | Dine360',
|
||||||
|
description: 'Manage your bistro efficiently with Dine360. Handle orders, tables, and billing while maintaining a cozy dining experience.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BistroLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/buffet/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Buffet Restaurant Management Software | Dine360',
|
||||||
|
description: 'Manage buffet operations with Dine360. Improve guest flow, billing, and table turnover for high-volume dining.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function BuffetLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/cafe-bistro/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Cafe & Coffee Shop POS Software | Dine360',
|
||||||
|
description: 'Streamline café operations with Dine360 POS. Manage orders, billing, tables, and takeaway efficiently during busy hours.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function CafeLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/cafeteria/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Cafeteria POS System for High Volume Orders | Dine360',
|
||||||
|
description: 'Manage cafeteria operations with Dine360. Fast billing, queue management, and efficient order handling for large crowds.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function CafeteriaLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/casual-dining/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Casual Dining Restaurant POS Software | Dine360',
|
||||||
|
description: 'Streamline casual dining operations with Dine360. Manage tables, orders, and billing efficiently for better service and growth.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function CasualDiningLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/coffee-house/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Coffee House POS & Order Management | Dine360',
|
||||||
|
description: 'Improve coffee shop operations with Dine360. Handle orders, billing, and customer flow smoothly during peak hours.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function CoffeeHouseLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/concession/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Concession Stand POS for Events & Stadiums | Dine360',
|
||||||
|
description: 'Run concession stands smoothly with Dine360. Fast billing, queue management, and high-volume order handling.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function ConcessionLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/contemporary-casual/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Contemporary Casual Restaurant Software | Dine360',
|
||||||
|
description: 'Balance speed and experience with Dine360. Manage modern dining operations with smart tools and real-time insights.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function ContemporaryCasualLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/delivery-only/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Delivery-Only Restaurant POS Software | Dine360',
|
||||||
|
description: 'Manage delivery-first restaurants with Dine360. Track orders, optimize delivery flow, and scale easily.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function DeliveryOnlyLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/destination/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Destination Restaurant Management Software | Dine360',
|
||||||
|
description: 'Deliver premium dining experiences with Dine360. Manage reservations, service flow, and operations effortlessly.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function DestinationLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/digital-only/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Digital-Only Restaurant & Cloud POS | Dine360',
|
||||||
|
description: 'Manage online-only restaurants with Dine360. Handle orders, delivery, and multiple brands from one dashboard.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function DigitalOnlyLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/diner/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Diner POS System for All-Day Service | Dine360',
|
||||||
|
description: 'Manage diner operations with Dine360. Handle breakfast, lunch, and dinner orders efficiently with real-time tracking.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function DinerLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/family-style/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Family Style Restaurant POS System | Dine360',
|
||||||
|
description: 'Manage large group dining and table service with Dine360. Simplify billing, seating, and order flow for family restaurants.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FamilyStyleLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/fast-casual/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Fast Casual Restaurant POS System | Dine360',
|
||||||
|
description: 'Speed up service and manage high-volume orders with Dine360 POS for fast casual restaurants. Improve efficiency and revenue.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FastCasualLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/fast-food/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Fast Food Restaurant POS & Billing System | Dine360',
|
||||||
|
description: 'Run fast food operations smoothly with Dine360 POS. Handle high-volume orders, reduce queues, and improve service speed.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FastFoodLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/fine-dine/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Fine Dining POS System for Upscale Restaurants | Dine360',
|
||||||
|
description: 'Elevate your fine dining experience with Dine360. Manage course timing, wine service, and guest preferences effortlessly.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FineDineLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/fine-dining/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Fine Dining Restaurant Management Software | Dine360',
|
||||||
|
description: 'Manage fine dining operations with precision using Dine360. Improve reservations, service flow, and guest experience seamlessly.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FineDiningLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/food-truck/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Food Truck POS System & Mobile Restaurant Software | Dine360',
|
||||||
|
description: 'Manage your food truck or street food business with Dine360. Fast billing, order tracking, and mobile-friendly POS system.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FoodTruckLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/full-service/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Full Service Restaurant POS & Management | Dine360',
|
||||||
|
description: 'Manage full-service restaurant operations with Dine360. Handle reservations, tableside service, and detailed billing seamlessly.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function FullServiceLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/ghost-kitchen/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Ghost Kitchen & Cloud Kitchen Software | Dine360',
|
||||||
|
description: 'Run ghost kitchens efficiently with Dine360. Manage multiple brands, orders, and delivery platforms from one system.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function GhostKitchenLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/ghost-restaurant/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Ghost Kitchen & Cloud Restaurant Software | Dine360',
|
||||||
|
description: 'Manage delivery-only restaurants and cloud kitchens with Dine360. Handle multiple brands, orders, and delivery platforms easily.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function GhostRestaurantLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Restaurant Types We Serve | POS Solutions | Dine360',
|
||||||
|
description: 'Discover how Dine360 supports all restaurant types including cafes, fast food, fine dining, and cloud kitchens with tailored solutions.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function RestaurantTypesLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/mongolian-bbq/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Mongolian BBQ Restaurant POS System | Dine360',
|
||||||
|
description: 'Manage high-volume custom dining with Dine360. Handle guest flow, billing, and operations efficiently.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function MongolianBBQLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/pop-up/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Pop-Up Restaurant POS & Event System | Dine360',
|
||||||
|
description: 'Run pop-up restaurants and events with Dine360. Quick setup, fast billing, and flexible operations anywhere.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function PopUpLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/pub/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Pub & Bar POS System for Order Management | Dine360',
|
||||||
|
description: 'Run your pub smoothly with Dine360 POS. Manage drink orders, tables, and billing during peak hours efficiently.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function PubLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/teppanyaki/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Teppanyaki & Hibachi Restaurant POS | Dine360',
|
||||||
|
description: 'Manage hibachi-style dining with Dine360. Handle group seating, timing, and billing efficiently.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function TeppanyakiLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
14
src/app/restaurant-types/theme/layout.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import type { Metadata } from 'next'
|
||||||
|
|
||||||
|
export const metadata: Metadata = {
|
||||||
|
title: 'Theme Restaurant Management Software | Dine360',
|
||||||
|
description: 'Deliver immersive dining experiences with Dine360. Manage service flow and operations without disruption.',
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function ThemeLayout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
return <>{children}</>
|
||||||
|
}
|
||||||
64
src/app/sitemap.ts
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
import { MetadataRoute } from 'next'
|
||||||
|
|
||||||
|
export default function sitemap(): MetadataRoute.Sitemap {
|
||||||
|
const baseUrl = "https://dine360.vercel.app"
|
||||||
|
|
||||||
|
return [
|
||||||
|
// MAIN PAGES
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/`,
|
||||||
|
changeFrequency: "weekly",
|
||||||
|
priority: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/features`,
|
||||||
|
changeFrequency: "weekly",
|
||||||
|
priority: 0.9,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/restaurant-types`,
|
||||||
|
changeFrequency: "weekly",
|
||||||
|
priority: 0.9,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/features/kds`,
|
||||||
|
lastModified: new Date(), changeFrequency: "monthly",
|
||||||
|
priority: 0.8,
|
||||||
|
},
|
||||||
|
|
||||||
|
// FEATURES SUB PAGES
|
||||||
|
{ url: `${baseUrl}/features/kds`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/table-reservation`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/crm`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/sales`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/inventory`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/purchase`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/uber-integration`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/invoicing`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/promotions`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/online-ordering`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/dashboard`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/multi-branch`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/team-communication`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/features/pos`, priority: 0.8 },
|
||||||
|
|
||||||
|
// RESTAURANT TYPES (from your data :contentReference[oaicite:0]{index=0})
|
||||||
|
{ url: `${baseUrl}/restaurant-types/fine-dining`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/casual-dining`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/fast-casual`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/cloud-kitchen`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/family-style`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/fast-food`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/food-truck`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/cafe`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/buffet`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/restaurant-types/pub`, priority: 0.7 },
|
||||||
|
|
||||||
|
// OTHER PAGES
|
||||||
|
{ url: `${baseUrl}/pricing`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/contact`, priority: 0.8 },
|
||||||
|
{ url: `${baseUrl}/about`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/blog`, priority: 0.7 },
|
||||||
|
{ url: `${baseUrl}/faq`, priority: 0.7 },
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
src/assets/about_us/about-us.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
src/assets/about_us/how-it-started.webp
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
src/assets/about_us/our-philosophy.webp
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
src/assets/contact/contact.webp
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
src/assets/homepage/banner/home-banner-1.webp
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
src/assets/homepage/banner/home-banner-2.webp
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
src/assets/homepage/banner/home-banner-3.webp
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/homepage/business-dashboard.webp
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/homepage/inventory-management.webp
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/homepage/multi-branch-control.webp
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/homepage/order-management.webp
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
src/assets/homepage/pos-system.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
src/assets/homepage/promotions.webp
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/homepage/qr-code-menu.webp
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
src/assets/homepage/table-reservation.webp
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
src/assets/homepage/testimonial.webp
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/homepage/website-ordering.webp
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/homepage/why-choose-us.webp
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
@ -2,22 +2,13 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
import { Utensils, Play, ArrowRight } from 'lucide-react';
|
import { Utensils, Play, ArrowRight } from 'lucide-react';
|
||||||
import Image from 'next/image';
|
|
||||||
|
|
||||||
const ContactSection = () => {
|
const ContactSection = () => {
|
||||||
return (
|
return (
|
||||||
<section className="relative w-full min-h-[600px] lg:h-[800px] bg-black overflow-hidden">
|
<section className="relative w-full min-h-[600px] lg:h-[800px] bg-black overflow-hidden">
|
||||||
|
|
||||||
{/* 1. Background Image (Bartender) */}
|
{/* Background gradient instead of external image */}
|
||||||
<div className="absolute inset-0 z-0">
|
<div className="absolute inset-0 z-0 bg-gradient-to-r from-black via-red-900/20 to-black"></div>
|
||||||
<Image
|
|
||||||
src="https://images.unsplash.com/photo-1514362545857-3bc16c4c7d1b?q=80&w=2670&auto=format&fit=crop"
|
|
||||||
alt="Bartender mixing drink"
|
|
||||||
fill
|
|
||||||
className="object-cover object-center opacity-90"
|
|
||||||
priority
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 2. Red Curved Background */}
|
{/* 2. Red Curved Background */}
|
||||||
<div className="absolute top-0 left-0 h-full w-full lg:w-[65%] z-10 pointer-events-none">
|
<div className="absolute top-0 left-0 h-full w-full lg:w-[65%] z-10 pointer-events-none">
|
||||||
@ -29,32 +20,7 @@ const ContactSection = () => {
|
|||||||
<div className="absolute inset-0 bg-[#E60023] lg:hidden block" style={{ clipPath: "none" }}></div>
|
<div className="absolute inset-0 bg-[#E60023] lg:hidden block" style={{ clipPath: "none" }}></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* 3. Floating Assets (Leaves/Tomatoes) */}
|
{/* 3. Decorative elements removed - keeping layout clean */}
|
||||||
<div className="absolute inset-0 z-20 pointer-events-none overflow-hidden">
|
|
||||||
<motion.div
|
|
||||||
animate={{ y: [0, -20, 0], rotate: [0, 10, 0] }}
|
|
||||||
transition={{ duration: 5, repeat: Infinity }}
|
|
||||||
className="absolute top-20 left-10 w-24 h-24"
|
|
||||||
>
|
|
||||||
<Image src="https://png.pngtree.com/png-vector/20230303/ourmid/pngtree-fresh-organic-basil-leaf-isolated-on-transparent-background-png-image_6630043.png" width={80} height={80} alt="Leaf" className="opacity-80" />
|
|
||||||
</motion.div>
|
|
||||||
|
|
||||||
<motion.div
|
|
||||||
animate={{ y: [0, 20, 0], rotate: [0, -10, 0] }}
|
|
||||||
transition={{ duration: 7, repeat: Infinity }}
|
|
||||||
className="absolute bottom-40 left-10 w-20 h-20"
|
|
||||||
>
|
|
||||||
<Image src="https://png.pngtree.com/png-vector/20230303/ourmid/pngtree-fresh-organic-basil-leaf-isolated-on-transparent-background-png-image_6630043.png" width={60} height={60} alt="Leaf" className="opacity-80 scale-x-[-1]" />
|
|
||||||
</motion.div>
|
|
||||||
|
|
||||||
<motion.div
|
|
||||||
animate={{ scale: [1, 1.1, 1] }}
|
|
||||||
transition={{ duration: 4, repeat: Infinity }}
|
|
||||||
className="absolute top-[40%] left-[5%] w-16 h-16"
|
|
||||||
>
|
|
||||||
<Image src="https://purepng.com/public/uploads/large/purepng.com-fresh-cherry-tomatovegetables-tomatofresh-red-cherry-tomato-941524712071z6n59.png" width={50} height={50} alt="Tomato" />
|
|
||||||
</motion.div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* 4. Content */}
|
{/* 4. Content */}
|
||||||
<div className="relative z-30 h-full w-full container mx-auto px-6 py-20 flex flex-col lg:flex-row items-center">
|
<div className="relative z-30 h-full w-full container mx-auto px-6 py-20 flex flex-col lg:flex-row items-center">
|
||||||
|
|||||||
@ -3,6 +3,15 @@
|
|||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
|
import posImage from '@/assets/homepage/pos-system.webp';
|
||||||
|
import orderImage from '@/assets/homepage/order-management.webp';
|
||||||
|
import reservationImage from '@/assets/homepage/table-reservation.webp';
|
||||||
|
import qrImage from '@/assets/homepage/qr-code-menu.webp';
|
||||||
|
import inventoryImage from '@/assets/homepage/inventory-management.webp';
|
||||||
|
import multiBranchImage from '@/assets/homepage/multi-branch-control.webp';
|
||||||
|
import promotionsImage from '@/assets/homepage/promotions.webp';
|
||||||
|
import websiteImage from '@/assets/homepage/website-ordering.webp';
|
||||||
|
import dashboardImage from '@/assets/homepage/business-dashboard.webp';
|
||||||
|
|
||||||
const features = [
|
const features = [
|
||||||
{
|
{
|
||||||
@ -15,7 +24,7 @@ const features = [
|
|||||||
"Split bills & multiple payment methods",
|
"Split bills & multiple payment methods",
|
||||||
"Real-time sales reports"
|
"Real-time sales reports"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1556742044-3c52d6e88c62?q=80&w=2070",
|
image: posImage,
|
||||||
link: "/features/pos-management"
|
link: "/features/pos-management"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -28,7 +37,7 @@ const features = [
|
|||||||
"Reduce human errors",
|
"Reduce human errors",
|
||||||
"Improve preparation time"
|
"Improve preparation time"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1556742502-ec7c0e9f34b1?q=80&w=2070",
|
image: orderImage,
|
||||||
link: "/features/order-management"
|
link: "/features/order-management"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -41,7 +50,7 @@ const features = [
|
|||||||
"Walk-in management",
|
"Walk-in management",
|
||||||
"Reduce waiting chaos"
|
"Reduce waiting chaos"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?q=80&w=2070",
|
image: reservationImage,
|
||||||
link: "/features/table-reservation"
|
link: "/features/table-reservation"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -54,7 +63,7 @@ const features = [
|
|||||||
"No reprinting costs",
|
"No reprinting costs",
|
||||||
"Faster ordering experience"
|
"Faster ordering experience"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1513151233558-d860c5398176?q=80&w=2144",
|
image: qrImage,
|
||||||
link: "/features/qr-code-menu"
|
link: "/features/qr-code-menu"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -67,7 +76,7 @@ const features = [
|
|||||||
"Ingredient-level tracking",
|
"Ingredient-level tracking",
|
||||||
"Reduce wastage & theft"
|
"Reduce wastage & theft"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1555396273-367ea4eb4db5?q=80&w=2074",
|
image: inventoryImage,
|
||||||
link: "/features/inventory-management"
|
link: "/features/inventory-management"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -79,7 +88,7 @@ const features = [
|
|||||||
"Centralized reporting",
|
"Centralized reporting",
|
||||||
"Branch performance comparison"
|
"Branch performance comparison"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1546241072-48010ad2862c?q=80&w=1974",
|
image: multiBranchImage,
|
||||||
link: "/features/multi-menu-management"
|
link: "/features/multi-menu-management"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -92,7 +101,7 @@ const features = [
|
|||||||
"Automated SMS/Email marketing",
|
"Automated SMS/Email marketing",
|
||||||
"Track campaign performance"
|
"Track campaign performance"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1557804506-669a67965ba0?q=80&w=2074",
|
image: promotionsImage,
|
||||||
link: "/features/promotions"
|
link: "/features/promotions"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -105,7 +114,7 @@ const features = [
|
|||||||
"Real-time menu sync",
|
"Real-time menu sync",
|
||||||
"Mobile-optimized experience"
|
"Mobile-optimized experience"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1522199755839-a2bacb67c546?q=80&w=2072",
|
image: websiteImage,
|
||||||
link: "/features/restaurant-website"
|
link: "/features/restaurant-website"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -118,7 +127,7 @@ const features = [
|
|||||||
"Staff performance metrics",
|
"Staff performance metrics",
|
||||||
"Exportable financial reports"
|
"Exportable financial reports"
|
||||||
],
|
],
|
||||||
image: "https://images.unsplash.com/photo-1460925895917-afdab827c52f?q=80&w=2026",
|
image: dashboardImage,
|
||||||
link: "/features/business-dashboard"
|
link: "/features/business-dashboard"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@ -2,25 +2,28 @@
|
|||||||
|
|
||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import { motion, AnimatePresence } from 'framer-motion';
|
import { motion, AnimatePresence } from 'framer-motion';
|
||||||
|
import banner1 from '@/assets/homepage/banner/home-banner-1.webp';
|
||||||
|
import banner2 from '@/assets/homepage/banner/home-banner-2.webp';
|
||||||
|
import banner3 from '@/assets/homepage/banner/home-banner-3.webp';
|
||||||
|
|
||||||
const slides = [
|
const slides = [
|
||||||
{
|
{
|
||||||
tag: "Trusted by Growing Restaurants & Food Brands",
|
tag: "Trusted by Growing Restaurants & Food Brands",
|
||||||
title: "Run Your Entire Restaurant\nFrom One Smart System",
|
title: "Run Your Entire Restaurant\nFrom One Smart System",
|
||||||
description: "POS, Orders, Reservations, QR Menu, Inventory & Multi-Branch Control — All in One Powerful Platform Built for Modern Restaurants.",
|
description: "POS, Orders, Reservations, QR Menu, Inventory & Multi-Branch Control — All in One Powerful Platform Built for Modern Restaurants.",
|
||||||
image: "https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?q=80&w=2070"
|
image: banner1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
tag: "Next-Gen Analytics",
|
tag: "Next-Gen Analytics",
|
||||||
title: "The Local POS\nThat Saves You 50%.",
|
title: "The Local POS\nThat Saves You 50%.",
|
||||||
description: "No per-tablet fees. No per-employee fees. Use the hardware you already own.",
|
description: "No per-tablet fees. No per-employee fees. Use the hardware you already own.",
|
||||||
image: "https://images.unsplash.com/photo-1504674900247-0877df9cc836?q=80&w=2070"
|
image: banner2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
tag: "Seamless Integration",
|
tag: "Seamless Integration",
|
||||||
title: "Operations Mastered\nIn One Dashboard",
|
title: "Operations Mastered\nIn One Dashboard",
|
||||||
description: "Connect your kitchen, floor, and online presence. Real-time syncing ensures your business never misses a beat.",
|
description: "Connect your kitchen, floor, and online presence. Real-time syncing ensures your business never misses a beat.",
|
||||||
image: "https://images.unsplash.com/photo-1552566626-52f8b828add9?q=80&w=2070"
|
image: banner3
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -50,7 +53,7 @@ const HeroSection = () => {
|
|||||||
<div className="absolute inset-0 bg-black/65 z-10" />
|
<div className="absolute inset-0 bg-black/65 z-10" />
|
||||||
<div
|
<div
|
||||||
className="absolute inset-0 bg-cover bg-center"
|
className="absolute inset-0 bg-cover bg-center"
|
||||||
style={{ backgroundImage: `url('${slides[current].image}')` }}
|
style={{ backgroundImage: `url('${slides[current].image.src}')` }}
|
||||||
/>
|
/>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
</AnimatePresence>
|
</AnimatePresence>
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
|
import whyChooseImage from '@/assets/homepage/why-choose-us.webp';
|
||||||
|
|
||||||
const HighlightsSection = () => {
|
const HighlightsSection = () => {
|
||||||
const highlights = [
|
const highlights = [
|
||||||
@ -48,7 +49,7 @@ const HighlightsSection = () => {
|
|||||||
{/* Screen Content */}
|
{/* Screen Content */}
|
||||||
<div className="absolute inset-0 bg-gray-900">
|
<div className="absolute inset-0 bg-gray-900">
|
||||||
<img
|
<img
|
||||||
src="https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1000"
|
src={whyChooseImage.src}
|
||||||
alt="App Interface"
|
alt="App Interface"
|
||||||
className="w-full h-full object-cover opacity-80"
|
className="w-full h-full object-cover opacity-80"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect } from 'react';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
import Logo from '@/assets/img/dine360.jpeg';
|
import Logo from '@/assets/logo/dine360.jpeg';
|
||||||
import { motion, AnimatePresence } from 'framer-motion';
|
import { motion, AnimatePresence } from 'framer-motion';
|
||||||
import {
|
import {
|
||||||
Monitor,
|
Monitor,
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import React, { useState, useEffect } from 'react';
|
|||||||
import { motion, AnimatePresence } from 'framer-motion';
|
import { motion, AnimatePresence } from 'framer-motion';
|
||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
import { ArrowLeft, ArrowRight, Star, Quote } from 'lucide-react';
|
import { ArrowLeft, ArrowRight, Star, Quote } from 'lucide-react';
|
||||||
|
import testimonialImage from '@/assets/homepage/testimonial.webp';
|
||||||
|
|
||||||
const testimonials = [
|
const testimonials = [
|
||||||
{
|
{
|
||||||
@ -96,7 +97,7 @@ const Testimonials = ({ title, subtitle }: TestimonialsProps) => {
|
|||||||
className="relative w-[300px] md:w-[450px] h-[400px] md:h-[600px] z-10"
|
className="relative w-[300px] md:w-[450px] h-[400px] md:h-[600px] z-10"
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
src="https://images.unsplash.com/photo-1577219491135-ce391730fb2c?q=80&w=1000&auto=format&fit=crop"
|
src={testimonialImage}
|
||||||
alt="Happy Chef"
|
alt="Happy Chef"
|
||||||
fill
|
fill
|
||||||
className="object-cover rounded-2xl shadow-2xl"
|
className="object-cover rounded-2xl shadow-2xl"
|
||||||
|
|||||||