mobile screen issue fixed
This commit is contained in:
@@ -180,7 +180,7 @@ export default function BrandsPage() {
|
|||||||
Nearle connects FMCG brands, food companies, and local manufacturers with verified neighbourhood stores and their loyal customer communities.
|
Nearle connects FMCG brands, food companies, and local manufacturers with verified neighbourhood stores and their loyal customer communities.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="flex flex-col sm:flex-row gap-3.5 mt-8 w-full sm:w-auto">
|
<div className="hidden md:flex md:flex-row md:gap-3.5 mt-8">
|
||||||
<Link
|
<Link
|
||||||
href="/contact"
|
href="/contact"
|
||||||
className="bg-[#6330D6] hover:bg-[#5225b8] text-white font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-all duration-200 active:scale-[0.98]"
|
className="bg-[#6330D6] hover:bg-[#5225b8] text-white font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-all duration-200 active:scale-[0.98]"
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ export default function DeliveryPartnersPage() {
|
|||||||
Join the Nearle delivery network and earn by making short, local deliveries in your neighbourhood — on your own schedule, at your own pace.
|
Join the Nearle delivery network and earn by making short, local deliveries in your neighbourhood — on your own schedule, at your own pace.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="flex flex-col sm:flex-row gap-3.5 mt-8 w-full sm:w-auto">
|
<div className="hidden md:flex md:flex-row md:gap-3.5 mt-8">
|
||||||
<Link
|
<Link
|
||||||
href="/contact"
|
href="/contact"
|
||||||
className="bg-[#6330D6] hover:bg-[#5225b8] text-white font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-all duration-200 active:scale-[0.98]"
|
className="bg-[#6330D6] hover:bg-[#5225b8] text-white font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-all duration-200 active:scale-[0.98]"
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ export default function MerchantsPage() {
|
|||||||
Your neighbourhood customers are already looking for you online. Get discovered, take orders, and grow your business — without leaving your store.
|
Your neighbourhood customers are already looking for you online. Get discovered, take orders, and grow your business — without leaving your store.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="flex flex-col sm:flex-row gap-3.5 mt-8 w-full sm:w-auto">
|
<div className="hidden md:flex md:flex-row md:gap-3.5 mt-8">
|
||||||
<Link
|
<Link
|
||||||
href="/contact"
|
href="/contact"
|
||||||
className="bg-[#6330D6] hover:bg-[#5225b8] text-white font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-all duration-200 active:scale-[0.98]"
|
className="bg-[#6330D6] hover:bg-[#5225b8] text-white font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-all duration-200 active:scale-[0.98]"
|
||||||
|
|||||||
@@ -507,24 +507,20 @@ export function BusinessFeaturesGrid() {
|
|||||||
whileInView="visible"
|
whileInView="visible"
|
||||||
viewport={viewport}
|
viewport={viewport}
|
||||||
>
|
>
|
||||||
<div className="grid grid-cols-2" style={{ gap: 28 }}>
|
<div className="grid grid-cols-2 gap-3 sm:gap-[28px]">
|
||||||
{CARDS.map((card) => {
|
{CARDS.map((card) => {
|
||||||
const { CardIllus } = card;
|
const { CardIllus } = card;
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div
|
||||||
key={card.title}
|
key={card.title}
|
||||||
variants={scaleIn}
|
variants={scaleIn}
|
||||||
className={`relative flex flex-col overflow-hidden border border-[#6330D6]/10 shadow-[0_4px_28px_rgba(99,48,214,0.09)] ${card.bg}`}
|
className={`relative flex flex-col overflow-hidden border border-[#6330D6]/10 shadow-[0_4px_28px_rgba(99,48,214,0.09)] rounded-[34px] p-3.5 sm:p-[28px] min-h-[190px] sm:min-h-[330px] ${card.bg}`}
|
||||||
style={{ borderRadius: 34, padding: 28, minHeight: 330 }}
|
|
||||||
>
|
>
|
||||||
<div className={`w-9 h-9 rounded-full flex items-center justify-center shrink-0 ${card.iconBg}`}>
|
<div className={`w-9 h-9 rounded-full flex items-center justify-center shrink-0 ${card.iconBg}`}>
|
||||||
<MaterialIcon icon={card.iconName} size={18} />
|
<MaterialIcon icon={card.iconName} size={18} />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div className="flex-1 flex items-center justify-center overflow-hidden my-1 sm:my-2">
|
||||||
className="flex-1 flex items-center justify-center overflow-hidden"
|
<div className="w-full h-[90px] sm:h-[160px]">
|
||||||
style={{ margin: "8px 0" }}
|
|
||||||
>
|
|
||||||
<div className="w-full" style={{ height: 160 }}>
|
|
||||||
<CardIllus />
|
<CardIllus />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ export function AboutHero() {
|
|||||||
|
|
||||||
<motion.div
|
<motion.div
|
||||||
variants={ctaVariant}
|
variants={ctaVariant}
|
||||||
className="flex flex-col sm:flex-row gap-3.5 mt-8 w-full sm:w-auto"
|
className="hidden md:flex md:flex-row md:gap-3.5 mt-8"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
href="#story-section"
|
href="#story-section"
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ export function BusinessHero() {
|
|||||||
|
|
||||||
<motion.div
|
<motion.div
|
||||||
variants={ctaVariant}
|
variants={ctaVariant}
|
||||||
className="flex flex-col sm:flex-row gap-3.5 mt-8 w-full sm:w-auto"
|
className="hidden md:flex md:flex-row md:gap-3.5 mt-8"
|
||||||
>
|
>
|
||||||
<Link
|
<Link
|
||||||
href="/contact"
|
href="/contact"
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ export function PeopleHero() {
|
|||||||
|
|
||||||
<motion.div
|
<motion.div
|
||||||
variants={ctaVariant}
|
variants={ctaVariant}
|
||||||
className="flex flex-col sm:flex-row gap-3.5 mt-8 w-full sm:w-auto"
|
className="hidden md:flex md:flex-row md:gap-3.5 mt-8"
|
||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
href="#download-section"
|
href="#download-section"
|
||||||
|
|||||||
@@ -114,10 +114,6 @@ export function Hero() {
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* 5. Three small X marks */}
|
|
||||||
<div className="absolute top-[8%] left-[48%] text-[#6D28D9]/25 font-bold text-xl pointer-events-none select-none z-0">✕</div>
|
|
||||||
<div className="hidden lg:block absolute top-[52%] left-[44%] text-[#6D28D9]/20 font-bold text-lg pointer-events-none select-none z-0">✕</div>
|
|
||||||
<div className="absolute bottom-[14%] right-[5%] text-[#6D28D9]/25 font-bold text-xl pointer-events-none select-none z-0">✕</div>
|
|
||||||
|
|
||||||
{/* 6. Large partial purple circle (bottom-right corner) */}
|
{/* 6. Large partial purple circle (bottom-right corner) */}
|
||||||
<motion.div
|
<motion.div
|
||||||
@@ -167,7 +163,7 @@ export function Hero() {
|
|||||||
</motion.p>
|
</motion.p>
|
||||||
|
|
||||||
{/* CTAs: primary scales in, secondary slides from left */}
|
{/* CTAs: primary scales in, secondary slides from left */}
|
||||||
<div className="flex flex-col sm:flex-row gap-3.5 mt-8 w-full sm:w-auto">
|
<div className="hidden md:flex md:flex-row md:gap-3.5 mt-8">
|
||||||
<motion.div
|
<motion.div
|
||||||
variants={primaryCtaVariant}
|
variants={primaryCtaVariant}
|
||||||
whileHover={{ scale: 1.03, transition: { duration: 0.2, ease: EASE } }}
|
whileHover={{ scale: 1.03, transition: { duration: 0.2, ease: EASE } }}
|
||||||
@@ -175,7 +171,7 @@ export function Hero() {
|
|||||||
>
|
>
|
||||||
<Link
|
<Link
|
||||||
href="/people"
|
href="/people"
|
||||||
className="bg-[#6D28D9] hover:bg-[#5225b8] text-white font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-colors duration-200 block"
|
className="bg-[#6D28D9] hover:bg-[#5225b8] text-white font-black px-5 sm:px-8 py-3.5 rounded-xl text-sm md:text-base text-center shadow-md hover:shadow-lg transition-colors duration-200 block"
|
||||||
>
|
>
|
||||||
Explore Stores
|
Explore Stores
|
||||||
</Link>
|
</Link>
|
||||||
@@ -187,7 +183,7 @@ export function Hero() {
|
|||||||
>
|
>
|
||||||
<Link
|
<Link
|
||||||
href="/people#download-section"
|
href="/people#download-section"
|
||||||
className="border-2 border-[#6D28D9]/20 hover:border-[#6D28D9]/40 text-[#6D28D9] font-black px-8 py-3.5 rounded-xl text-sm md:text-base text-center transition-colors duration-200 hover:bg-[#6D28D9]/5 block"
|
className="border-2 border-[#6D28D9]/20 hover:border-[#6D28D9]/40 text-[#6D28D9] font-black px-5 sm:px-8 py-3.5 rounded-xl text-sm md:text-base text-center transition-colors duration-200 hover:bg-[#6D28D9]/5 block"
|
||||||
>
|
>
|
||||||
Get the App
|
Get the App
|
||||||
</Link>
|
</Link>
|
||||||
|
|||||||
@@ -76,8 +76,6 @@ export function HeroVisualCollage({
|
|||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="absolute top-12 left-6 text-[#6330D6]/15 font-display text-xl font-bold select-none pointer-events-none">✕</div>
|
|
||||||
<div className="absolute bottom-16 right-8 text-[#6330D6]/15 font-display text-xl font-bold select-none pointer-events-none">✕</div>
|
|
||||||
|
|
||||||
{/* LEFT IMAGE PANEL */}
|
{/* LEFT IMAGE PANEL */}
|
||||||
{leftImage && (
|
{leftImage && (
|
||||||
|
|||||||
@@ -18,32 +18,49 @@ type FeatureStatsRowProps = {
|
|||||||
export function FeatureStatsRow({ items, className = "" }: FeatureStatsRowProps) {
|
export function FeatureStatsRow({ items, className = "" }: FeatureStatsRowProps) {
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div
|
||||||
className={`w-full py-6 md:py-8 ${className}`}
|
className={`w-full py-5 md:py-8 ${className}`}
|
||||||
variants={staggerContainer}
|
variants={staggerContainer}
|
||||||
initial="hidden"
|
initial="hidden"
|
||||||
whileInView="visible"
|
whileInView="visible"
|
||||||
viewport={viewport}
|
viewport={viewport}
|
||||||
>
|
>
|
||||||
<div className="grid grid-cols-2 lg:flex lg:flex-row items-center justify-between gap-y-6 gap-x-4 lg:gap-0">
|
<div className="grid grid-cols-2 lg:flex lg:flex-row lg:items-center lg:justify-between gap-3 lg:gap-0">
|
||||||
{items.map((item, index) => (
|
{items.map((item, index) => (
|
||||||
<motion.div
|
<motion.div
|
||||||
key={item.title}
|
key={item.title}
|
||||||
variants={fadeUp}
|
variants={fadeUp}
|
||||||
className={`flex items-center gap-3.5 lg:flex-1 px-3 lg:px-8 text-left ${
|
className={[
|
||||||
index < items.length - 1
|
// ── Mobile card (< 640 px) ──────────────────────────────────
|
||||||
? "lg:border-r lg:border-[#6330D6]/10"
|
"flex flex-col gap-3",
|
||||||
: ""
|
"bg-white",
|
||||||
}`}
|
"border border-[#6330D6]/10",
|
||||||
|
"rounded-2xl",
|
||||||
|
"shadow-[0_2px_14px_rgba(99,48,214,0.07)]",
|
||||||
|
"p-4",
|
||||||
|
// ── Tablet strip (640 px – 1023 px) ────────────────────────
|
||||||
|
"sm:flex-row sm:items-center sm:gap-3.5",
|
||||||
|
"sm:bg-transparent",
|
||||||
|
"sm:border-0",
|
||||||
|
"sm:rounded-none",
|
||||||
|
"sm:shadow-none",
|
||||||
|
"sm:px-3 sm:py-2",
|
||||||
|
// ── Desktop strip (1024 px +) ───────────────────────────────
|
||||||
|
"lg:flex-1 lg:px-8 lg:py-0",
|
||||||
|
"text-left",
|
||||||
|
index < items.length - 1 ? "lg:border-r lg:border-[#6330D6]/10" : "",
|
||||||
|
]
|
||||||
|
.filter(Boolean)
|
||||||
|
.join(" ")}
|
||||||
>
|
>
|
||||||
<div className="w-9 h-9 rounded-full bg-[#6330D6]/10 text-[#6330D6] flex items-center justify-center shrink-0">
|
<div className="w-9 h-9 rounded-full bg-[#6330D6]/10 text-[#6330D6] flex items-center justify-center shrink-0">
|
||||||
<MaterialIcon icon={item.icon} size={18} />
|
<MaterialIcon icon={item.icon} size={18} />
|
||||||
</div>
|
</div>
|
||||||
<div className="min-w-0">
|
<div className="min-w-0">
|
||||||
<h4 className="text-sm md:text-base font-black text-[#16001D] leading-tight truncate">
|
<h4 className="text-sm md:text-base font-black text-[#16001D] leading-tight">
|
||||||
{item.title}
|
{item.title}
|
||||||
</h4>
|
</h4>
|
||||||
{item.desc && (
|
{item.desc && (
|
||||||
<p className="text-[11px] md:text-xs text-[#5E5866] font-semibold mt-0.5 leading-tight truncate">
|
<p className="text-[11px] md:text-xs text-[#5E5866] font-semibold mt-0.5 leading-snug">
|
||||||
{item.desc}
|
{item.desc}
|
||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user