updated next config and feature pages

This commit is contained in:
srikanth_M 2026-04-03 18:30:31 +05:30
parent ab0cbaac0d
commit 966a1e0e18
41 changed files with 138 additions and 125 deletions

View File

@ -1,36 +1,44 @@
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
output: "export", // needed for static export
trailingSlash: true,
images: {
unoptimized: true, // ✅ keep this
remotePatterns: [
{
protocol: 'https',
hostname: 'images.unsplash.com',
protocol: "https",
hostname: "images.unsplash.com",
},
{
protocol: 'https',
hostname: 'www.transparenttextures.com',
protocol: "https",
hostname: "www.transparenttextures.com",
},
{
protocol: 'https',
hostname: 'png.pngtree.com',
protocol: "https",
hostname: "png.pngtree.com",
},
{
protocol: 'https',
hostname: 'purepng.com',
protocol: "https",
hostname: "purepng.com",
},
{
protocol: 'https',
hostname: 'cdn-icons-png.flaticon.com',
protocol: "https",
hostname: "cdn-icons-png.flaticon.com",
},
{
protocol: 'https',
hostname: 'images.pexels.com',
}, {
protocol: 'https',
hostname: 'randomuser.me',
}, ],
protocol: "https",
hostname: "images.pexels.com",
},
{
protocol: "https",
hostname: "randomuser.me",
},
],
},
};
export default nextConfig;
export default nextConfig;

50
package-lock.json generated
View File

@ -1766,9 +1766,9 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz",
"integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1776,13 +1776,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"version": "9.0.9",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
"brace-expansion": "^2.0.2"
},
"engines": {
"node": ">=16 || 14 >=14.17"
@ -2139,9 +2139,9 @@
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"version": "6.14.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
"integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -2418,9 +2418,9 @@
}
},
"node_modules/brace-expansion": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
"integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -3565,9 +3565,9 @@
}
},
"node_modules/flatted": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
"integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
"version": "3.4.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz",
"integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==",
"dev": true,
"license": "ISC"
},
@ -4916,9 +4916,9 @@
}
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
"integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true,
"license": "ISC",
"dependencies": {
@ -5327,9 +5327,9 @@
"license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
"dev": true,
"license": "MIT",
"engines": {
@ -6128,9 +6128,9 @@
}
},
"node_modules/tinyglobby/node_modules/picomatch": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
"engines": {

View File

@ -285,29 +285,29 @@ const BusinessDashboardPage = () => {
</p>
<div className="space-y-4">
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 italic transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 italic">
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 ">
<CheckCircle className="w-4 h-4" />
</div>
<span className="font-semibold text-zinc-800 italic">POS Sales Data Integration</span>
<span className="font-semibold text-zinc-800 ">POS Sales Data Integration</span>
</div>
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 italic transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 italic">
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 ">
<CheckCircle className="w-4 h-4" />
</div>
<span className="font-semibold text-zinc-800 italic">Inventory & Purchase Tracking</span>
<span className="font-semibold text-zinc-800 ">Inventory & Purchase Tracking</span>
</div>
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 italic transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 italic">
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 ">
<CheckCircle className="w-4 h-4" />
</div>
<span className="font-semibold text-zinc-800 italic">CRM Customer Insights</span>
<span className="font-semibold text-zinc-800 ">CRM Customer Insights</span>
</div>
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 italic transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 italic">
<div className="flex items-center gap-3 p-4 rounded-xl bg-zinc-50 border border-zinc-100 transition-all hover:bg-white hover:shadow-sm">
<div className="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center text-green-600 shrink-0 ">
<CheckCircle className="w-4 h-4" />
</div>
<span className="font-semibold text-zinc-800 italic">Order & Delivery Analytics</span>
<span className="font-semibold text-zinc-800 ">Order & Delivery Analytics</span>
</div>
</div>
</div>
@ -318,7 +318,7 @@ const BusinessDashboardPage = () => {
{/* Central Hub */}
<div className="relative z-10 w-32 h-32 bg-white rounded-full shadow-2xl flex items-center justify-center border-4 border-red-50 group hover:scale-110 transition-transform duration-500">
<div className="text-2xl font-black text-red-600 tracking-tighter uppercase italic">Dashboard</div>
<div className="text-2xl font-black text-red-600 tracking-tighter uppercase ">Dashboard</div>
</div>
{/* Connecting Lines */}

View File

@ -205,7 +205,7 @@ const InventoryManagementPage = () => {
</div>
<div className="mt-12 text-center">
<p className="text-zinc-500 max-w-2xl mx-auto italic">
<p className="text-zinc-500 max-w-2xl mx-auto ">
Calculate the exact cost of every dish on your menu. See how fluctuating supplier prices impact your profit margins in real-time.
</p>
</div>
@ -277,7 +277,7 @@ const InventoryManagementPage = () => {
</div>
<div className="space-y-4">
<p className="text-zinc-600 text-sm italic font-medium">
<p className="text-zinc-600 text-sm font-medium">
"Dine360 Inventory transformed how we manage our food costs. We saved over 15% on monthly supplies just by identifying where our waste was coming from."
</p>
</div>

View File

@ -463,7 +463,7 @@ const FeaturesPage = () => {
{ type: 'Delivery', count: 8, color: 'text-red-600', bg: 'bg-red-50' },
{ type: 'Takeaway', count: 5, color: 'text-blue-600', bg: 'bg-blue-50' }
].map((stat, idx) => (
<div key={idx} className="flex items-center justify-between p-3 rounded-2xl bg-zinc-50 border border-zinc-100 italic transition-all hover:translate-x-1">
<div key={idx} className="flex items-center justify-between p-3 rounded-2xl bg-zinc-50 border border-zinc-100 transition-all hover:translate-x-1">
<div className="flex items-center gap-3">
<div className={`w-2 h-2 rounded-full ${stat.color === 'text-red-600' ? 'bg-red-600' : stat.color === 'text-amber-600' ? 'bg-amber-600' : 'bg-blue-600'}`}></div>
<span className="text-sm font-bold text-zinc-800">{stat.type}</span>
@ -567,7 +567,7 @@ const FeaturesPage = () => {
{ supplier: 'Fresh Veggies Co.', amount: '$420.00', date: 'Today' },
{ supplier: 'Dairy Best Inc.', amount: '$150.00', date: 'Yesterday' }
].map((po, idx) => (
<div key={idx} className="flex items-center justify-between p-3 rounded-xl bg-zinc-50 border border-zinc-100 italic transition-all hover:translate-x-1">
<div key={idx} className="flex items-center justify-between p-3 rounded-xl bg-zinc-50 border border-zinc-100 transition-all hover:translate-x-1">
<div className="flex flex-col">
<span className="text-sm font-bold text-zinc-900">{po.supplier}</span>
<span className="text-[10px] text-zinc-500">{po.date}</span>
@ -805,7 +805,7 @@ const FeaturesPage = () => {
{ platform: 'DoorDash', status: 'Syncing', color: 'text-amber-500' },
{ platform: 'Zomato', status: 'Connected', color: 'text-emerald-500' }
].map((p, i) => (
<div key={i} className="flex items-center justify-between p-4 rounded-2xl bg-zinc-50 border border-zinc-100 italic">
<div key={i} className="flex items-center justify-between p-4 rounded-2xl bg-zinc-50 border border-zinc-100 ">
<span className="text-sm font-bold text-zinc-900">{p.platform}</span>
<div className="flex items-center gap-2">
<span className={`text-[10px] font-black uppercase ${p.color}`}>{p.status}</span>
@ -863,7 +863,7 @@ const FeaturesPage = () => {
{ label: 'Guests', val: '124', sub: '+8%' },
{ label: 'Wastage', val: '$12', sub: '-12%' }
].map((s, i) => (
<div key={i} className="p-4 rounded-2xl bg-zinc-50 border border-zinc-100 flex flex-col gap-1 italic transition-all hover:scale-105">
<div key={i} className="p-4 rounded-2xl bg-zinc-50 border border-zinc-100 flex flex-col gap-1 transition-all hover:scale-105">
<span className="text-[8px] font-black uppercase text-zinc-400 tracking-widest">{s.label}</span>
<span className="text-xl font-black text-zinc-950">{s.val}</span>
<span className={`text-[8px] font-black ${s.sub.startsWith('+') ? 'text-emerald-500' : 'text-red-600'}`}>{s.sub} vs ly</span>
@ -925,10 +925,10 @@ const FeaturesPage = () => {
<span>Item</span><span>Total</span>
</div>
<div className="h-0.5 w-full bg-zinc-100"></div>
<div className="flex justify-between text-sm font-bold text-zinc-950 italic">
<div className="flex justify-between text-sm font-bold text-zinc-950 ">
<span>Cheese Pizza x2</span><span>$32.00</span>
</div>
<div className="flex justify-between text-sm font-bold text-zinc-950 italic">
<div className="flex justify-between text-sm font-bold text-zinc-950 ">
<span>Garlic Bread</span><span>$8.00</span>
</div>
<div className="h-0.5 w-full bg-zinc-100"></div>
@ -987,7 +987,7 @@ const FeaturesPage = () => {
].map((b, i) => (
<div key={i} className="flex items-center justify-between p-4 rounded-2xl bg-zinc-50 border border-zinc-100 transition-all hover:bg-red-50 group">
<div className="flex flex-col">
<span className="text-sm font-bold text-zinc-900 group-hover:text-red-600 transition-colors uppercase italic">{b.name}</span>
<span className="text-sm font-bold text-zinc-900 group-hover:text-red-600 transition-colors uppercase ">{b.name}</span>
<span className="text-[10px] text-zinc-500 font-bold">{b.sales} Sales</span>
</div>
<span className="text-xs font-black text-emerald-500">{b.growth}</span>
@ -1036,7 +1036,7 @@ const FeaturesPage = () => {
</div>
<div className="relative z-10 lg:order-1 order-2">
<div className="bg-white rounded-4xl p-6 lg:p-8 shadow-3xl border border-zinc-100 space-y-4 text-xs italic">
<div className="bg-white rounded-4xl p-6 lg:p-8 shadow-3xl border border-zinc-100 space-y-4 text-xs ">
<div className="p-3 bg-red-50 text-red-600 rounded-2xl rounded-bl-none max-w-[80%] self-start font-bold">
Order #2483 is ready for pickup!
</div>
@ -1134,7 +1134,7 @@ const FeaturesPage = () => {
<div className="absolute top-0 left-0 w-full h-full bg-[radial-gradient(circle_at_50%_50%,rgba(183,28,28,0.1),transparent)] group-hover:bg-[radial-gradient(circle_at_50%_50%,rgba(183,28,28,0.15),transparent)] transition-all"></div>
<div className="relative z-10 space-y-6">
<h2 className="text-3xl lg:text-4xl font-bold text-white max-w-4xl mx-auto leading-tight">
Turn Your Counter Into a <br /> <span className="text-red-600 italic">Command Center</span>.
Turn Your Counter Into a <br /> <span className="text-red-600 ">Command Center</span>.
</h2>
<p className="text-base text-zinc-400 max-w-2xl mx-auto leading-relaxed">
Join 500+ growing restaurants using Dine360 to streamline dine-in, delivery, reservations, and multi-branch operations all from one powerful system.

View File

@ -89,7 +89,7 @@ const POSPage = () => {
<div className="relative z-10 space-y-6">
<div className="flex items-center justify-between border-b border-zinc-800 pb-4">
<div className="flex items-center gap-3">
<div className="w-10 h-10 bg-red-600 rounded-lg flex items-center justify-center text-white font-black text-xs italic">D360</div>
<div className="w-10 h-10 bg-red-600 rounded-lg flex items-center justify-center text-white font-black text-xs ">D360</div>
<div>
<div className="text-white font-bold text-sm tracking-tight uppercase">Checkout #4</div>
<div className="text-zinc-500 text-[10px] font-bold">12:45 PM | OPERATOR: SARAH</div>
@ -327,7 +327,7 @@ const POSPage = () => {
{/* Central Terminal */}
<div className="relative z-10 w-48 h-48 bg-zinc-950 rounded-3xl shadow-3xl rotate-12 flex items-center justify-center p-8 border-4 border-zinc-800">
<div className="w-full text-center space-y-2">
<div className="text-red-600 font-black text-xl italic tracking-tighter uppercase italic">D360</div>
<div className="text-red-600 font-black text-xl tracking-tighter uppercase ">D360</div>
<div className="h-1 bg-zinc-800 w-1/2 mx-auto"></div>
<div className="text-[8px] text-zinc-600 uppercase font-black">Ready to Swipe</div>
</div>

View File

@ -8,7 +8,7 @@
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--font-sans: var(--font-geist-sans);
--font-sans: var(--font-inter), var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
--font-mono: var(--font-geist-mono);
--color-brand-red: #dc2626;
--color-brand-cream: #f9f9f5;
@ -17,7 +17,7 @@
body {
background: var(--background);
color: var(--foreground);
font-family: var(--font-sans), Arial, Helvetica, sans-serif;
font-family: var(--font-sans);
}
.custom-scrollbar::-webkit-scrollbar {

View File

@ -1,7 +1,12 @@
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import { Inter, Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
const inter = Inter({
variable: "--font-inter",
subsets: ["latin"],
});
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
@ -25,7 +30,7 @@ export default function RootLayout({
return (
<html lang="en">
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
className={`${inter.variable} ${geistSans.variable} ${geistMono.variable} antialiased`}
>
{children}
</body>

View File

@ -24,7 +24,7 @@ const PricingPageVersionTwo = () => {
<div className="h-[2px] w-8 bg-brand-red"></div>
</div>
<h1 className="text-6xl md:text-8xl font-serif font-bold leading-[1.1] mb-6 tracking-tight">
<h1 className="text-6xl md:text-8xl font-bold leading-[1.1] mb-6 tracking-tight">
Simple Plans for<br />
<span className="text-brand-red italic underline decoration-brand-red/20 underline-offset-8">Every Restaurant</span>
</h1>
@ -43,7 +43,7 @@ const PricingPageVersionTwo = () => {
>
<div className="mb-10">
<span className="text-brand-red font-bold uppercase tracking-widest text-xs mb-4 block">Starter</span>
<h2 className="text-4xl font-serif font-bold mb-3">Single Outlet</h2>
<h2 className="text-4xl font-bold mb-3">Single Outlet</h2>
<p className="text-gray-500 text-sm leading-relaxed max-w-[260px]">
Perfect for independent restaurants getting started with smart POS.
</p>
@ -54,8 +54,8 @@ const PricingPageVersionTwo = () => {
<div className="mb-10">
<span className="text-gray-400 font-bold uppercase tracking-[0.15em] text-[10px] mb-4 block">Starting at</span>
<div className="flex items-start">
<span className="text-3xl font-serif font-bold mt-1">$</span>
<span className="text-8xl font-serif font-black tracking-tighter leading-none">200</span>
<span className="text-3xl font-bold mt-1">$</span>
<span className="text-8xl font-black tracking-tighter leading-none">200</span>
</div>
<p className="text-gray-500 font-medium text-sm mt-4">
per month · flat fee

View File

@ -52,7 +52,7 @@ const BakeryPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Manage Your Bakery <br />
<span className="italic font-serif font-light text-zinc-800">Operations Effortlessly</span>
<span className=" font-light text-zinc-800">Operations Effortlessly</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const BistroPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Bistro with <br />
<span className="italic font-serif font-light text-zinc-800">Ease & Precision</span>
<span className=" font-light text-zinc-800">Ease & Precision</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const BuffetPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Simplify Your <br />
<span className="italic font-serif font-light text-zinc-800">Buffet Restaurant Operations</span>
<span className=" font-light text-zinc-800">Buffet Restaurant Operations</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -51,7 +51,7 @@ const CafeBistroPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Power Your <br />
<span className="italic font-serif font-light text-zinc-800">Café & Coffee Shop</span>
<span className=" font-light text-zinc-800">Café & Coffee Shop</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const CafeteriaPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Run Your <br />
<span className="italic font-serif font-light text-zinc-800">Cafeteria Operations Efficiently</span>
<span className=" font-light text-zinc-800">Cafeteria Operations Efficiently</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const CasualDiningPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Take Control of Your <br />
<span className="italic font-serif font-light text-zinc-800">Casual Dining Restaurant</span>
<span className=" font-light text-zinc-800">Casual Dining Restaurant</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">
@ -514,4 +514,4 @@ const CasualDiningPage = () => {
)
}
export default CasualDiningPage
export default CasualDiningPage

View File

@ -52,7 +52,7 @@ const CoffeeHousePage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Power Your <br />
<span className="italic font-serif font-light text-zinc-800">Coffee House Operations</span>
<span className=" font-light text-zinc-800">Coffee House Operations</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -42,7 +42,7 @@ const ConcessionPage = () => {
</div>
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Power Your <br />
<span className="italic font-serif font-light text-red-600">Concession Stand Operations</span>
<span className=" font-light text-red-600">Concession Stand Operations</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">
Serve customers faster and manage high-volume snack sales with a system built for concession stands. Dine360 helps you handle quick orders, fast billing, and peak-hour rush - all from one simple platform.

View File

@ -52,7 +52,7 @@ const ContemporaryCasualPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Contemporary Casual <br />
<span className="italic font-serif font-light text-zinc-800">Restaurant</span>
<span className=" font-light text-zinc-800">Restaurant</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const DeliveryOnlyPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Run Your <br />
<span className="italic font-serif font-light text-zinc-800">Delivery-Only Restaurant</span>
<span className=" font-light text-zinc-800">Delivery-Only Restaurant</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -53,7 +53,7 @@ const DestinationPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Destination Restaurant <br />
<span className="italic font-serif font-light text-zinc-800">Experience</span>
<span className=" font-light text-zinc-800">Experience</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -42,7 +42,7 @@ const DigitalOnlyPage = () => {
</div>
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Run Your <br />
<span className="italic font-serif font-light text-red-600">Digital-Only Restaurant</span>
<span className=" font-light text-red-600">Digital-Only Restaurant</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">
Operate your restaurant entirely online with a system built for delivery-first, app-driven businesses. Dine360 helps you manage orders, brands, and performance from one centralized platform.

View File

@ -52,7 +52,7 @@ const DinerPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Diner Operations <br />
<span className="italic font-serif font-light text-zinc-800">Fast-Paced, All-Day Dining</span>
<span className=" font-light text-zinc-800">Fast-Paced, All-Day Dining</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const FamilyStylePage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Simplify Your <br />
<span className="italic font-serif font-light text-zinc-800">Family Style Restaurant Operations</span>
<span className=" font-light text-zinc-800">Family Style Restaurant Operations</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const FastCasualPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Take Control of Your <br />
<span className="italic font-serif font-light text-zinc-800">Fast Casual Restaurant</span>
<span className=" font-light text-zinc-800">Fast Casual Restaurant</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">
@ -514,4 +514,4 @@ const FastCasualPage = () => {
)
}
export default FastCasualPage
export default FastCasualPage

View File

@ -51,7 +51,7 @@ const FastFoodPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Power Your <br />
<span className="italic font-serif font-light text-zinc-800">Fast Food Restaurant</span>
<span className=" font-light text-zinc-800">Fast Food Restaurant</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -40,7 +40,7 @@ const FineDiningPage = () => {
</div>
<h1 className="text-4xl sm:text-6xl font-bold tracking-tight text-zinc-900 leading-[0.95]">
ELEVATE YOUR <br />
<span className="italic font-serif font-light text-red-600">GUEST EXPERIENCE</span>
<span className=" font-light text-red-600">GUEST EXPERIENCE</span>
</h1>
<p className="text-lg text-zinc-500 max-w-lg leading-relaxed text-wrap font-medium">
Dine360 provides the precision and sophistication required for high-end dining, from flawless reservations to elite table service.
@ -108,7 +108,7 @@ const FineDiningPage = () => {
<div className="space-y-4">
<span className="text-red-500 font-bold uppercase tracking-widest text-xs">ORDER MANAGEMENT SECTION</span>
<h2 className="text-5xl font-bold uppercase">Order Clarity</h2>
<h3 className="text-3xl text-zinc-400 font-light tracking-tight italic">Deliver Every Dish Perfectly</h3>
<h3 className="text-3xl text-zinc-400 font-light tracking-tight ">Deliver Every Dish Perfectly</h3>
<p className="text-zinc-500 max-w-md leading-relaxed">Maintain elite standards by tracking every detail of the guest journey from kitchen preparation to final presentation.</p>
</div>
<div className="grid gap-6">
@ -168,7 +168,7 @@ const FineDiningPage = () => {
<div className="space-y-4">
<span className="text-red-600 font-bold uppercase tracking-widest text-xs border-b border-red-600">QR CODE MENU SECTION</span>
<h2 className="text-5xl font-bold uppercase tracking-tighter leading-none">THE QR EXPERIENCE</h2>
<h3 className="text-2xl text-zinc-500 italic">Elegance in Digital Form</h3>
<h3 className="text-2xl text-zinc-500 ">Elegance in Digital Form</h3>
<p className="text-zinc-600 max-w-sm leading-relaxed font-medium">Allow discerning guests to explore your culinary artistry on their terms with our high-end digital menus.</p>
</div>
<div className="grid gap-6">

View File

@ -52,7 +52,7 @@ const FineDinePage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Fine Dining Experience <br />
<span className="italic font-serif font-light text-zinc-800">Precision Dining, Elevated</span>
<span className=" font-light text-zinc-800">Precision Dining, Elevated</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -51,7 +51,7 @@ const FoodTruckPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Power Your <br />
<span className="italic font-serif font-light text-zinc-800">Food Truck, Cart, or Street Food Stand</span>
<span className=" font-light text-zinc-800">Food Truck, Cart, or Street Food Stand</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -40,7 +40,7 @@ const FullServicePage = () => {
</div>
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Scale Your <br />
<span className="italic font-serif font-light text-red-600 text-nowrap">Service Performance</span>
<span className=" font-light text-red-600 text-nowrap">Service Performance</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed text-wrap">
Dine360 unifies your table service, reservations, and kitchen operations to deliver a premium dining experience.
@ -115,7 +115,7 @@ const FullServicePage = () => {
<span className="text-red-500 font-bold uppercase tracking-widest text-xs">ORDER MANAGEMENT SECTION</span>
<h2 className="text-4xl font-bold uppercase">Order Management</h2>
<h3 className="text-2xl text-zinc-400 font-medium tracking-tight">Track Every Dine-In Order</h3>
<p className="text-zinc-500 italic max-w-sm">Keep service smooth from table to kitchen.</p>
<p className="text-zinc-500 max-w-sm">Keep service smooth from table to kitchen.</p>
</div>
<div className="grid gap-4">
{[
@ -142,7 +142,7 @@ const FullServicePage = () => {
<div className="text-center mb-16">
<span className="text-red-600 font-bold uppercase tracking-widest text-xs tracking-tighter">TABLE / SERVICE SECTION</span>
<h2 className="text-4xl font-bold mt-2 uppercase">Table Seating & Reservation</h2>
<p className="text-zinc-500 mt-4 text-xl font-medium italic max-w-2xl mx-auto">Master Your Floor Management: Organize reservations and walk-ins effortlessly.</p>
<p className="text-zinc-500 mt-4 text-xl font-medium max-w-2xl mx-auto">Master Your Floor Management: Organize reservations and walk-ins effortlessly.</p>
</div>
<div className="grid md:grid-cols-3 gap-8 text-center text-nowrap">
{[
@ -171,7 +171,7 @@ const FullServicePage = () => {
<span className="text-red-600 font-bold uppercase tracking-widest text-xs">DIGITAL MENU SECTION</span>
<h2 className="text-4xl font-bold">QR MENU</h2>
<h3 className="text-2xl text-zinc-600">Elevate Your Dining Experience</h3>
<p className="text-zinc-500 italic max-w-sm">Offer a modern digital menu built for full-service dining.</p>
<p className="text-zinc-500 max-w-sm">Offer a modern digital menu built for full-service dining.</p>
</div>
<div className="grid gap-6">
{[
@ -196,7 +196,7 @@ const FullServicePage = () => {
<span className="text-red-600 font-bold uppercase tracking-widest text-xs">MULTI-BRANCH SECTION</span>
<h2 className="text-4xl md:text-5xl font-bold uppercase">Scale Your Service Brand</h2>
<h3 className="text-2xl text-zinc-600 font-light max-w-xl">Manage Multiple Locations with Centralized Control</h3>
<p className="text-zinc-500 italic max-w-2xl px-4 text-wrap">Monitor sales across locations and handle menus centrally. Track performance and insights from one dashboard.</p>
<p className="text-zinc-500 max-w-2xl px-4 text-wrap">Monitor sales across locations and handle menus centrally. Track performance and insights from one dashboard.</p>
</div>
<div className="grid md:grid-cols-3 gap-8">
{[

View File

@ -52,7 +52,7 @@ const GhostKitchenPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Take Control of Your <br />
<span className="italic font-serif font-light text-zinc-800">Ghost Kitchen Operations</span>
<span className=" font-light text-zinc-800">Ghost Kitchen Operations</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const GhostKitchenPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Take Control of Your <br />
<span className="italic font-serif font-light text-zinc-800">Ghost Kitchen Operations</span>
<span className=" font-light text-zinc-800">Ghost Kitchen Operations</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">
@ -514,4 +514,4 @@ const GhostKitchenPage = () => {
)
}
export default GhostKitchenPage
export default GhostKitchenPage

View File

@ -41,7 +41,7 @@ const MongolianBBQPage = () => {
</div>
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Scale Your <br />
<span className="italic font-serif font-light text-red-600">Mongolian Barbecue Experience</span>
<span className=" font-light text-red-600">Mongolian Barbecue Experience</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">
Manage high-volume, customizable dining with a system built for Mongolian barbecue restaurants. Dine360 helps you handle guest flow, orders, and billing while delivering a smooth and engaging dining experience.
@ -97,7 +97,7 @@ const MongolianBBQPage = () => {
<div className="h-px w-8 bg-red-600" />
</motion.div>
<motion.h2 initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ delay: 0.1 }} className="text-3xl md:text-5xl font-bold mb-6 leading-tight">
Transform Your <span className="text-red-600 font-serif italic">Mongolian Barbecue Restaurant</span> with Dine360 Software.
Transform Your <span className="text-red-600 ">Mongolian Barbecue Restaurant</span> with Dine360 Software.
</motion.h2>
<p className="text-base text-zinc-600 max-w-2xl mx-auto">
Mongolian barbecue restaurants offer a unique, customizable dining experience where guests build their own meals. Managing crowd flow, billing, and kitchen coordination is essential. Dine360 simplifies operations by streamlining guest management, order tracking, and service flow - ensuring a seamless experience for every customer.

View File

@ -156,7 +156,7 @@ const RestaurantTypesPage = () => {
<br />
Solution For
<br />
<span className="text-red-600 italic font-serif font-light">Every Type</span>
<span className="text-red-600 font-light">Every Type</span>
<br />
of Restaurant
</motion.h1>

View File

@ -52,7 +52,7 @@ const PopUpPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Pop-Up Restaurant <br />
<span className="italic font-serif font-light text-zinc-800">with Ease</span>
<span className=" font-light text-zinc-800">with Ease</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -52,7 +52,7 @@ const PubPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Run Your <br />
<span className="italic font-serif font-light text-zinc-800">Pub & Bar Operations Smarter</span>
<span className=" font-light text-zinc-800">Pub & Bar Operations Smarter</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -41,7 +41,7 @@ const TeppanyakiPage = () => {
</div>
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Deliver <br />
<span className="italic font-serif font-light text-red-600">High-Energy Dining</span>
<span className=" font-light text-red-600">High-Energy Dining</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">
Deliver high-energy, interactive dining while managing operations seamlessly with a system built for hibachi-style restaurants. Dine360 helps you coordinate tables, chef service, and guest experience - all from one powerful platform.
@ -97,7 +97,7 @@ const TeppanyakiPage = () => {
<div className="h-px w-8 bg-red-600" />
</motion.div>
<motion.h2 initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ delay: 0.1 }} className="text-3xl md:text-5xl font-bold mb-6 leading-tight">
Transform Your <span className="text-red-600 font-serif italic">Teppanyaki Grill</span> With Dine360 Restaurant Software
Transform Your <span className="text-red-600 ">Teppanyaki Grill</span> With Dine360 Restaurant Software
</motion.h2>
<p className="text-base text-zinc-600 max-w-2xl mx-auto">
Teppanyaki restaurants offer a unique dining experience where chefs cook live at the table. Managing seating, group timing, and order coordination is essential. Dine360 helps streamline table management, group bookings, and service flow - ensuring every guest enjoys a smooth and memorable experience.

View File

@ -52,7 +52,7 @@ const ThemeRestaurantPage = () => {
<h1 className="text-4xl sm:text-5xl md:text-6xl font-bold tracking-tight text-zinc-900 leading-[1.1]">
Manage Your Theme <br />
<span className="italic font-serif font-light text-zinc-800">Experiences Seamlessly</span>
<span className=" font-light text-zinc-800">Experiences Seamlessly</span>
</h1>
<p className="text-lg text-zinc-600 max-w-lg leading-relaxed">

View File

@ -24,7 +24,7 @@ const PricingPageVersionTwo = () => {
<div className="h-[2px] w-8 bg-brand-red"></div>
</div>
<h1 className="text-5xl md:text-7xl font-serif font-bold leading-[1.1] mb-4 tracking-tight">
<h1 className="text-5xl md:text-7xl font-bold leading-[1.1] mb-4 tracking-tight">
Simple Plans for<br />
<span className="text-brand-red italic underline decoration-brand-red/20 underline-offset-8">Every Restaurant</span>
</h1>
@ -43,7 +43,7 @@ const PricingPageVersionTwo = () => {
>
<div className="mb-8">
<span className="text-brand-red font-bold uppercase tracking-widest text-xs mb-3 block">Starter</span>
<h2 className="text-3xl font-serif font-bold mb-2">Single Outlet</h2>
<h2 className="text-3xl font-bold mb-2">Single Outlet</h2>
<p className="text-gray-500 text-sm leading-relaxed max-w-[260px]">
Perfect for independent restaurants getting started with smart POS.
</p>
@ -54,8 +54,8 @@ const PricingPageVersionTwo = () => {
<div className="mb-8">
<span className="text-gray-400 font-bold uppercase tracking-[0.15em] text-[10px] mb-3 block">Starting at</span>
<div className="flex items-start">
<span className="text-2xl font-serif font-bold mt-1">$</span>
<span className="text-6xl md:text-7xl font-serif font-black tracking-tighter leading-none">200</span>
<span className="text-2xl font-bold mt-1">$</span>
<span className="text-6xl md:text-7xl font-black tracking-tighter leading-none">200</span>
</div>
<p className="text-gray-500 font-medium text-xs mt-3">
per month · flat fee

View File

@ -110,7 +110,7 @@ const FAQ = ({ questions, title, subtitle, description }: FAQProps) => {
initial={{ opacity: 0, y: 10 }}
whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }}
className="text-red-600 text-4xl font-serif italic mb-4 block"
className="text-red-600 text-4xl italic mb-4 block"
>
{title || "AnswersToCommonQuestions"}
</motion.h3>
@ -119,7 +119,7 @@ const FAQ = ({ questions, title, subtitle, description }: FAQProps) => {
whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }}
transition={{ delay: 0.1 }}
className="text-4xl md:text-6xl font-serif font-black text-black mt-2 mb-6 uppercase"
className="text-4xl md:text-6xl font-black text-black mt-2 mb-6 uppercase"
>
{subtitle || "Frequently Asked Questions"}
</motion.h2>

View File

@ -142,7 +142,7 @@ const FeaturesSection = () => {
transition={{ duration: 0.8 }}
className="text-center mb-20 max-w-5xl mx-auto"
>
<span className="text-red-500 font-script text-3xl md:text-4xl mb-4 block italic">The Complete Restaurant Toolkit</span>
<span className="text-red-500 text-3xl md:text-4xl mb-4 block italic">The Complete Restaurant Toolkit</span>
<h2 className="text-2xl md:text-3xl lg:text-4xl font-extrabold text-black mb-4 leading-tight uppercase">
Reimagine Restaurant Management
</h2>

View File

@ -127,7 +127,7 @@ const Testimonials = ({ title, subtitle }: TestimonialsProps) => {
initial={{ opacity: 0, y: 10 }}
whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }}
className="text-brand-red text-4xl font-serif italic"
className="text-brand-red text-4xl italic"
>
{title || "Testimonials"}
</motion.h3>
@ -136,14 +136,14 @@ const Testimonials = ({ title, subtitle }: TestimonialsProps) => {
whileInView={{ opacity: 1, y: 0 }}
viewport={{ once: true }}
transition={{ delay: 0.1 }}
className="text-4xl md:text-5xl font-serif font-black text-black mt-2"
className="text-4xl md:text-5xl font-black text-black mt-2"
>
{subtitle || "What Clients Say About Dine360"}
</motion.h2>
</div>
{/* Quote Icon */}
<div className="w-16 h-16 rounded-full bg-brand-red flex items-center justify-center text-white text-3xl font-serif mt-6 shadow-lg shadow-brand-red/30">
<div className="w-16 h-16 rounded-full bg-brand-red flex items-center justify-center text-white text-3xl mt-6 shadow-lg shadow-brand-red/30">
<Quote className="w-8 h-8 fill-current" />
</div>