first commit
This commit is contained in:
208
app/page.tsx
208
app/page.tsx
@@ -1,65 +1,153 @@
|
||||
import Image from "next/image";
|
||||
"use client"
|
||||
|
||||
import { useState, useEffect } from "react"
|
||||
import { ArrowRight, Sparkles, Zap, Shield } from "lucide-react"
|
||||
import { Card } from "@/components/ui/card"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import Link from "next/link"
|
||||
|
||||
export default function WelcomePage() {
|
||||
const [mounted, setMounted] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
setMounted(true)
|
||||
}, [])
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<div className="flex min-h-screen items-center justify-center bg-zinc-50 font-sans dark:bg-black">
|
||||
<main className="flex min-h-screen w-full max-w-3xl flex-col items-center justify-between py-32 px-16 bg-white dark:bg-black sm:items-start">
|
||||
<Image
|
||||
className="dark:invert"
|
||||
src="/next.svg"
|
||||
alt="Next.js logo"
|
||||
width={100}
|
||||
height={20}
|
||||
priority
|
||||
/>
|
||||
<div className="flex flex-col items-center gap-6 text-center sm:items-start sm:text-left">
|
||||
<h1 className="max-w-xs text-3xl font-semibold leading-10 tracking-tight text-black dark:text-zinc-50">
|
||||
To get started, edit the page.tsx file.
|
||||
</h1>
|
||||
<p className="max-w-md text-lg leading-8 text-zinc-600 dark:text-zinc-400">
|
||||
Looking for a starting point or more instructions? Head over to{" "}
|
||||
<a
|
||||
href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
|
||||
className="font-medium text-zinc-950 dark:text-zinc-50"
|
||||
>
|
||||
Templates
|
||||
</a>{" "}
|
||||
or the{" "}
|
||||
<a
|
||||
href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
|
||||
className="font-medium text-zinc-950 dark:text-zinc-50"
|
||||
>
|
||||
Learning
|
||||
</a>{" "}
|
||||
center.
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex flex-col gap-4 text-base font-medium sm:flex-row">
|
||||
<a
|
||||
className="flex h-12 w-full items-center justify-center gap-2 rounded-full bg-foreground px-5 text-background transition-colors hover:bg-[#383838] dark:hover:bg-[#ccc] md:w-[158px]"
|
||||
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<Image
|
||||
className="dark:invert"
|
||||
src="/vercel.svg"
|
||||
alt="Vercel logomark"
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
Deploy Now
|
||||
</a>
|
||||
<a
|
||||
className="flex h-12 w-full items-center justify-center rounded-full border border-solid border-black/[.08] px-5 transition-colors hover:border-transparent hover:bg-black/[.04] dark:border-white/[.145] dark:hover:bg-[#1a1a1a] md:w-[158px]"
|
||||
href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Documentation
|
||||
</a>
|
||||
<div className="min-h-screen bg-[#0a0e1a] relative overflow-hidden">
|
||||
{/* Animated background grid */}
|
||||
<div
|
||||
className="fixed inset-0 pointer-events-none -z-10 opacity-30"
|
||||
style={{
|
||||
backgroundImage: `
|
||||
linear-gradient(rgba(6, 182, 212, 0.1) 1px, transparent 1px),
|
||||
linear-gradient(90deg, rgba(6, 182, 212, 0.1) 1px, transparent 1px)
|
||||
`,
|
||||
backgroundSize: '50px 50px',
|
||||
animation: mounted ? 'grid-move 20s linear infinite' : 'none'
|
||||
}}
|
||||
/>
|
||||
|
||||
{/* Glowing orbs */}
|
||||
<div className="fixed top-20 left-20 w-72 h-72 bg-cyan-500/20 rounded-full blur-[100px] animate-pulse" />
|
||||
<div className="fixed bottom-20 right-20 w-96 h-96 bg-blue-500/10 rounded-full blur-[120px] animate-pulse delay-1000" />
|
||||
|
||||
{/* Main Content */}
|
||||
<main className="container mx-auto px-6 py-12 relative z-10">
|
||||
<div className="max-w-4xl mx-auto">
|
||||
{/* Hero Section */}
|
||||
<div className="text-center mb-16 pt-20">
|
||||
<div className="inline-block mb-6">
|
||||
<div className="flex items-center gap-2 px-4 py-2 bg-cyan-500/10 border border-cyan-500/30 rounded-full">
|
||||
<Sparkles className="w-4 h-4 text-cyan-400" />
|
||||
<span className="text-xs font-mono text-cyan-400 tracking-wider">
|
||||
WELCOME TO THE FUTURE
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h1 className="text-7xl md:text-8xl font-bold mb-6 text-transparent bg-clip-text bg-gradient-to-r from-cyan-400 via-cyan-300 to-blue-400 font-mono tracking-tight">
|
||||
Dashboard
|
||||
</h1>
|
||||
|
||||
<p className="text-xl text-cyan-400/60 font-mono mb-12 tracking-wide">
|
||||
Управляй своим прогрессом в киберпространстве
|
||||
</p>
|
||||
|
||||
<Link href="/home/main">
|
||||
<Button
|
||||
size="lg"
|
||||
className="bg-cyan-500 hover:bg-cyan-400 text-black font-bold font-mono tracking-wider px-8 py-6 text-lg rounded-lg shadow-[0_0_30px_rgba(6,182,212,0.4)] hover:shadow-[0_0_50px_rgba(6,182,212,0.6)] transition-all duration-300 group"
|
||||
>
|
||||
Войти в систему
|
||||
<ArrowRight className="ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform" />
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* Features Grid */}
|
||||
<div className="grid md:grid-cols-3 gap-6 mt-20">
|
||||
<Card className="bg-[#0d1117] border-2 border-cyan-500/20 p-6 hover:border-cyan-500/40 transition-all duration-300 group hover:shadow-[0_0_30px_rgba(6,182,212,0.1)]">
|
||||
<div className="w-12 h-12 bg-cyan-500/10 rounded-lg flex items-center justify-center mb-4 group-hover:bg-cyan-500/20 transition-colors">
|
||||
<Zap className="w-6 h-6 text-cyan-400" />
|
||||
</div>
|
||||
<h3 className="text-lg font-bold text-cyan-400 font-mono mb-2">
|
||||
Быстрый доступ
|
||||
</h3>
|
||||
<p className="text-sm text-cyan-400/50 font-mono leading-relaxed">
|
||||
Мгновенный доступ ко всем функциям системы
|
||||
</p>
|
||||
</Card>
|
||||
|
||||
<Card className="bg-[#0d1117] border-2 border-cyan-500/20 p-6 hover:border-cyan-500/40 transition-all duration-300 group hover:shadow-[0_0_30px_rgba(6,182,212,0.1)]">
|
||||
<div className="w-12 h-12 bg-cyan-500/10 rounded-lg flex items-center justify-center mb-4 group-hover:bg-cyan-500/20 transition-colors">
|
||||
<Shield className="w-6 h-6 text-cyan-400" />
|
||||
</div>
|
||||
<h3 className="text-lg font-bold text-cyan-400 font-mono mb-2">
|
||||
Безопасность
|
||||
</h3>
|
||||
<p className="text-sm text-cyan-400/50 font-mono leading-relaxed">
|
||||
Защищённое хранение данных и прогресса
|
||||
</p>
|
||||
</Card>
|
||||
|
||||
<Card className="bg-[#0d1117] border-2 border-cyan-500/20 p-6 hover:border-cyan-500/40 transition-all duration-300 group hover:shadow-[0_0_30px_rgba(6,182,212,0.1)]">
|
||||
<div className="w-12 h-12 bg-cyan-500/10 rounded-lg flex items-center justify-center mb-4 group-hover:bg-cyan-500/20 transition-colors">
|
||||
<Sparkles className="w-6 h-6 text-cyan-400" />
|
||||
</div>
|
||||
<h3 className="text-lg font-bold text-cyan-400 font-mono mb-2">
|
||||
Прогресс
|
||||
</h3>
|
||||
<p className="text-sm text-cyan-400/50 font-mono leading-relaxed">
|
||||
Отслеживание достижений в реальном времени
|
||||
</p>
|
||||
</Card>
|
||||
</div>
|
||||
|
||||
{/* Stats Section */}
|
||||
<div className="mt-16 text-center">
|
||||
<Card className="bg-[#0d1117] border-2 border-cyan-500/30 p-8 shadow-[0_0_50px_rgba(6,182,212,0.15)]">
|
||||
<div className="grid grid-cols-3 gap-8">
|
||||
<div>
|
||||
<div className="text-4xl font-bold text-cyan-400 font-mono mb-2">
|
||||
24/7
|
||||
</div>
|
||||
<div className="text-sm text-cyan-400/50 font-mono">
|
||||
Онлайн
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-4xl font-bold text-cyan-400 font-mono mb-2">
|
||||
100%
|
||||
</div>
|
||||
<div className="text-sm text-cyan-400/50 font-mono">
|
||||
Безопасность
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div className="text-4xl font-bold text-cyan-400 font-mono mb-2">
|
||||
∞
|
||||
</div>
|
||||
<div className="text-sm text-cyan-400/50 font-mono">
|
||||
Возможности
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<style jsx>{`
|
||||
@keyframes grid-move {
|
||||
0% {
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
100% {
|
||||
transform: translate(50px, 50px);
|
||||
}
|
||||
}
|
||||
`}</style>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user