"use client" 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 { Loader2, User, Mail, Building, CheckCircle } from "lucide-react" import { useRouter } from "next/navigation" export default function TestLinkPage() { const router = useRouter() const [userInfo, setUserInfo] = useState({ name: '', email: '', department: '' }) const [isSubmitting, setIsSubmitting] = useState(false) const [isSuccess, setIsSuccess] = useState(false) const [error, setError] = useState('') const handleUserInfoChange = (field: string, value: string) => { setUserInfo(prev => ({ ...prev, [field]: value })) setError('') // 清除錯誤訊息 } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!userInfo.name || !userInfo.email || !userInfo.department) { setError('請填寫所有必填欄位') return } setIsSubmitting(true) setError('') try { // 註冊用戶 const response = await fetch('/api/auth/register', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name: userInfo.name, email: userInfo.email, department: userInfo.department, password: 'Aa123456', // 預設密碼 role: 'user' }), }) if (response.ok) { // 註冊成功後自動登入 const loginResponse = await fetch('/api/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ email: userInfo.email, password: 'Aa123456' }), }) if (loginResponse.ok) { const loginData = await loginResponse.json() // 存儲 token 和用戶資料到 localStorage if (loginData.accessToken && loginData.refreshToken) { localStorage.setItem('accessToken', loginData.accessToken) localStorage.setItem('refreshToken', loginData.refreshToken) localStorage.setItem('hr_current_user', JSON.stringify(loginData.user)) } setIsSuccess(true) // 2秒後跳轉到個人專區(儀表板) setTimeout(() => { // 使用 window.location.href 確保頁面完全重新載入 window.location.href = '/home' }, 2000) } else { setError('註冊成功但自動登入失敗,請手動登入') } } else { const errorData = await response.json() setError(errorData.message || '註冊失敗,請稍後再試') } } catch (error) { console.error('Registration error:', error) setError('註冊失敗,請稍後再試') } finally { setIsSubmitting(false) } } if (isSuccess) { return (
正在跳轉到個人專區...