{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/KJ8IYwqTO4ByMEbrKZ2C/7uWOueFqPyZdAwRR0clI/useGetUserData.js"],
  "sourcesContent": ["import{useState,useEffect}from\"react\";/**\n * Parses the URL query parameters and returns the value of a given parameter.\n *\n * @param {string} parameterName The name of the query parameter to retrieve.\n * @returns {string|null} The value of the query parameter or null if not found.\n */function getQueryParam(parameterName){if(typeof window===\"undefined\")return null// Ensure this only runs on the client side\n;const urlParams=new URLSearchParams(window.location.search);return urlParams.get(parameterName);}/**\n * Decodes the payload of a JWT.\n *\n * @param {string} token The JWT string to decode.\n * @returns {object} The decoded payload of the token.\n */function decodeJWTPayload(token){const base64Url=token.split(\".\")[1];const base64=base64Url.replace(/-/g,\"+\").replace(/_/g,\"/\");const payload=decodeURIComponent(atob(base64).split(\"\").map(function(c){return\"%\"+(\"00\"+c.charCodeAt(0).toString(16)).slice(-2);}).join(\"\"));return JSON.parse(payload);}/**\n * Extracts the user ID from the JWT payload.\n *\n * @param {string} token The JWT string to decode.\n * @returns {string|null} The user ID if it exists, or null.\n */function getUserIdFromToken(token){try{const payload=decodeJWTPayload(token);return payload.sub||null// Assuming the user ID is in the 'sub' claim\n;}catch(error){console.error(\"Error decoding JWT: \",error);return null;}}/**\n * Retrieves the token from cookies.\n *\n * @returns {string|null} The token if found, or null.\n */function getTokenFromCookies(){if(typeof document===\"undefined\")return null// Ensure this only runs on the client side\n;const cookies=document.cookie.split(\"; \").reduce((acc,current)=>{const[key,val]=current.split(\"=\");acc[key]=decodeURIComponent(val);return acc;},{});return cookies[\"newToken\"]||null;}/**\n * Custom React hook to fetch user data using a provided token.\n *\n * @param {string} token The token used to authorize the fetch request.\n * @returns {object} An object containing the loading state, error information, and fetched user data.\n */function useGetUserData(){const[loading,setLoading]=useState(true);const[error,setError]=useState(null);const[userData,setUserData]=useState(null);useEffect(()=>{if(typeof window===\"undefined\")return;// Prevent running on the server\nconst token=getTokenFromCookies()||getQueryParam(\"token\");const userId=token?getUserIdFromToken(token):null;if(!userId){setError(new Error(\"Invalid or missing token\"));setLoading(false);return;}setLoading(true);setError(null);fetch(`https://api.wirestock.io/api/users/${userId}`,{method:\"GET\",headers:{Authorization:`Bearer ${token}`,\"Content-Type\":\"application/json\"}}).then(response=>{if(!response.ok){throw new Error(\"Failed to fetch user data\");}return response.json();}).then(data=>{setUserData(data===null||data===void 0?void 0:data.data);setLoading(false);}).catch(error=>{setError(error);setLoading(false);});return()=>{setLoading(false);setError(null);setUserData(null);};},[]);return{loading,error,userData};}export default useGetUserData;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useGetUserData.map"],
  "mappings": "yFAKG,SAASA,EAAcC,EAAc,CAAC,OAAG,OAAOC,EAAS,IAAmB,KAC9D,IAAI,gBAAgBA,EAAO,SAAS,MAAM,EAAmB,IAAID,CAAa,CAAE,CAK9F,SAASE,EAAiBC,EAAM,CAAqC,IAAMC,EAA1BD,EAAM,MAAM,GAAG,EAAE,CAAC,EAAyB,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,GAAG,EAAQE,EAAQ,mBAAmB,KAAKD,CAAM,EAAE,MAAM,EAAE,EAAE,IAAI,SAASE,EAAE,CAAC,MAAM,KAAK,KAAKA,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,KAAK,MAAMD,CAAO,CAAE,CAKxS,SAASE,EAAmBJ,EAAM,CAAC,GAAG,CAAuC,OAAxBD,EAAiBC,CAAK,EAAiB,KAAK,IACnG,OAAOK,EAAM,CAAC,eAAQ,MAAM,uBAAuBA,CAAK,EAAS,IAAK,CAAC,CAIrE,SAASC,GAAqB,CAAC,OAAG,OAAO,SAAW,IAAmB,KAC3D,SAAS,OAAO,MAAM,IAAI,EAAE,OAAO,CAACC,EAAIC,IAAU,CAAC,GAAK,CAACC,EAAIC,CAAG,EAAEF,EAAQ,MAAM,GAAG,EAAE,OAAAD,EAAIE,CAAG,EAAE,mBAAmBC,CAAG,EAASH,CAAI,EAAE,CAAC,CAAC,EAAiB,UAAa,IAAK,CAKpL,SAASI,GAAgB,CAAC,GAAK,CAACC,EAAQC,CAAU,EAAEC,EAAS,EAAI,EAAO,CAACT,EAAMU,CAAQ,EAAED,EAAS,IAAI,EAAO,CAACE,EAASC,CAAW,EAAEH,EAAS,IAAI,EAAE,OAAAI,EAAU,IAAI,CAAC,GAAG,OAAOpB,EAAS,IAAY,OACpM,IAAME,EAAMM,EAAoB,GAAGV,EAAc,OAAO,EAAQuB,EAAOnB,EAAMI,EAAmBJ,CAAK,EAAE,KAAK,GAAG,CAACmB,EAAO,CAACJ,EAAS,IAAI,MAAM,0BAA0B,CAAC,EAAEF,EAAW,EAAK,EAAE,MAAO,CAAC,OAAAA,EAAW,EAAI,EAAEE,EAAS,IAAI,EAAE,MAAM,sCAAsCI,CAAM,GAAG,CAAC,OAAO,MAAM,QAAQ,CAAC,cAAc,UAAUnB,CAAK,GAAG,eAAe,kBAAkB,CAAC,CAAC,EAAE,KAAKoB,GAAU,CAAC,GAAG,CAACA,EAAS,GAAI,MAAM,IAAI,MAAM,2BAA2B,EAAG,OAAOA,EAAS,KAAK,CAAE,CAAC,EAAE,KAAKC,GAAM,CAACJ,EAA8CI,GAAK,IAAI,EAAER,EAAW,EAAK,CAAE,CAAC,EAAE,MAAMR,GAAO,CAACU,EAASV,CAAK,EAAEQ,EAAW,EAAK,CAAE,CAAC,EAAQ,IAAI,CAACA,EAAW,EAAK,EAAEE,EAAS,IAAI,EAAEE,EAAY,IAAI,CAAE,CAAE,EAAE,CAAC,CAAC,EAAQ,CAAC,QAAAL,EAAQ,MAAAP,EAAM,SAAAW,CAAQ,CAAE,CAAC,IAAOM,EAAQX",
  "names": ["getQueryParam", "parameterName", "window", "decodeJWTPayload", "token", "base64", "payload", "c", "getUserIdFromToken", "error", "getTokenFromCookies", "acc", "current", "key", "val", "useGetUserData", "loading", "setLoading", "ye", "setError", "userData", "setUserData", "ue", "userId", "response", "data", "useGetUserData_default"]
}
