style: redesign hero section and auth split layout
This commit is contained in:
+22
-3
@@ -1,8 +1,27 @@
|
|||||||
|
import { Gamepad2 } from "lucide-react"
|
||||||
|
|
||||||
export default function AuthLayout({ children }: { children: React.ReactNode }) {
|
export default function AuthLayout({ children }: { children: React.ReactNode }) {
|
||||||
return (
|
return (
|
||||||
<div className="flex min-h-screen items-center justify-center bg-muted/30">
|
<div className="flex min-h-screen">
|
||||||
<div className="w-full max-w-md rounded-lg border bg-background p-6 shadow-sm">
|
<div className="hidden md:flex w-1/2 relative overflow-hidden bg-primary items-center justify-center p-12 text-primary-foreground">
|
||||||
{children}
|
<div className="absolute inset-0 bg-linear-to-br from-primary via-primary/90 to-primary/80" />
|
||||||
|
<div className="absolute top-[-10%] left-[-10%] w-[60%] h-[60%] rounded-full bg-white/10 blur-[120px]" />
|
||||||
|
<div className="absolute bottom-[-10%] right-[-10%] w-[60%] h-[60%] rounded-full bg-white/10 blur-[120px]" />
|
||||||
|
<div className="relative z-10 max-w-md space-y-6">
|
||||||
|
<div className="flex items-center gap-3">
|
||||||
|
<div className="rounded-2xl bg-white/20 p-3 backdrop-blur-sm">
|
||||||
|
<Gamepad2 className="h-10 w-10" />
|
||||||
|
</div>
|
||||||
|
<span className="text-3xl font-bold tracking-tighter">聚玩 JuWan</span>
|
||||||
|
</div>
|
||||||
|
<div className="space-y-2">
|
||||||
|
<h2 className="text-4xl font-bold leading-tight">找到你的游戏搭档</h2>
|
||||||
|
<p className="text-lg text-primary-foreground/80">找人一起打游戏,从这里开始</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="flex-1 flex items-center justify-center p-6 bg-muted/30 md:bg-background">
|
||||||
|
<div className="w-full max-w-md">{children}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -35,11 +35,16 @@ export default function LoginPage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-6">
|
<div className="space-y-8 bg-background p-8 rounded-xl border shadow-sm md:border-0 md:shadow-none md:p-0">
|
||||||
<div className="flex flex-col items-center gap-2">
|
<div className="flex flex-col gap-2">
|
||||||
<Gamepad2 className="h-8 w-8" />
|
<div className="flex items-center gap-2 md:hidden mb-4">
|
||||||
<h1 className="text-2xl font-bold">登录聚玩</h1>
|
<div className="rounded-lg bg-primary/10 p-2">
|
||||||
<p className="text-sm text-muted-foreground">输入你的账号信息</p>
|
<Gamepad2 className="h-6 w-6 text-primary" />
|
||||||
|
</div>
|
||||||
|
<span className="text-xl font-bold">聚玩</span>
|
||||||
|
</div>
|
||||||
|
<h1 className="text-2xl font-bold tracking-tight">欢迎回来</h1>
|
||||||
|
<p className="text-sm text-muted-foreground">登录你的账号以继续</p>
|
||||||
</div>
|
</div>
|
||||||
<form onSubmit={handleSubmit(onSubmit)} className="space-y-4">
|
<form onSubmit={handleSubmit(onSubmit)} className="space-y-4">
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
|
|||||||
@@ -42,10 +42,15 @@ export default function RegisterPage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-6">
|
<div className="space-y-8 bg-background p-8 rounded-xl border shadow-sm md:border-0 md:shadow-none md:p-0">
|
||||||
<div className="flex flex-col items-center gap-2">
|
<div className="flex flex-col gap-2">
|
||||||
<Gamepad2 className="h-8 w-8" />
|
<div className="flex items-center gap-2 md:hidden mb-4">
|
||||||
<h1 className="text-2xl font-bold">注册聚玩</h1>
|
<div className="rounded-lg bg-primary/10 p-2">
|
||||||
|
<Gamepad2 className="h-6 w-6 text-primary" />
|
||||||
|
</div>
|
||||||
|
<span className="text-xl font-bold">聚玩</span>
|
||||||
|
</div>
|
||||||
|
<h1 className="text-2xl font-bold tracking-tight">创建账号</h1>
|
||||||
<p className="text-sm text-muted-foreground">创建你的聚玩账号</p>
|
<p className="text-sm text-muted-foreground">创建你的聚玩账号</p>
|
||||||
</div>
|
</div>
|
||||||
<form onSubmit={handleSubmit(onSubmit)} className="space-y-4">
|
<form onSubmit={handleSubmit(onSubmit)} className="space-y-4">
|
||||||
|
|||||||
+14
-6
@@ -10,20 +10,28 @@ import { mockGames, mockPlayers, mockShops } from "@/lib/mock-data"
|
|||||||
export default function HomePage() {
|
export default function HomePage() {
|
||||||
return (
|
return (
|
||||||
<div className="container mx-auto py-8 px-4 space-y-12">
|
<div className="container mx-auto py-8 px-4 space-y-12">
|
||||||
<section className="text-center space-y-4 py-8">
|
<section className="relative overflow-hidden rounded-3xl bg-linear-to-b from-primary/10 via-primary/5 to-transparent px-6 py-16 md:py-24 text-center">
|
||||||
<h1 className="text-4xl font-bold tracking-tight">找到你的游戏搭档</h1>
|
<div className="absolute top-0 left-1/2 -translate-x-1/2 w-full h-full -z-10">
|
||||||
<p className="text-lg text-muted-foreground max-w-xl mx-auto">找人一起打游戏,从这里开始</p>
|
<div className="absolute top-[-10%] left-[-10%] w-[40%] h-[40%] rounded-full bg-primary/10 blur-[100px]" />
|
||||||
<div className="flex justify-center gap-2 pt-2">
|
<div className="absolute bottom-[-10%] right-[-10%] w-[40%] h-[40%] rounded-full bg-primary/10 blur-[100px]" />
|
||||||
<Button size="lg" asChild>
|
</div>
|
||||||
|
<div className="relative z-10 space-y-6">
|
||||||
|
<h1 className="text-4xl md:text-6xl font-extrabold tracking-tight">找到你的游戏搭档</h1>
|
||||||
|
<p className="text-lg md:text-xl text-muted-foreground max-w-xl mx-auto">
|
||||||
|
找人一起打游戏,从这里开始
|
||||||
|
</p>
|
||||||
|
<div className="flex flex-col sm:flex-row justify-center gap-3 pt-2">
|
||||||
|
<Button size="lg" className="rounded-full px-8" asChild>
|
||||||
<Link href="/search">
|
<Link href="/search">
|
||||||
<Search className="mr-2 h-4 w-4" />
|
<Search className="mr-2 h-4 w-4" />
|
||||||
找人陪玩
|
找人陪玩
|
||||||
</Link>
|
</Link>
|
||||||
</Button>
|
</Button>
|
||||||
<Button size="lg" variant="outline" asChild>
|
<Button size="lg" variant="outline" className="rounded-full px-8" asChild>
|
||||||
<Link href="/community">逛逛社区</Link>
|
<Link href="/community">逛逛社区</Link>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
|
|||||||
Reference in New Issue
Block a user