Initial commit
This commit is contained in:
129
src/components/home/HyperlocalFeatures.tsx
Normal file
129
src/components/home/HyperlocalFeatures.tsx
Normal file
@@ -0,0 +1,129 @@
|
||||
import Image from "next/image";
|
||||
import { MaterialIcon } from "@/components/ui/MaterialIcon";
|
||||
|
||||
const FEATURES = [
|
||||
{
|
||||
title: "Verified Community Partners",
|
||||
icon: "verified_user",
|
||||
desc: "Every merchant on Nearle is manually verified for food hygiene, service quality, and local licensing.",
|
||||
},
|
||||
{
|
||||
title: "Eco-Friendly 2KM Logistics",
|
||||
icon: "electric_moped",
|
||||
desc: "By capping deliveries at 2km, we run a fast, eco-friendly moped fleet that reduces emissions and saves fuel.",
|
||||
},
|
||||
{
|
||||
title: "Exclusive Society Discounting",
|
||||
icon: "local_activity",
|
||||
desc: "We coordinate with housing societies to negotiate collective discount rates and free scheduled delivery runs.",
|
||||
},
|
||||
];
|
||||
|
||||
export function HyperlocalFeatures() {
|
||||
return (
|
||||
<section className="py-20 bg-surface-container-low border-y border-outline-variant/10 relative overflow-hidden">
|
||||
{/* Background soft blur */}
|
||||
<div className="absolute -left-20 top-1/3 w-80 h-80 bg-primary/5 rounded-full blur-3xl pointer-events-none" />
|
||||
|
||||
<div className="max-w-container-max mx-auto px-margin-mobile md:px-margin-desktop">
|
||||
<div className="grid lg:grid-cols-12 gap-12 items-center">
|
||||
|
||||
{/* Left Column: Visual Storytelling (5 cols) */}
|
||||
<div className="lg:col-span-5 relative">
|
||||
<div className="relative aspect-[4/5] w-full max-w-[420px] mx-auto rounded-[3rem] overflow-hidden border-4 border-white shadow-2xl">
|
||||
<Image
|
||||
src="/images/cat-daily-essentials.png"
|
||||
alt="Fresh groceries and goods delivered at home"
|
||||
width={500}
|
||||
height={600}
|
||||
className="w-full h-full object-cover group-hover:scale-102 transition-transform duration-500"
|
||||
/>
|
||||
<div className="absolute inset-0 bg-gradient-to-t from-black/50 via-transparent to-transparent" />
|
||||
|
||||
{/* Floating Badge */}
|
||||
<div className="absolute bottom-6 left-6 right-6 bg-white/95 backdrop-blur-md p-5 rounded-2xl border border-outline-variant/20 shadow-xl">
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="w-10 h-10 rounded-full bg-brand-accent/20 flex items-center justify-center">
|
||||
<MaterialIcon icon="eco" className="text-brand-accent" size={22} />
|
||||
</div>
|
||||
<div>
|
||||
<h4 className="text-label-md font-black text-brand-dark">100% Eco-Friendly</h4>
|
||||
<p className="text-[11px] text-on-surface-variant font-semibold mt-0.5">Reducing neighbor carbon footprint</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Background Decorative Circle */}
|
||||
<div className="absolute -bottom-8 -right-8 w-32 h-32 bg-brand-accent/10 rounded-full blur-xl pointer-events-none" />
|
||||
</div>
|
||||
|
||||
{/* Right Column: Dark Feature Panel (7 cols) */}
|
||||
<div className="lg:col-span-7">
|
||||
<div className="bg-brand-dark text-white p-8 md:p-16 rounded-[3rem] shadow-2xl relative overflow-hidden border border-white/5">
|
||||
{/* Internal vector decor */}
|
||||
<div className="absolute right-0 top-0 w-64 h-64 bg-brand-accent/5 rounded-full blur-3xl pointer-events-none" />
|
||||
<div className="absolute -left-16 -bottom-16 w-48 h-48 bg-primary/10 rounded-full blur-2xl pointer-events-none" />
|
||||
|
||||
<div className="relative z-10">
|
||||
<span className="text-label-sm text-brand-accent uppercase tracking-widest font-black bg-brand-accent/10 px-3.5 py-1.5 rounded-full border border-brand-accent/20">
|
||||
Care & Quality
|
||||
</span>
|
||||
|
||||
<h3 className="text-display mt-6 mb-8 leading-tight tracking-tight">
|
||||
Relax at Home,<br />
|
||||
<span className="text-brand-accent font-black">We Care.</span>
|
||||
</h3>
|
||||
|
||||
<p className="text-body-lg text-white/70 mb-10 max-w-lg leading-relaxed">
|
||||
Nearle connects you to local, trusted neighborhood shops, bringing you the best essentials while taking care of the logistics and safety standards.
|
||||
</p>
|
||||
|
||||
{/* Features List */}
|
||||
<div className="space-y-8">
|
||||
{FEATURES.map((item) => (
|
||||
<div key={item.title} className="flex gap-5 group">
|
||||
<div className="flex-shrink-0 w-12 h-12 rounded-full bg-brand-accent/15 border border-brand-accent/30 flex items-center justify-center group-hover:bg-brand-accent group-hover:text-brand-dark transition-colors duration-300">
|
||||
<MaterialIcon
|
||||
icon={item.icon}
|
||||
className="text-brand-accent group-hover:text-brand-dark transition-colors"
|
||||
size={22}
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<h4 className="text-headline-md font-black text-white group-hover:text-brand-accent transition-colors">
|
||||
{item.title}
|
||||
</h4>
|
||||
<p className="text-body-md text-white/60 mt-1 leading-relaxed">
|
||||
{item.desc}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* Onboarding Call to Action */}
|
||||
<div className="mt-12 flex flex-wrap gap-4 items-center">
|
||||
<a
|
||||
href="#download"
|
||||
className="bg-brand-accent hover:bg-brand-accent/90 text-brand-dark font-black px-8 py-3.5 rounded-full text-label-md hover:shadow-lg hover:-translate-y-0.5 active:translate-y-0 active:scale-95 transition-all duration-200"
|
||||
>
|
||||
Get Nearle App
|
||||
</a>
|
||||
<a
|
||||
href="#"
|
||||
className="text-white hover:text-brand-accent font-bold text-label-md flex items-center gap-1 group py-2"
|
||||
>
|
||||
Partner Code of Ethics
|
||||
<MaterialIcon icon="arrow_forward" size={16} className="transition-transform group-hover:translate-x-1" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user