"use client"; import Image from "next/image"; import { usePathname } from "next/navigation"; import { useState, useEffect } from "react"; import { getClientBySlug, PublicClient } from "@/service/client/public-clients"; export const DynamicLogoTenant = () => { const pathname = usePathname(); const tenant = pathname?.split("/")[3]; const [clientData, setClientData] = useState(null); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); useEffect(() => { const fetchClientData = async () => { if (!tenant || !pathname?.includes("/tenant")) { setClientData(null); return; } try { setLoading(true); setError(null); const response = await getClientBySlug(tenant); if (response?.error) { setError("Client not found"); } else { setClientData(response.data?.data); } } catch (err) { console.error("Error fetching client data:", err); setError("Failed to load client data"); } finally { setLoading(false); } }; fetchClientData(); }, [tenant, pathname]); if (!pathname?.includes("/tenant") || !tenant) { return null; } if (loading) { return (
); } if (error || !clientData?.logoUrl) { return (
No Logo
); } return (
{`${clientData.name} setError("Failed to load image")} />
); };