diff --git a/public/images/nearle-merchant/catalogue-ui.webp b/public/images/nearle-merchant/catalogue-ui.webp new file mode 100644 index 0000000..b1e05f8 Binary files /dev/null and b/public/images/nearle-merchant/catalogue-ui.webp differ diff --git a/public/images/nearle-merchant/delivery-support.webp b/public/images/nearle-merchant/delivery-support.webp new file mode 100644 index 0000000..7f20842 Binary files /dev/null and b/public/images/nearle-merchant/delivery-support.webp differ diff --git a/public/images/nearle-merchant/local-map.webp b/public/images/nearle-merchant/local-map.webp new file mode 100644 index 0000000..3a783e3 Binary files /dev/null and b/public/images/nearle-merchant/local-map.webp differ diff --git a/public/images/nearle-merchant/merchant-hero.webp b/public/images/nearle-merchant/merchant-hero.webp new file mode 100644 index 0000000..f165b50 Binary files /dev/null and b/public/images/nearle-merchant/merchant-hero.webp differ diff --git a/public/images/nearle-merchant/qr-stand.webp b/public/images/nearle-merchant/qr-stand.webp new file mode 100644 index 0000000..c4ec9d1 Binary files /dev/null and b/public/images/nearle-merchant/qr-stand.webp differ diff --git a/public/images/nearle-merchant/success-owner.webp b/public/images/nearle-merchant/success-owner.webp new file mode 100644 index 0000000..65fc13c Binary files /dev/null and b/public/images/nearle-merchant/success-owner.webp differ diff --git a/public/images/nearle-redesign/better-local-value.webp b/public/images/nearle-redesign/better-local-value.webp new file mode 100644 index 0000000..9301d67 Binary files /dev/null and b/public/images/nearle-redesign/better-local-value.webp differ diff --git a/public/images/nearle-redesign/choose-area.webp b/public/images/nearle-redesign/choose-area.webp new file mode 100644 index 0000000..876bf99 Binary files /dev/null and b/public/images/nearle-redesign/choose-area.webp differ diff --git a/public/images/nearle-redesign/delivery-doorstep.webp b/public/images/nearle-redesign/delivery-doorstep.webp new file mode 100644 index 0000000..c29699d Binary files /dev/null and b/public/images/nearle-redesign/delivery-doorstep.webp differ diff --git a/public/images/nearle-redesign/easy-reordering.webp b/public/images/nearle-redesign/easy-reordering.webp new file mode 100644 index 0000000..d271aa2 Binary files /dev/null and b/public/images/nearle-redesign/easy-reordering.webp differ diff --git a/public/images/nearle-redesign/heading-shopper.webp b/public/images/nearle-redesign/heading-shopper.webp new file mode 100644 index 0000000..984dba4 Binary files /dev/null and b/public/images/nearle-redesign/heading-shopper.webp differ diff --git a/public/images/nearle-redesign/heading-store.webp b/public/images/nearle-redesign/heading-store.webp new file mode 100644 index 0000000..422a1d0 Binary files /dev/null and b/public/images/nearle-redesign/heading-store.webp differ diff --git a/public/images/nearle-redesign/pick-store.webp b/public/images/nearle-redesign/pick-store.webp new file mode 100644 index 0000000..755af57 Binary files /dev/null and b/public/images/nearle-redesign/pick-store.webp differ diff --git a/public/images/nearle-redesign/shops-you-know.webp b/public/images/nearle-redesign/shops-you-know.webp new file mode 100644 index 0000000..c827b51 Binary files /dev/null and b/public/images/nearle-redesign/shops-you-know.webp differ diff --git a/public/images/nearle-redesign/support-local-business.webp b/public/images/nearle-redesign/support-local-business.webp new file mode 100644 index 0000000..fbba068 Binary files /dev/null and b/public/images/nearle-redesign/support-local-business.webp differ diff --git a/public/QR code .png b/public/nearle-qr-code.png similarity index 100% rename from public/QR code .png rename to public/nearle-qr-code.png diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 8f6a50f..a21acd9 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -20,29 +20,29 @@ const STRATEGY_CARDS = [ }, { title: "Our Vision", - descr: "Our vision is to achieve Global Digital Transformation services leadership in providing value-added high quality solution to our customers.", + descr: "Our vision is to make every neighbourhood more connected by helping people discover, support, and shop from the local businesses around them.", icon: "visibility", color: "bg-secondary/5 text-secondary border-secondary/10" }, { title: "Why Nearle", - descr: "Nearly is essential for a business to grow by leveraging the full potential of its neighbourhood. It is an indispensable tool for Consumers to take advantage from its Neighbourhoods.", + descr: "Nearle is essential for a business to grow by leveraging the full potential of its neighbourhood. It is an indispensable tool for consumers to take advantage of what their neighbourhood has to offer.", icon: "help_outline", color: "bg-[#6330D6]/10 text-[#6330D6] border-[#6330D6]/20" } ]; const LOCAL_COUNTERS = [ - { count: "100+", label: "Customers Served", icon: "people" }, - { count: "100+", label: "Active Businesses", icon: "store" }, - { count: "100+", label: "Active Neighborhoods", icon: "location_city" } + { count: "Local", label: "Customer First Always", icon: "people" }, + { count: "Verified", label: "Business Partners", icon: "store" }, + { count: "Growing", label: "Neighbourhood Reach", icon: "location_city" } ]; const HERO_STATS = [ { title: "2km Coverage", icon: "explore", desc: "Hyperlocal radius" }, - { title: "1000+ Verified Stores", icon: "store", desc: "Local commerce" }, - { title: "50000+ Happy Customers", icon: "mood", desc: "Neighborhood residents" }, - { title: "25+ Neighbourhoods", icon: "location_city", desc: "Active locations" } + { title: "Verified Local Stores", icon: "store", desc: "Growing local commerce" }, + { title: "Happy Customers", icon: "mood", desc: "Neighbourhood community" }, + { title: "Coimbatore & Beyond", icon: "location_city", desc: "Growing neighbourhood reach" } ]; export default function AboutPage() { @@ -78,13 +78,13 @@ export default function AboutPage() {
Our Story Join Our Journey @@ -186,7 +186,7 @@ export default function AboutPage() { className="bg-white hover:bg-white/95 border border-[#6330D6]/10 text-[#16001D] font-black px-8 py-3.5 rounded-xl text-sm transition-all duration-200 active:scale-95 flex items-center gap-2" > - Download App + Explore Nearle
diff --git a/src/app/businesses/page.tsx b/src/app/businesses/page.tsx index eedabf2..13f1c80 100644 --- a/src/app/businesses/page.tsx +++ b/src/app/businesses/page.tsx @@ -1,11 +1,16 @@ -"use client"; - import React from "react"; import Link from "next/link"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; import { PremiumPageShell } from "@/components/layout/PremiumPageShell"; import { HeroVisualCollage } from "@/components/layout/HeroVisualCollage"; import { FeatureStatsRow } from "@/components/ui/FeatureStatsRow"; +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Nearle for Business", + description: + "Grow your local business with Nearle. Get discovered by nearby customers, manage online orders, run local offers, and build repeat sales — all from one simple hyperlocal platform.", +}; const PROCESS_STEPS = [ { @@ -67,9 +72,9 @@ const FEATURES = [ ]; const STATS = [ - { value: "40%+", label: "Avg Revenue Increase", icon: "trending_up", bg: "bg-[#FAF7FD]" }, - { value: "12k+", label: "Daily Orders Handled", icon: "groups", bg: "bg-[#6330D6] text-white" }, - { value: "5k+", label: "Active Partners", icon: "storefront", bg: "bg-white border border-[#6330D6]/10" }, + { value: "More", label: "Revenue From Local Reach", icon: "trending_up", bg: "bg-[#FAF7FD]" }, + { value: "Fast", label: "Reliable Order Fulfillment", icon: "groups", bg: "bg-[#6330D6] text-white" }, + { value: "Easy", label: "Direct Customer Access", icon: "storefront", bg: "bg-white border border-[#6330D6]/10" }, { value: "24/7", label: "Merchant Support", icon: "support_agent", bg: "bg-[#FAF7FD]" } ]; @@ -111,17 +116,16 @@ export default function BusinessesPage() {

- - List Your Store - + {/* TODO: Replace with real merchant onboarding URL once confirmed */} + List Your Store + + Explore Solutions @@ -225,7 +229,7 @@ export default function BusinessesPage() {
{FEATURES.map((feat) => (
-
+
@@ -251,7 +255,7 @@ export default function BusinessesPage() { }`} >
-
@@ -282,15 +286,14 @@ export default function BusinessesPage() { Leverage the full potential of your neighborhood. Stand above the rest, increase customers, and scale your brand today.

- - Register as Partner - + Register Interest + Get the App Explore Stores @@ -221,13 +226,13 @@ export default function PeoplePage() { {OFFERINGS.map((offering) => (
{offering.title}
@@ -250,7 +255,7 @@ export default function PeoplePage() { Nearle Network

- Join the #1 Neighbourhood App + The Neighbourhood App

Bringing local stores to your doorstep instantly. @@ -491,7 +496,7 @@ export default function PeoplePage() {

{APP_BENEFITS.map((b) => (
-
+
diff --git a/src/components/home/BusinessSection.tsx b/src/components/home/BusinessSection.tsx index 04d8c20..f53cc34 100644 --- a/src/components/home/BusinessSection.tsx +++ b/src/components/home/BusinessSection.tsx @@ -2,148 +2,183 @@ import Image from "next/image"; import Link from "next/link"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; -const BENEFITS = [ +const FEATURES = [ { title: "Digital Catalogue", - desc: "Showcase your products online easily to nearby customers.", + desc: "Showcase your products online and keep your catalogue updated.", icon: "menu_book", - iconColor: "bg-primary/5 text-primary", + visual: "/images/nearle-merchant/catalogue-ui.webp", + alt: "Clean grocery catalogue interface preview", + tone: "bg-primary/5 text-primary", }, { title: "QR Ordering", - desc: "Enable existing customers to scan and place orders directly at your counter.", + desc: "Let customers scan, browse, and place orders directly from your store.", icon: "qr_code", - iconColor: "bg-secondary/5 text-secondary", + visual: "/images/nearle-merchant/qr-stand.webp", + alt: "QR ordering stand on a local grocery store counter", + tone: "bg-secondary/5 text-secondary", }, { title: "Local Discovery", - desc: "Get discovered by residents in your neighbourhood searching for your products.", - icon: "explore", - iconColor: "bg-[#de96f9]/10 text-primary", + desc: "Get discovered by nearby customers searching for products you sell.", + icon: "location_on", + visual: "/images/nearle-merchant/local-map.webp", + alt: "Local discovery map with purple pins and a store listing", + tone: "bg-[#de96f9]/10 text-primary", }, { title: "Delivery Support", - desc: "Fulfill orders with your own staff or rely on Nearle's local delivery partners.", + desc: "Deliver orders easily with your own staff or trusted local delivery partners.", icon: "local_shipping", - iconColor: "bg-rose-500/5 text-rose-600", + visual: "/images/nearle-merchant/delivery-support.webp", + alt: "Local delivery partner handing a grocery bag to a customer", + tone: "bg-rose-500/5 text-rose-600", }, ]; +const BENEFITS = [ + "No Commission on your orders", + "Full Control on pricing", + "Dedicated Support for your business", + "Grow Your Sales in your area", +]; + export function BusinessSection() { return ( -
-
- - {/* Merchant Section Grid */} -
- - {/* Left Column: Feature copywriting (7 cols) */} -
- - Merchant Partnerships - -

- Bring Your Store Online with Nearle. -

-

- Reach more nearby customers, accept online orders, promote local offers, and grow repeat sales — while staying in control of your business. -

+
+
+
+
+
-
-
-
- +
+
+ + Merchant Partnerships + +

+ Bring Your Store Online
+ with Nearle. +

+

+ Reach more nearby customers, accept online orders, promote local offers, and grow repeat sales — while staying in control of your business. +

+ +
+
+
+ +
+ Stay in control of your pricing and orders +
+
+
+ +
+ Build direct relationships with local families
- Stay in control of your pricing and orders
-
-
- -
- Build direct relationships with local families + +
+ + Partner With Nearle + + + + Talk to Our Team + +
-
- - Partner With Nearle - - - Talk to Our Team - +
+ Indian local grocery shop owner managing store orders on a laptop +
+
+ +
+
+ Indian grocery shop owner using a smartphone inside a kirana store +
+
+ + Success Story + +

+ Kumar Provision Store +

+

+ Nearle helped us reach more customers in our area and manage orders effortlessly. +

+
+
+ +
+ {FEATURES.map((feature) => ( +
+
+
+ +
+
+

+ {feature.title} +

+

+ {feature.desc} +

+
+
+
+ {feature.alt} +
+
+ ))}
- {/* Right Column: Benefit Grid Cardless (5 cols) */} -
+
{BENEFITS.map((benefit) => ( -
-
- +
+
+
-

- {benefit.title} -

-

- {benefit.desc} -

+ + {benefit} +
))}
-
- - {/* CURVED PROMO BANNER (Bottom CTA Block) */} -
- {/* Decorative background vectors */} -
-
- - {/* Left copy column */} -
- - Piping Hot & Fresh - -

- Everything Nearby,
From Stores You Trust. -

-

- Groceries, medicines, food, and everyday essentials — all from your neighbourhood. -

- - Explore Stores Now - -
- - {/* Right visual column */} -
- {/* Soft background shape */} -
- -
- Hot meals from Nearle local kitchen partners -
-
-
-
); } - - diff --git a/src/components/home/Hero.tsx b/src/components/home/Hero.tsx index da15d93..634de28 100644 --- a/src/components/home/Hero.tsx +++ b/src/components/home/Hero.tsx @@ -3,15 +3,15 @@ import Image from "next/image"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; const PROOF_ITEMS = [ - { label: "1000+", text: "Verified Stores", icon: "store" }, + { label: "Verified", text: "Local Stores", icon: "store" }, { label: "2km", text: "Neighbourhood Coverage", icon: "location_on" }, - { label: "50,000+", text: "Happy Customers", icon: "mood" }, - { label: "4.7 ★", text: "Average Rating", icon: "star" }, + { label: "Growing", text: "Customer Community", icon: "mood" }, + { label: "Trusted", text: "Local Platform", icon: "star" }, ]; export function Hero() { return ( -
+
{/* ─── DECORATIONS (BEHIND CONTENT) ─── */} {/* 1. Large pale lavender partial circle (top-left) */} @@ -47,7 +47,7 @@ export function Hero() {
{/* ─── TWO-COLUMN CONTENT GRID ─── */} -
+
{/* LEFT COLUMN: Editorial Typography & Copy */}
@@ -68,13 +68,13 @@ export function Hero() {
Explore Stores Get the App @@ -97,16 +97,18 @@ export function Hero() { />
- {/* middle image: absolute left-[38%] top-[8%] w-[190px] h-[430px] */} -
- Local merchant delivery + {/* middle image: central logo panel absolute left-[38%] top-[8%] */} +
+
+ Central logo panel +
{/* right image: absolute right-[2%] top-[18%] w-[180px] h-[390px] */} @@ -132,13 +134,14 @@ export function Hero() { sizes="95px" />
-
+
Merchant
@@ -157,20 +160,28 @@ export function Hero() {
{/* ─── BOTTOM PROOF STATS ROW ─── */} -
- {PROOF_ITEMS.map((item) => ( -
-
- +
+
+ {PROOF_ITEMS.map((item, idx) => ( +
+ {/* Subtle vertical separator for desktop, except for the first item */} + {idx > 0 && ( +
+ )} +
+ +
+
+
+ {item.label} +
+
+ {item.text} +
+
-
- {item.label} -
-
- {item.text} -
-
- ))} + ))} +
diff --git a/src/components/home/HowItWorks.tsx b/src/components/home/HowItWorks.tsx index 64164d7..783716c 100644 --- a/src/components/home/HowItWorks.tsx +++ b/src/components/home/HowItWorks.tsx @@ -1,3 +1,4 @@ +import Image from "next/image"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; const STEPS = [ @@ -7,6 +8,8 @@ const STEPS = [ desc: "See stores available around your neighbourhood.", icon: "location_on", color: "bg-primary/5 text-primary border-primary/10", + image: "/images/nearle-redesign/choose-area.webp", + alt: "Hand holding a smartphone with a local map and purple location pins", }, { num: "02", @@ -14,6 +17,8 @@ const STEPS = [ desc: "Browse groceries, medicines, and daily essentials nearby.", icon: "storefront", color: "bg-secondary/5 text-secondary border-secondary/10", + image: "/images/nearle-redesign/pick-store.webp", + alt: "Customer selecting groceries from a nearby store shelf", }, { num: "03", @@ -21,15 +26,17 @@ const STEPS = [ desc: "Order easily and get swift delivery from local partners.", icon: "local_shipping", color: "bg-[#de96f9]/10 text-primary border-[#de96f9]/20", + image: "/images/nearle-redesign/delivery-doorstep.webp", + alt: "Nearle delivery partner handing a grocery bag to a customer", }, ]; export function HowItWorks() { return ( -
-
+
+
{/* Header Section */} -
+
Simple Process @@ -39,11 +46,11 @@ export function HowItWorks() {
{/* Steps Layout - Timeline style */} -
+
{/* Connecting Line (Desktop Only) */}
-
+
{STEPS.map((step) => (
{/* Icon Container with watermark number */} @@ -54,12 +61,25 @@ export function HowItWorks() {
-

- {step.title} -

-

- {step.desc} -

+
+
+ {step.alt} +
+
+

+ {step.title} +

+

+ {step.desc} +

+
+
))}
@@ -69,4 +89,3 @@ export function HowItWorks() { ); } - diff --git a/src/components/home/HyperlocalFeatures.tsx b/src/components/home/HyperlocalFeatures.tsx index 67c0546..bada512 100644 --- a/src/components/home/HyperlocalFeatures.tsx +++ b/src/components/home/HyperlocalFeatures.tsx @@ -27,118 +27,77 @@ const FEATURES = [ export function HyperlocalFeatures() { return ( -
- {/* Scoped CSS styles for precise layout enforcement */} - - +
{/* Subtle background radial glows */}
{/* Inner container */} -
- - {/* Left Column: Visual Storytelling */} -
+
+
- {/* Main Background Cover Image */} -
- Local store background -
- - {/* Banner Label at Top */} -
- Local Order -

“Your favourite local store, now online.”

-
- - {/* Main Store/Product Card (Middle floating) */} -
-
- Local store + {/* Left Column: Visual Storytelling */} +
+ + {/* Main Background Cover Image */} +
+ Local store background
-
-
Sri Krishna Groceries
-

Fresh Harvest & Daily Needs

-
- - 4.9 - · Coimbatore + + {/* Banner Label at Top */} +
+ Local Order +

“Your favourite local store, now online.”

+
+ + {/* Main Store/Product Card (Middle floating) */} +
+
+ Local store +
+
+
Sri Krishna Groceries
+

Fresh Harvest & Daily Needs

+
+ + Top Rated + · Coimbatore +
+ + {/* Small Delivery Status Card (Bottom floating) */} +
+
+ +
+
+

Order Confirmed

+

Your local store is preparing your order

+
+
+
- {/* Small Delivery Status Card (Bottom floating) */} -
-
- -
-
-

Order Confirmed

-

Your local store is preparing your order

-
-
- -
- - {/* Right Column: Dark Feature Panel */} -
- {/* Internal ambient glows */} -
-
- -
- + {/* Right Column: Feature Panel directly on page background */} +
+ Community & Trust -

+

Built Around Your
- Neighbourhood + Neighbourhood

-

+

Nearle brings the convenience of an app to the stores you already know and trust, making it easy to support local shops.

@@ -146,25 +105,25 @@ export function HyperlocalFeatures() {
{/* Vertical connector line */} -
+
{FEATURES.map((item) => (
{/* Icon circle */} -
+
-

+

{item.title}

-

+

{item.desc}

@@ -173,19 +132,19 @@ export function HyperlocalFeatures() {
{/* Divider Line above CTA Area */} -
+
{/* Onboarding Call to Action */}
Get Nearle App Learn How to Partner -
+
+
{/* Header Section */}
diff --git a/src/components/home/StoreQRSection.tsx b/src/components/home/StoreQRSection.tsx index c19293e..4b7779c 100644 --- a/src/components/home/StoreQRSection.tsx +++ b/src/components/home/StoreQRSection.tsx @@ -9,7 +9,9 @@ const FLOW_STEPS = [ export function StoreQRSection() { return ( -
+
+
+
{/* Background ambient glowing details */}
@@ -51,45 +53,35 @@ export function StoreQRSection() { ))}
- {/* App Store Badges (Prominent White Buttons) */} + {/* TODO: Replace with real app store URLs once app is confirmed live (siteContent.app.iosUrl / androidUrl) */}
- - + @@ -104,7 +96,7 @@ export function StoreQRSection() {
Nearle Store QR Code
- {/* Overlapping Confirmation Bubble */} -
-
- -
-
-

Order Confirmed

-

Your order is preparing

-
-
+
@@ -166,7 +149,7 @@ export function StoreQRSection() {
Nearle Store QR Code
- {/* 5. App store buttons */} + {/* 5. App store buttons — TODO: replace with real URLs once app is live */}
-
+
+
); } diff --git a/src/components/home/WhyNearle.tsx b/src/components/home/WhyNearle.tsx index f62b82e..b376f22 100644 --- a/src/components/home/WhyNearle.tsx +++ b/src/components/home/WhyNearle.tsx @@ -1,3 +1,4 @@ +import Image from "next/image"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; const CARDS = [ @@ -6,33 +7,59 @@ const CARDS = [ desc: "Order from familiar neighbourhood stores near you.", icon: "store", color: "bg-primary/5 text-primary border-primary/10", + image: "/images/nearle-redesign/shops-you-know.webp", + alt: "Friendly local grocery shop owner inside a kirana store", }, { title: "Better Local Value", desc: "Discover local offers and daily savings nearby.", icon: "local_offer", color: "bg-secondary/5 text-secondary border-secondary/10", + image: "/images/nearle-redesign/better-local-value.webp", + alt: "Fresh local vegetables and fruits with a local offers sign", }, { title: "Easy Reordering", desc: "Save your favourite stores for quick reordering.", icon: "history", color: "bg-[#de96f9]/10 text-primary border-[#de96f9]/20", + image: "/images/nearle-redesign/easy-reordering.webp", + alt: "Hand holding a smartphone with a simple grocery ordering app", }, { title: "Support Local Business", desc: "Every order directly supports nearby shopkeepers.", icon: "favorite", color: "bg-rose-500/5 text-rose-700 border-rose-100", + image: "/images/nearle-redesign/support-local-business.webp", + alt: "Local shop owner and customer shaking hands inside a store", }, ]; export function WhyNearle() { return ( -
-
+
+
{/* Header Section */} -
+
+
+ +
+
+ +
Our Philosophy @@ -45,21 +72,30 @@ export function WhyNearle() {
{/* Cards Grid */} -
+
{CARDS.map((card) => (
-
- +
+

{card.title}

-

+

{card.desc}

+
+ {card.alt} +
))}
@@ -68,4 +104,3 @@ export function WhyNearle() { ); } - diff --git a/src/components/layout/Navbar.tsx b/src/components/layout/Navbar.tsx index 9c6b3ff..562b9c0 100644 --- a/src/components/layout/Navbar.tsx +++ b/src/components/layout/Navbar.tsx @@ -21,7 +21,7 @@ export function Navbar() { return (
-