"use client" import type React from "react" import { useState } from "react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Alert, AlertDescription } from "@/components/ui/alert" import { Users, Eye, EyeOff } from "lucide-react" import Link from "next/link" import { useRouter } from "next/navigation" import { useAuth } from "@/lib/hooks/use-auth" export default function RegisterPage() { const [formData, setFormData] = useState({ name: "", email: "", password: "", confirmPassword: "", department: "", role: "user" as "user" | "admin", }) const [showPassword, setShowPassword] = useState(false) const [showConfirmPassword, setShowConfirmPassword] = useState(false) const [error, setError] = useState("") const [isLoading, setIsLoading] = useState(false) const router = useRouter() const { register } = useAuth() const departments = ["人力資源部", "資訊技術部", "財務部", "行銷部", "業務部", "研發部", "客服部", "其他"] const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setError("") if (formData.password !== formData.confirmPassword) { setError("密碼確認不一致") return } if (formData.password.length < 6) { setError("密碼長度至少需要6個字元") return } setIsLoading(true) try { const success = await register({ name: formData.name, email: formData.email, password: formData.password, department: formData.department, role: formData.role, }) if (success) { router.push("/dashboard") } else { setError("註冊失敗,該電子郵件可能已被使用") } } catch (err) { setError("註冊失敗,請稍後再試") } finally { setIsLoading(false) } } return (

HR 評估系統

建立您的帳戶

註冊 填寫以下資訊以建立您的帳戶
setFormData({ ...formData, name: e.target.value })} required />
setFormData({ ...formData, email: e.target.value })} required />
setFormData({ ...formData, password: e.target.value })} required />
setFormData({ ...formData, confirmPassword: e.target.value })} required />
{error && ( {error} )}

已有帳戶?{" "} 立即登入

) }