import Users from "@Front/Api/LeCoffreApi/Notary/Users/Users"; import JwtService from "@Front/Services/JwtService/JwtService"; import UserStore from "@Front/Stores/UserStore"; import User from "le-coffre-resources/dist/Notary"; import { useEffect, useState } from "react"; export default function useUser() { const [user, setUser] = useState(); useEffect(() => { // Don't run on server-side if (typeof window === 'undefined') { return; } // Check if user is connected before making API calls if (!UserStore.instance.isConnected()) { console.warn("User not connected, skipping API call"); return; } const decodedJwt = JwtService.getInstance().decodeJwt(); if (!decodedJwt) { console.warn("No valid JWT found, skipping API call"); return; } Users.getInstance() .getByUid(decodedJwt.userId, { q: { contact: true, }, }) .then((user) => { setUser(user); }) .catch((error) => { console.error("Failed to fetch user:", error); }); }, []); return { user, }; }