Files
hr-assessment-system/app/page.tsx
2025-09-25 12:30:25 +08:00

172 lines
7.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use client"
import { useEffect } from "react"
import { useRouter } from "next/navigation"
import { useAuth } from "@/lib/hooks/use-auth"
import { Button } from "@/components/ui/button"
import { Users, Brain, Lightbulb, BarChart3, Shield, Clock } from "lucide-react"
import Link from "next/link"
export default function HomePage() {
const { user, isLoading } = useAuth()
const router = useRouter()
useEffect(() => {
if (!isLoading && user) {
router.push("/home")
}
}, [user, isLoading, router])
if (isLoading) {
return (
<div className="min-h-screen bg-background flex items-center justify-center">
<div className="text-center">
<div className="w-8 h-8 border-4 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-4"></div>
<p className="text-muted-foreground">...</p>
</div>
</div>
)
}
if (user) {
return null
}
return (
<div className="min-h-screen bg-background">
{/* Header */}
<header className="border-b bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 sticky top-0 z-50">
<div className="container mx-auto px-4 py-4 flex items-center justify-between">
<div className="flex items-center gap-3">
<div className="w-10 h-10 bg-primary rounded-lg flex items-center justify-center">
<Users className="w-6 h-6 text-primary-foreground" />
</div>
<span className="text-xl font-bold">HR </span>
</div>
<div className="flex items-center gap-4">
<Link href="/login" className="text-muted-foreground hover:text-foreground transition-colors">
</Link>
<Button asChild size="sm">
<Link href="/register"></Link>
</Button>
</div>
</div>
</header>
{/* Hero Section */}
<section className="py-12 px-4">
<div className="container mx-auto text-center">
<div className="max-w-3xl mx-auto">
<div className="w-16 h-16 bg-gradient-to-br from-primary to-accent rounded-xl flex items-center justify-center mx-auto mb-6">
<Users className="w-8 h-8 text-white" />
</div>
<h1 className="text-3xl md:text-4xl font-bold text-foreground mb-4 text-balance">HR </h1>
<p className="text-lg md:text-xl text-muted-foreground mb-8 text-pretty leading-relaxed max-w-2xl mx-auto">
</p>
</div>
</div>
</section>
{/* Features Section */}
<section className="py-20 px-4 bg-muted/30">
<div className="container mx-auto">
<div className="text-center mb-16">
<h2 className="text-4xl font-bold text-foreground mb-6"></h2>
<p className="text-xl text-muted-foreground max-w-3xl mx-auto text-pretty">
</p>
</div>
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-6xl mx-auto">
<div className="bg-background rounded-xl p-8 shadow-sm hover:shadow-md transition-shadow">
<div className="w-16 h-16 bg-primary/10 rounded-xl flex items-center justify-center mb-6">
<Brain className="w-8 h-8 text-primary" />
</div>
<h3 className="text-2xl font-semibold mb-4"></h3>
<p className="text-muted-foreground leading-relaxed">
</p>
</div>
<div className="bg-background rounded-xl p-8 shadow-sm hover:shadow-md transition-shadow">
<div className="w-16 h-16 bg-accent/10 rounded-xl flex items-center justify-center mb-6">
<Lightbulb className="w-8 h-8 text-accent" />
</div>
<h3 className="text-2xl font-semibold mb-4"></h3>
<p className="text-muted-foreground leading-relaxed">
</p>
</div>
<div className="bg-background rounded-xl p-8 shadow-sm hover:shadow-md transition-shadow">
<div className="w-16 h-16 bg-gradient-to-br from-primary to-accent rounded-xl flex items-center justify-center mb-6">
<BarChart3 className="w-8 h-8 text-white" />
</div>
<h3 className="text-2xl font-semibold mb-4"></h3>
<p className="text-muted-foreground leading-relaxed">
</p>
</div>
<div className="bg-background rounded-xl p-8 shadow-sm hover:shadow-md transition-shadow">
<div className="w-16 h-16 bg-green-100 rounded-xl flex items-center justify-center mb-6">
<Shield className="w-8 h-8 text-green-600" />
</div>
<h3 className="text-2xl font-semibold mb-4"></h3>
<p className="text-muted-foreground leading-relaxed">
</p>
</div>
<div className="bg-background rounded-xl p-8 shadow-sm hover:shadow-md transition-shadow">
<div className="w-16 h-16 bg-blue-100 rounded-xl flex items-center justify-center mb-6">
<Clock className="w-8 h-8 text-blue-600" />
</div>
<h3 className="text-2xl font-semibold mb-4">便</h3>
<p className="text-muted-foreground leading-relaxed">
HR工作效率
</p>
</div>
<div className="bg-background rounded-xl p-8 shadow-sm hover:shadow-md transition-shadow">
<div className="w-16 h-16 bg-purple-100 rounded-xl flex items-center justify-center mb-6">
<Users className="w-8 h-8 text-purple-600" />
</div>
<h3 className="text-2xl font-semibold mb-4"></h3>
<p className="text-muted-foreground leading-relaxed">
使
</p>
</div>
</div>
</div>
</section>
{/* Footer */}
<footer className="border-t bg-muted/30 py-12 px-4">
<div className="container mx-auto">
<div className="flex flex-col md:flex-row justify-between items-center gap-4">
{/* 左側內容 */}
<div className="flex items-center gap-3">
<div className="w-8 h-8 bg-primary rounded-lg flex items-center justify-center">
<Users className="w-4 h-4 text-primary-foreground" />
</div>
<div>
<span className="text-lg font-semibold">HR </span>
<p className="text-muted-foreground text-sm"></p>
</div>
</div>
{/* 右側內容 */}
<div className="text-sm text-muted-foreground">
© 2025 HR . All rights reserved.
</div>
</div>
</div>
</footer>
</div>
)
}