refactor: update homepage copy, metrics, and coming-soon page z-index styling

This commit is contained in:
sazzadulalambd
2026-06-23 23:03:48 +06:00
parent ba725c328d
commit a2ce7c7b49
2 changed files with 77 additions and 78 deletions

View File

@@ -94,7 +94,7 @@ export default function ComingSoonPage() {
return (
<div className="min-h-screen bg-slate-900 flex flex-col items-center justify-center p-4 text-center">
<div className="absolute top-6 left-6">
<div className="absolute top-6 left-6 z-50">
<button
onClick={() => router.push('/')}
className="text-slate-400 hover:text-white flex items-center gap-2 transition-colors"
@@ -128,7 +128,7 @@ export default function ComingSoonPage() {
</p>
{/* Mini Game Container */}
<div className="bg-slate-800 p-6 rounded-3xl border border-slate-700 shadow-2xl">
<div className="bg-slate-800 p-6 rounded-3xl border border-slate-700 shadow-2xl z-[9999]">
<div className="flex justify-between items-center mb-6 text-slate-300">
<span className="font-semibold">Moves: <span className="text-accent">{moves}</span></span>
{won && <span className="text-yellow-400 font-bold flex items-center gap-1"><Trophy className="w-5 h-5" /> You Won!</span>}
@@ -145,11 +145,10 @@ export default function ComingSoonPage() {
<button
key={card.id}
onClick={() => handleCardClick(index)}
className={`aspect-square rounded-xl flex items-center justify-center text-2xl transition-all duration-300 transform ${
isVisible
? 'bg-accent/20 border-2 border-accent text-accent scale-100 rotate-0'
: 'bg-slate-700 border-2 border-slate-600 hover:bg-slate-600 scale-95'
} ${card.isMatched ? 'opacity-50' : ''}`}
className={`aspect-square rounded-xl flex items-center justify-center text-2xl transition-all duration-300 transform ${isVisible
? 'bg-accent/20 border-2 border-accent text-accent scale-100 rotate-0'
: 'bg-slate-700 border-2 border-slate-600 hover:bg-slate-600 scale-95'
} ${card.isMatched ? 'opacity-50' : ''}`}
>
{isVisible ? <Icon className="w-8 h-8" /> : '?'}
</button>

View File

@@ -62,7 +62,7 @@ export default function LandingPage() {
};
return (
<div className="min-h-screen bg-slate-50 font-sans selection:bg-accent selection:text-white pb-20 lg:pb-0">
<div className="min-h-screen bg-slate-50 font-sans selection:bg-accent selection:text-white">
{/* Dynamic Header */}
<header className={`fixed top-0 left-0 right-0 z-50 transition-all duration-300 ${scrolled ? 'bg-white/90 backdrop-blur-md shadow-sm py-3' : 'bg-transparent py-5'}`}>
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between">
@@ -102,7 +102,7 @@ export default function LandingPage() {
<span className="text-transparent bg-clip-text bg-gradient-to-r from-accent via-emerald-400 to-accent-light">Go Electric</span> with JAIBEN.
</h1>
<p className="text-slate-300 text-lg sm:text-xl mb-10 drop-shadow-lg">
The largest EV Tech platform enabling the Gig Economy. Rent, Rent-to-Own, or Invest in EVs. Join the sustainable mobility revolution today.
The largest EV Tech platform enabling the Gig Economy. Rent or Rent-to-Own EVs. Join the sustainable mobility revolution today.
</p>
<div className="flex flex-col sm:flex-row items-center lg:items-start justify-center lg:justify-start gap-4">
<button
@@ -140,7 +140,7 @@ export default function LandingPage() {
<h3 className="text-4xl md:text-5xl font-black text-slate-900 mb-2 text-accent">
<AnimatedCounter end={18} suffix="%" />
</h3>
<p className="text-xs sm:text-sm font-semibold text-slate-500 uppercase tracking-wider">Avg. Investor ROI</p>
<p className="text-xs sm:text-sm font-semibold text-slate-500 uppercase tracking-wider">Avg. Rider Savings</p>
</div>
<div className="flex flex-col items-center justify-center text-center px-2">
<h3 className="text-4xl md:text-5xl font-black text-slate-900 mb-2">
@@ -182,7 +182,7 @@ export default function LandingPage() {
</button>
</div>
{/* Service 2 - FICO Investment - User will redesign this section */}
{/* Service 2 - FICO Partners - User will redesign this section */}
{/*
<div className="group bg-white rounded-3xl p-8 shadow-sm hover:shadow-2xl transition-all duration-300 border border-slate-100 relative overflow-hidden flex flex-col h-full">
...
@@ -337,14 +337,14 @@ export default function LandingPage() {
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10 flex flex-col md:flex-row items-center justify-between gap-12">
<div className="w-full md:w-1/2 text-center md:text-left text-white">
<h2 className="text-3xl md:text-5xl font-extrabold mb-6 leading-tight drop-shadow-sm">Ready to ride? <br/>Download the JAIBEN App</h2>
<h2 className="text-3xl md:text-5xl font-extrabold mb-6 leading-tight drop-shadow-sm">Ready to ride? <br />Download the JAIBEN App</h2>
<p className="text-white/90 text-lg mb-8 max-w-lg mx-auto md:mx-0 drop-shadow-sm">Get full access to biker rentals, swap station locations, and real-time earnings directly from your smartphone.</p>
<div className="flex flex-col sm:flex-row items-center justify-center md:justify-start gap-4">
<button
onClick={() => router.push('/coming-soon')}
className="flex items-center gap-3 bg-black text-white px-6 py-3 rounded-xl hover:bg-slate-900 hover:scale-105 transition-all shadow-xl shadow-black/20 w-full sm:w-auto justify-center"
>
<svg viewBox="0 0 512 512" className="w-6 h-6 fill-current"><path d="M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z"/></svg>
<svg viewBox="0 0 512 512" className="w-6 h-6 fill-current"><path d="M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z" /></svg>
<div className="flex flex-col text-left">
<span className="text-[10px] leading-none text-slate-300 font-semibold">GET IT ON</span>
<span className="text-lg font-bold leading-none mt-1">Google Play</span>
@@ -354,7 +354,7 @@ export default function LandingPage() {
onClick={() => router.push('/coming-soon')}
className="flex items-center gap-3 bg-black text-white px-6 py-3 rounded-xl hover:bg-slate-900 hover:scale-105 transition-all shadow-xl shadow-black/20 w-full sm:w-auto justify-center"
>
<svg viewBox="0 0 384 512" className="w-6 h-6 fill-current"><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"/></svg>
<svg viewBox="0 0 384 512" className="w-6 h-6 fill-current"><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z" /></svg>
<div className="flex flex-col text-left">
<span className="text-[10px] leading-none text-slate-300 font-semibold">Download on the</span>
<span className="text-lg font-bold leading-none mt-1">App Store</span>
@@ -364,50 +364,50 @@ export default function LandingPage() {
</div>
<div className="w-full md:w-1/2 flex justify-center">
{/* Abstract Phone Mockup */}
<div className="w-64 h-[450px] bg-slate-900 rounded-[3rem] border-[8px] border-slate-800 shadow-[0_30px_60px_rgba(0,0,0,0.4)] relative overflow-hidden flex flex-col -mb-32 md:-mb-40 transform rotate-12 hover:rotate-6 transition-transform duration-500">
<div className="h-6 w-1/2 bg-slate-800 absolute top-0 left-1/2 -translate-x-1/2 rounded-b-xl z-20"></div>
<div className="flex-1 bg-slate-50 p-4 pt-12 relative flex flex-col gap-4">
{/* Mock App Header */}
<div className="flex justify-between items-center">
<div className="w-10 h-10 bg-accent rounded-full flex items-center justify-center">
<Image src="/jaiben.png" alt="Logo" width={24} height={24} className="brightness-0 invert" />
</div>
<div className="w-8 h-8 bg-slate-200 rounded-full"></div>
</div>
{/* Abstract Phone Mockup */}
<div className="w-64 h-[450px] bg-slate-900 rounded-[3rem] border-[8px] border-slate-800 shadow-[0_30px_60px_rgba(0,0,0,0.4)] relative overflow-hidden flex flex-col -mb-32 md:-mb-40 transform rotate-12 hover:rotate-6 transition-transform duration-500">
<div className="h-6 w-1/2 bg-slate-800 absolute top-0 left-1/2 -translate-x-1/2 rounded-b-xl z-20"></div>
<div className="flex-1 bg-slate-50 p-4 pt-12 relative flex flex-col gap-4">
{/* Mock App Header */}
<div className="flex justify-between items-center">
<div className="w-10 h-10 bg-accent rounded-full flex items-center justify-center">
<Image src="/jaiben.png" alt="Logo" width={24} height={24} className="brightness-0 invert" />
</div>
<div className="w-8 h-8 bg-slate-200 rounded-full"></div>
</div>
{/* Mock App Banner */}
<div className="w-full h-32 bg-gradient-to-br from-accent to-emerald-700 rounded-2xl p-4 shadow-sm relative overflow-hidden">
<div className="w-32 h-32 bg-white/10 rounded-full absolute -right-10 -bottom-10 blur-xl"></div>
<div className="w-1/2 h-3 bg-white/40 rounded-full mb-2 relative z-10"></div>
<div className="w-1/3 h-3 bg-white/20 rounded-full relative z-10"></div>
</div>
{/* Mock App Banner */}
<div className="w-full h-32 bg-gradient-to-br from-accent to-emerald-700 rounded-2xl p-4 shadow-sm relative overflow-hidden">
<div className="w-32 h-32 bg-white/10 rounded-full absolute -right-10 -bottom-10 blur-xl"></div>
<div className="w-1/2 h-3 bg-white/40 rounded-full mb-2 relative z-10"></div>
<div className="w-1/3 h-3 bg-white/20 rounded-full relative z-10"></div>
</div>
{/* Mock App Grid */}
<div className="grid grid-cols-2 gap-3 flex-grow">
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-orange-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-purple-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-blue-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-emerald-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
</div>
</div>
</div>
{/* Mock App Grid */}
<div className="grid grid-cols-2 gap-3 flex-grow">
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-orange-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-purple-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-blue-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
<div className="bg-white rounded-xl shadow-sm border border-slate-100 p-3 flex flex-col gap-2">
<div className="w-8 h-8 bg-emerald-100 rounded-lg"></div>
<div className="w-full h-2 bg-slate-200 rounded-full"></div>
<div className="w-1/2 h-2 bg-slate-100 rounded-full"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
@@ -440,7 +440,7 @@ export default function LandingPage() {
<ul className="space-y-3 text-slate-400">
<li><button onClick={() => router.push('/coming-soon')} className="hover:text-accent transition-colors">EV for Deliveries</button></li>
<li><button onClick={() => router.push('/coming-soon')} className="hover:text-accent transition-colors">Rent to Own</button></li>
<li><button onClick={() => router.push('/coming-soon')} className="hover:text-accent transition-colors">Investor Platform</button></li>
<li><button onClick={() => router.push('/coming-soon')} className="hover:text-accent transition-colors">Fleet Management</button></li>
<li><button onClick={() => router.push('/coming-soon')} className="hover:text-accent transition-colors">Swap Stations</button></li>
</ul>
</div>