"use client"; import { useEffect, useState } from "react"; import { useParams, useRouter } from "next/navigation"; import Link from "next/link"; const API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL || "http://localhost:8000/api/v1"; export default function ActivatePage() { const params = useParams(); const router = useRouter(); const [loading, setLoading] = useState(true); const [success, setSuccess] = useState(false); const [error, setError] = useState(""); useEffect(() => { const activateAccount = async () => { const { uid, token } = params; if (!uid || !token) { setError("Geçersiz aktivasyon linki."); setLoading(false); return; } try { const response = await fetch(`${API_BASE_URL}/auth/users/activation/`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ uid, token, }), }); if (response.ok || response.status === 204) { setSuccess(true); setTimeout(() => { router.push("/auth/login"); }, 3000); } else { const data = await response.json(); setError( data.detail || "Aktivasyon başarısız. Link geçersiz veya süresi dolmuş olabilir." ); } } catch (err) { setError("Bir hata oluştu. Lütfen daha sonra tekrar deneyin."); console.error("Activation error:", err); } finally { setLoading(false); } }; activateAccount(); }, [params, router]); return (
{loading && ( <>

Hesabınız Aktifleştiriliyor...

Lütfen bekleyin.

)} {success && ( <>

Aktivasyon Başarılı!

Hesabınız başarıyla aktifleştirildi. Artık giriş yapabilirsiniz.

Giriş sayfasına yönlendiriliyorsunuz...

)} {error && ( <>

Aktivasyon Başarısız

{error}

Aktivasyon Emaili Tekrar Gönder Giriş Sayfasına Dön
)}
); }