import { useEffect, useState } from "react"; import { Phone, Users, CreditCard, DollarSign, Menu, X } from "lucide-react"; import { useNavStore, type UserInfo } from "../store"; import { LanguageDropdown } from "./LanguageDropdown"; import Logo from "./icons/Logo"; import { content as arContent } from "../content/content-ar"; import { content as bnContent } from "../content/content-bn"; import { content as deContent } from "../content/content-de"; import { content as esContent } from "../content/content-es"; import { content as frContent } from "../content/content-fr"; import { content as hiContent } from "../content/content-hi"; import { content as idContent } from "../content/content-id"; import { content as ptContent } from "../content/content-pt"; import { content as ruContent } from "../content/content-ru"; import { content as zhContent } from "../content/content-zh"; import { content as enContent } from "../content/content"; import { getUserInfo } from "../getUserInfo"; import { Auth } from "./Auth"; export default function Navbar({ lang, path, }: { lang?: string; path: string; }) { const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const [navLang, setNavLang] = useState(""); const { setLanguage, setUser, user } = useNavStore(); // Supported languages const languages = [ { code: "en", name: "English" }, { code: "ar", name: "العربية" }, { code: "de", name: "Deutsch" }, { code: "fr", name: "Français" }, { code: "id", name: "Indonesia" }, { code: "ru", name: "Русский" }, { code: "zh", name: "中文" }, { code: "bn", name: "বাংলা" }, { code: "es", name: "Español" }, { code: "hi", name: "हिन्दी" }, { code: "pt", name: "Português" }, ]; // Default: English let langOption = languages.find((l) => l.code === lang) || languages[0]; let content; switch (lang) { case "ar": content = arContent; break; case "bn": content = bnContent; break; case "de": content = deContent; break; case "es": content = esContent; break; case "fr": content = frContent; break; case "hi": content = hiContent; break; case "id": content = idContent; break; case "pt": content = ptContent; break; case "ru": content = ruContent; break; case "zh": content = zhContent; break; default: content = enContent; } useEffect(() => { setNavLang(lang || ""); setLanguage(langOption); if (typeof window !== "undefined") { const userInfo = getUserInfo(); setUser(userInfo); } }, []); // set content by navLang, default to English const langPrefix = navLang ? `/${navLang}` : ""; return ( ); }