"use client"; import { useState, useEffect, useCallback } from "react"; import { countryAPI } from "../lib/api"; export function useCountries(activeOnly = false) { const [countries, setCountries] = useState([]); const [loading, setLoading] = useState(true); const fetch = useCallback(async () => { setLoading(true); try { const { data } = await countryAPI.getAll(activeOnly ? { active: "true" } : {}); setCountries(data.data || []); } catch (error) { console.error("Failed to fetch countries:", error); } finally { setLoading(false); } }, [activeOnly]); useEffect(() => { fetch(); }, [fetch]); return { countries, loading, refetch: fetch }; }