"use client"; import { useState, useEffect } from "react"; import Link from "next/link"; import { getAiAssistantAuth, setAiAssistantAuth, loginAiAssistant, } from "@/lib/api/aiAssistant"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; export default function AIAssistantLayout({ children, }: { children: React.ReactNode; }) { const [mounted, setMounted] = useState(false); const [auth, setAuth] = useState>(null); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); useEffect(() => { setAuth(getAiAssistantAuth()); setMounted(true); }, []); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setError(""); setLoading(true); try { await loginAiAssistant(email, password); setAuth(getAiAssistantAuth()); } catch (err: unknown) { const msg = err && typeof err === "object" && "response" in err ? (err as { response?: { data?: { error?: { message?: string } } } }).response?.data ?.error?.message : null; setError(msg || "로그인에 실패했습니다."); } finally { setLoading(false); } }; const handleLogout = () => { setAiAssistantAuth(null); setAuth(null); }; if (!mounted) { return (

로딩 중...

); } if (!auth) { return (
AI 어시스턴트 로그인 AI 서비스(API 키, 사용량, 채팅 등)를 사용하려면 로그인하세요.
setEmail(e.target.value)} placeholder="admin@admin.com" required />
setPassword(e.target.value)} required />
{error && (

{error}

)}
); } return (
{auth.user?.name || auth.user?.email} (AI 서비스)
{children}
); }