"use client"; import { useEffect, useState } from "react"; import Link from "next/link"; import headerData from "./header.json"; interface HeaderData { top: { phone: string; email: string; location: string; socialLinks: Array<{ platform: string; url: string; icon: string; }>; languages: Array<{ name: string; value: string; }>; }; } const HeaderTop = () => { const [data, setData] = useState(headerData); const [loading, setLoading] = useState(true); useEffect(() => { const fetchHeaderData = async () => { try { const apiUrl = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3000"; const response = await fetch(`${apiUrl}/api/header`); if (response.ok) { const result = await response.json(); if (result.success && result.data && result.data.top) { setData({ top: result.data.top, }); } } } catch (error) { console.warn("Failed to fetch header data from API, using fallback:", error); // Use fallback data (already set as initial state) } finally { setLoading(false); } }; fetchHeaderData(); }, []); const { phone, email, location, socialLinks, languages } = data.top; return (
{languages[0]?.name || "English"}
    {languages.map((lang, index) => (
  • {lang.name}
  • ))}
{socialLinks.map((social, index) => ( ))}
); }; export default HeaderTop;