Files
nearle-next-new/src/app/people/page.tsx
2026-06-23 15:05:50 +05:30

299 lines
13 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use client";
import React, { useState, useEffect } from "react";
import Image from "next/image";
import { MaterialIcon } from "@/components/ui/MaterialIcon";
const ROTATOR_SLIDES = [
"Enjoy your Neighbourhood Living.",
"Just a Click For all your needs.",
"Convenient & safe shopping locally."
];
const OFFERINGS = [
{
title: "Elegant Living",
tag: "Join the #1 Neighbourhood App",
descr: "Enjoy the comfort of elegant living. Nearle is India's first hyper-local managed platform bringing all amenities and requirements directly to your fingertips.",
icon: "local_florist",
color: "from-purple-500/10 to-indigo-500/10 text-primary border-purple-100",
image: "/nearle people.png",
isWide: false
},
{
title: "Awareness at a Touch",
tag: "Hot Deals",
descr: "Pick hot deals within your neighbourhood. Stay updated on localized sales, discounts, and flash promotions happening today.",
icon: "local_activity",
color: "from-amber-500/10 to-orange-500/10 text-amber-700 border-amber-100",
image: "/images/app-mockup.png",
isWide: false
},
{
title: "Best of Both Worlds",
tag: "Convenience & Speed",
descr: "Enjoy the ease of the World Wide Web, fulfilled entirely by trusted local businesses. Avoid traffic lights, parking hassles, and pollution.",
icon: "travel_explore",
color: "from-green-500/10 to-emerald-500/10 text-secondary border-green-100",
image: "/images/slider-courier-mask.png",
isWide: false
},
{
title: "Lifestyle Shopping",
tag: "Exclusive Privileges",
descr: "Enjoy safe, convenient shopping with custom pricing, resident promotions, and bulk order discounts negotiated for your community.",
icon: "shopping_bag",
color: "from-rose-500/10 to-pink-500/10 text-rose-700 border-rose-100",
image: "/images/cat-pet-essentials.png",
isWide: false
},
{
title: "Just a Click away",
tag: "Instant Delivery",
descr: "Order everything you need in your neighborhood with a single tap. A fast, organized last-mile delivery network ensures prompt fulfillment.",
icon: "touch_app",
color: "from-sky-500/10 to-blue-500/10 text-sky-700 border-sky-100",
image: "/about.png",
isWide: true
},
{
title: "Amazingly Fresh",
tag: "Daily Essentials",
descr: "Get your fresh fruits, farm-fresh vegetables, dairy, and grocery items delivered instantly from verified local green grocers.",
icon: "eco",
color: "from-emerald-500/10 to-teal-500/10 text-emerald-700 border-emerald-100",
image: "/images/cat-daily-essentials.png",
isWide: false
},
{
title: "Restaurants & Takeaways",
tag: "Hot Food Nearby",
descr: "Choose from the best local restaurants and neighborhood eateries close to your home. Hot food delivered with relevance and speed.",
icon: "restaurant",
color: "from-orange-500/10 to-red-500/10 text-orange-700 border-orange-100",
image: "/images/cat-hot-food.png",
isWide: false
},
{
title: "Never Before Experience",
tag: "Custom Services",
descr: "Access custom-tailored local neighborhood services designed to integrate convenience directly into residential society living.",
icon: "stars",
color: "from-violet-500/10 to-purple-500/10 text-violet-700 border-violet-100",
image: "/images/cat-health-wellness.png",
isWide: false
},
{
title: "Home Services @ Ease",
tag: "Unified Local Partner",
descr: "Book certified local service providers at your convenience. From handymen to laundry, pet care to pharmacy delivery, all in one place.",
icon: "construction",
color: "from-cyan-500/10 to-blue-500/10 text-cyan-700 border-cyan-100",
image: "/images/cat-home-services.png",
isWide: false
}
];
const STATS = [
{ count: "100+", label: "Verified Restaurants", icon: "restaurant" },
{ count: "100+", label: "Green Grocers", icon: "local_mall" },
{ count: "100+", label: "Home Etailers", icon: "shopping_cart" },
{ count: "100+", label: "Service Providers", icon: "handyman" }
];
export default function PeoplePage() {
const [slideIndex, setSlideIndex] = useState(0);
useEffect(() => {
const timer = setInterval(() => {
setSlideIndex((prev) => (prev + 1) % ROTATOR_SLIDES.length);
}, 3000);
return () => clearInterval(timer);
}, []);
return (
<div className="relative min-h-screen bg-background">
{/* ─── Hero Section ─── */}
<section className="hero-section relative overflow-hidden px-6 md:px-12 lg:px-20 xl:px-24 pt-56 pb-72 text-center">
{/* Background Image with Overlay */}
<div className="hero-background select-none pointer-events-none">
<Image
src="/nearle people.png"
alt="Nearle People Background"
fill
sizes="100vw"
className="object-cover object-right"
priority
/>
</div>
<div className="hero-content relative z-10 mx-auto max-w-container-max">
<p className="text-label-sm font-black uppercase tracking-[0.25em] text-brand-accent">
Nearle for People
</p>
<h1 className="mt-6 font-display text-4xl font-black text-white md:text-6xl tracking-tight leading-tight max-w-4xl mx-auto">
<span>Redefining Local Living.</span>
<br />
<span className="hero-rotator-text relative inline-flex text-brand-accent transition-all duration-500">
{ROTATOR_SLIDES[slideIndex]}
</span>
</h1>
</div>
</section>
{/* ─── 9 Core Offerings Bento Grid ─── */}
<section className="experience-section mx-auto max-w-container-max px-6 md:px-12 lg:px-20 xl:px-24 py-28">
<div className="text-center mb-16">
<span className="text-label-sm font-black text-primary uppercase tracking-widest">
What we offer
</span>
<h2 className="font-display text-3xl font-black text-brand-dark mt-2">
Everything You Need, Just a Click Away
</h2>
<p className="mx-auto mt-4 max-w-xl text-body-md text-on-surface-variant">
Discover fresh produce, delicious meals, and daily home services from trusted neighborhood businesses.
</p>
</div>
<div className="experience-grid">
{OFFERINGS.map((offering) => (
<article
key={offering.title}
className="experience-card"
>
<Image
src={offering.image}
alt={offering.title}
fill
sizes="(max-width: 1023px) 100vw, 33vw"
className="experience-card__image"
/>
<div className="experience-card__overlay" />
<div className="experience-card__content">
<div className="experience-card__icon">
<MaterialIcon icon={offering.icon} size={22} className="text-white" />
</div>
<h3>{offering.title}</h3>
<p>{offering.descr}</p>
</div>
</article>
))}
</div>
</section>
{/* ─── Localized Stats Block ─── */}
<section className="bg-surface-container-low border-y border-outline-variant/15 py-24">
<div className="mx-auto max-w-container-max px-6 md:px-12 lg:px-20 xl:px-24">
<div className="text-center mb-12">
<span className="text-label-sm font-black text-primary uppercase tracking-widest">
Nearle Network
</span>
<h2 className="font-display text-2xl font-black text-brand-dark mt-1">
Join the #1 Neighbourhood App
</h2>
<p className="text-body-sm text-on-surface-variant mt-2">
Bringing local stores to your doorstep instantly.
</p>
</div>
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8">
{STATS.map((s) => (
<div
key={s.label}
className="bg-white rounded-2xl p-6 border border-outline-variant/10 shadow-sm flex flex-col items-center text-center"
>
<div className="w-10 h-10 rounded-full bg-primary/5 text-primary flex items-center justify-center mb-4">
<MaterialIcon icon={s.icon} size={20} />
</div>
<h4 className="text-3xl font-display font-black text-brand-dark">{s.count}</h4>
<p className="text-[11px] font-bold text-on-surface-variant/80 mt-1 uppercase tracking-wider">
{s.label}
</p>
</div>
))}
</div>
</div>
</section>
{/* ─── Ready to Download Section ─── */}
<section id="download-section" className="mx-auto max-w-container-max px-6 md:px-12 lg:px-20 xl:px-24 py-28">
<div className="bg-primary rounded-[2.5rem] p-10 md:p-16 relative overflow-hidden shadow-2xl">
<div className="absolute inset-0 bg-[radial-gradient(circle_at_20%_80%,rgba(123,248,161,0.12),transparent_40%)]" />
<div className="relative z-10 flex flex-col lg:flex-row items-center justify-between gap-12">
<div className="max-w-xl text-on-primary text-center lg:text-left">
<span className="text-label-sm font-black text-brand-accent uppercase tracking-[0.2em]">
GET READY NOW
</span>
<h2 className="font-display text-3xl md:text-5xl font-black mt-2 mb-4 tracking-tight">
Download Nearle
</h2>
<p className="text-body-lg text-white/80 font-bold mb-2">
Enjoy the benefits of Neighbourhood Living.
</p>
<p className="text-body-md text-white/60 mb-8">
Proudly support your neighbourhood businesses and get everything delivered in minutes.
</p>
{/* App badges */}
<div className="flex flex-wrap gap-4 justify-center lg:justify-start">
<a
href="https://apps.apple.com/us/app/nearle/id1596895375"
target="_blank"
rel="noopener noreferrer"
className="h-14 w-44 rounded-xl border border-white/20 hover:bg-white/10 transition-colors p-1 flex items-center justify-center bg-white/5 backdrop-blur-md"
>
<div className="flex items-center gap-3 text-white text-left">
<MaterialIcon icon="phone_iphone" size={24} className="text-brand-accent" />
<div>
<div className="text-[10px] uppercase font-bold text-white/60">Download on the</div>
<div className="text-sm font-black">App Store</div>
</div>
</div>
</a>
<a
href="https://play.google.com/store/apps/details?id=com.nearle.gear"
target="_blank"
rel="noopener noreferrer"
className="h-14 w-44 rounded-xl border border-white/20 hover:bg-white/10 transition-colors p-1 flex items-center justify-center bg-white/5 backdrop-blur-md"
>
<div className="flex items-center gap-3 text-white text-left">
<MaterialIcon icon="play_arrow" size={24} className="text-brand-accent" />
<div>
<div className="text-[10px] uppercase font-bold text-white/60">Get it on</div>
<div className="text-sm font-black">Google Play</div>
</div>
</div>
</a>
</div>
</div>
{/* Visual element representing App */}
<div className="relative shrink-0 w-full max-w-[280px]">
<div className="bg-brand-dark-surface w-full aspect-[9/19] rounded-[2.5rem] border-[6px] border-white/10 shadow-2xl relative overflow-hidden flex flex-col justify-between p-6">
<div className="flex items-center justify-between text-white/40">
<MaterialIcon icon="signal_cellular_alt" size={16} />
<MaterialIcon icon="battery_full" size={16} />
</div>
{/* Mock UI */}
<div className="my-auto text-center text-white space-y-4">
<div className="w-14 h-14 bg-brand-accent text-brand-dark rounded-2xl flex items-center justify-center mx-auto shadow-lg animate-pulse-subtle">
<MaterialIcon icon="local_shipping" size={32} />
</div>
<h4 className="font-display font-black text-lg text-brand-accent">Nearle App</h4>
<p className="text-[11px] text-white/70">Coimbatore neighborhood orders delivered in 15 mins.</p>
</div>
<div className="h-1.5 w-1/3 bg-white/20 rounded-full mx-auto" />
</div>
</div>
</div>
</div>
</section>
</div>
);
}