"use client"; import { useCallback, useEffect, useState } from "react"; import { api, type MeResponse } from "@/lib/api"; import { getStoredToken } from "@/lib/auth"; /** بارگذاری وضعیت کاربر جاری (عضویت‌ها و نیاز به onboarding) از `/api/v1/me`. */ export function useMe() { const [me, setMe] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(""); const load = useCallback(async () => { if (!getStoredToken()) { setMe(null); setLoading(false); return; } setLoading(true); setError(""); try { const data = await api.me.get(); setMe(data); } catch (e) { setError(e instanceof Error ? e.message : "خطا در دریافت اطلاعات کاربر"); setMe(null); } finally { setLoading(false); } }, []); useEffect(() => { load(); }, [load]); return { me, loading, error, reload: load }; }