"use client"; import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; interface User { id: string; name: string; email: string; emailVerified: boolean; image: string | null; createdAt: string; updatedAt: string; } export default function ProfilePage() { const [user, setUser] = useState(null); const [loading, setLoading] = useState(true); const router = useRouter(); useEffect(() => { const fetchUser = async () => { try { const response = await fetch("/api/auth/get-session", { credentials: "include", }); const data = await response.json(); if (!response.ok || !data.user) { router.push("/login"); return; } setUser(data.user); } catch (error) { console.error("Kullanıcı bilgileri alınamadı:", error); router.push("/login"); } finally { setLoading(false); } }; fetchUser(); }, [router]); const handleLogout = async () => { try { await fetch("/api/auth/sign-out", { method: "POST", headers: { "Content-Type": "application/json", }, credentials: "include", body: JSON.stringify({}), }); router.push("/login"); router.refresh(); } catch (error) { console.error("Çıkış yapılamadı:", error); } }; if (loading) { return (
Yükleniyor...
); } if (!user) { return null; } return (

Kullanıcı Bilgileri

Resim Yükle Ana Sayfa

Profil Bilgileri

Ad Soyad
{user.name}
E-posta
{user.email}
E-posta Doğrulandı mı?
{user.emailVerified ? ( Evet ) : ( Hayır )}
Kullanıcı ID
{user.id}
Kayıt Tarihi
{new Date(user.createdAt).toLocaleString("tr-TR")}
Son Güncelleme
{new Date(user.updatedAt).toLocaleString("tr-TR")}
); }