All checks were successful
Build Frontend / build (push) Successful in 1m10s
Refined color scheme in AnimatedStatsSection to use indigo instead of pink, and improved gradient backgrounds. In dashboard/content.tsx, updated TopProduct price to support arrays and display revenue per product. UnifiedNotifications received minor style and layout adjustments for better consistency and usability.
112 lines
4.9 KiB
TypeScript
112 lines
4.9 KiB
TypeScript
import { getPlatformStatsServer } from "@/lib/server-api";
|
|
import { HomeNavbar } from "@/components/home-navbar";
|
|
import { Shield, LineChart, Zap, ArrowRight, Sparkles } from "lucide-react";
|
|
import { Button } from "@/components/ui/button";
|
|
import Link from "next/link";
|
|
import { AnimatedStatsSection } from "@/components/animated-stats-section";
|
|
import { MotionWrapper } from "@/components/ui/motion-wrapper";
|
|
|
|
export const dynamic = 'force-dynamic';
|
|
|
|
export default async function Home() {
|
|
try {
|
|
const stats = await getPlatformStatsServer();
|
|
|
|
return (
|
|
<div className="relative flex flex-col min-h-screen bg-black text-white">
|
|
<div className="absolute inset-0 bg-gradient-to-br from-indigo-500/10 via-purple-500/5 to-transparent pointer-events-none scale-100" />
|
|
<HomeNavbar />
|
|
|
|
{/* Hero Section */}
|
|
<section className="relative overflow-hidden">
|
|
<div className="relative flex flex-col items-center px-4 py-20 md:py-32 mx-auto max-w-7xl">
|
|
<div className="flex flex-col items-center text-center space-y-6 max-w-3xl">
|
|
<div className="inline-flex items-center px-4 py-2 rounded-full border border-indigo-500/20 bg-indigo-500/10 mb-4">
|
|
<Sparkles className="h-4 w-4 mr-2 text-indigo-400" />
|
|
<span className="text-sm font-medium text-indigo-400">
|
|
Secure Crypto Payments
|
|
</span>
|
|
</div>
|
|
<h1 className="text-4xl md:text-6xl font-bold tracking-tight">
|
|
The Future of <span className="text-indigo-500">E-commerce</span> Management
|
|
</h1>
|
|
<p className="text-lg md:text-xl text-zinc-400 max-w-2xl">
|
|
Streamline your online business with our all-in-one platform. Secure payments, order tracking, and analytics in one place.
|
|
</p>
|
|
<div className="flex flex-col sm:flex-row gap-4 mt-4">
|
|
<Link href="/dashboard">
|
|
<Button
|
|
size="lg"
|
|
className="gap-2 text-white border-0 h-12 px-8 bg-indigo-600 hover:bg-indigo-700"
|
|
>
|
|
Get Started
|
|
<ArrowRight className="h-4 w-4" />
|
|
</Button>
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Features Grid */}
|
|
<section className="relative py-20 px-4">
|
|
<div className="max-w-7xl mx-auto space-y-20">
|
|
<MotionWrapper>
|
|
<div className="grid md:grid-cols-3 gap-6">
|
|
{[
|
|
{
|
|
icon: Shield,
|
|
title: "Secure Payments",
|
|
description: "Built-in cryptocurrency support with maximum privacy and security for your transactions."
|
|
},
|
|
{
|
|
icon: LineChart,
|
|
title: "Real-time Analytics",
|
|
description: "Track your business performance with detailed insights and reporting tools."
|
|
},
|
|
{
|
|
icon: Zap,
|
|
title: "Lightning Fast",
|
|
description: "Optimized for speed with real-time updates and instant notifications."
|
|
}
|
|
].map((feature, i) => (
|
|
<div
|
|
key={i}
|
|
className="group relative overflow-hidden rounded-xl bg-gradient-to-b from-zinc-800/30 to-transparent p-6 border border-zinc-800 transition-all duration-300 hover:scale-[1.02] hover:shadow-lg"
|
|
>
|
|
<div className="absolute inset-0 bg-gradient-to-b from-indigo-500/5 to-transparent opacity-0 group-hover:opacity-100 transition-opacity" />
|
|
<div className="relative">
|
|
<div className="h-12 w-12 flex items-center justify-center rounded-lg mb-4 bg-indigo-500/10">
|
|
<feature.icon className="h-6 w-6 text-indigo-500" />
|
|
</div>
|
|
<h3 className="text-lg font-semibold text-white mb-2">{feature.title}</h3>
|
|
<p className="text-sm text-zinc-400">{feature.description}</p>
|
|
</div>
|
|
</div>
|
|
))}
|
|
</div>
|
|
</MotionWrapper>
|
|
|
|
{/* Stats Section */}
|
|
<div className="relative">
|
|
<AnimatedStatsSection stats={stats as any} />
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
{/* Footer */}
|
|
<footer className="relative py-12 px-4 mt-auto">
|
|
<div className="max-w-7xl mx-auto flex flex-col items-center">
|
|
<div className="text-sm text-zinc-500">
|
|
© {new Date().getFullYear()} Ember. All rights reserved.
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
);
|
|
} catch (error) {
|
|
console.error(error);
|
|
return <div>Error loading page</div>;
|
|
}
|
|
}
|