Files
ember-market-frontend/app/page.tsx
g fe01f31538
Some checks failed
Build Frontend / build (push) Failing after 7s
Refactor UI imports and update component paths
Replaces imports from 'components/ui' with 'components/common' across the app and dashboard pages, and updates model and API imports to use new paths under 'lib'. Removes redundant authentication checks from several dashboard pages. Adds new dashboard components and utility files, and reorganizes hooks and services into the 'lib' directory for improved structure.
2026-01-13 05:02:13 +00:00

115 lines
4.9 KiB
TypeScript

import { getPlatformStatsServer } from "@/lib/api/server-api";
import { HomeNavbar } from "@/components/layout/home-navbar";
import { Shield, LineChart, Zap, ArrowRight, Sparkles } from "lucide-react";
import { Button } from "@/components/common/button";
import Link from "next/link";
import { AnimatedStatsSection } from "@/components/animated-stats-section";
import { MotionWrapper } from "@/components/common/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>;
}
}