{"version":3,"file":"UserInfo.4kZpt478.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/ubfW5pSMi6XY1t92zR4c/8ZxDBBFjBR9i1nFP2j4l/UserInfo.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useState,useEffect}from\"react\";// 쿠키에서 값 가져오기\nfunction getCookie(name){const value=`; ${document.cookie}`;const parts=value.split(`; ${name}=`);if(parts.length===2)return parts.pop()?.split(\";\").shift()||null;return null;}// API 호출 함수\nasync function fetchUserData(){try{const accessToken=getCookie(\"access_token\");if(!accessToken){return null;}const response=await fetch(\"https://v2-prod.netspresso.ai:43001/api/v3/users/me\",{method:\"GET\",headers:{Accept:\"application/json\",Authorization:`Bearer ${accessToken}`}});if(!response.ok){return null;}return await response.json();}catch(error){console.error(\"API 호출 실패:\",error);return null;}}// 1. 로그인 시에만 username 표시하는 Text Override\nexport function ShowUsernameWhenLoggedIn(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[username,setUsername]=useState(\"\");const[isVisible,setIsVisible]=useState(false);useEffect(()=>{fetchUserData().then(response=>{if(response&&response.data.username){setUsername(response.data.username);setIsVisible(true);}else{setIsVisible(false);}});},[]);// 로그인 안됐으면 컴포넌트 숨김\nif(!isVisible){return null;}return /*#__PURE__*/_jsx(Component,{ref:ref,...props,text:username});});}// 2. 로그인 안됐을 때만 표시되는 SignIn 버튼 Override\nexport function ShowWhenNotLoggedIn(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[isVisible,setIsVisible]=useState(true)// 기본값 true\n;useEffect(()=>{fetchUserData().then(response=>{if(response&&response.data.username){setIsVisible(false)// 로그인됨 → 숨김\n;}else{setIsVisible(true)// 로그인 안됨 → 표시\n;}});},[]);// 로그인됐으면 컴포넌트 숨김\nif(!isVisible){return null;}return /*#__PURE__*/_jsx(Component,{ref:ref,...props});});}// 3. 로그인됐을 때만 표시되는 SignOut 버튼 Override\nexport function ShowWhenLoggedIn(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[isVisible,setIsVisible]=useState(false);useEffect(()=>{fetchUserData().then(response=>{if(response&&response.data.username){setIsVisible(true)// 로그인됨 → 표시\n;}else{setIsVisible(false)// 로그인 안됨 → 숨김\n;}});},[]);// 로그인 안됐으면 컴포넌트 숨김\nif(!isVisible){return null;}return /*#__PURE__*/_jsx(Component,{ref:ref,...props});});}\nexport const __FramerMetadata__ = {\"exports\":{\"ShowWhenNotLoggedIn\":{\"type\":\"reactHoc\",\"name\":\"ShowWhenNotLoggedIn\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShowWhenLoggedIn\":{\"type\":\"reactHoc\",\"name\":\"ShowWhenLoggedIn\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShowUsernameWhenLoggedIn\":{\"type\":\"reactHoc\",\"name\":\"ShowUsernameWhenLoggedIn\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UserInfo.map"],"mappings":"0KACA,SAAS,EAAU,EAAK,CAAC,IAAM,EAAM,KAAK,SAAS,SAAe,EAAM,EAAM,MAAM,KAAK,EAAK,IAAqE,OAA9D,EAAM,SAAS,GAAS,EAAM,OAAO,MAAM,KAAK,SAAqB,IAAM,CAChL,eAAe,GAAe,CAAC,GAAG,CAAC,IAAM,EAAY,EAAU,gBAAgB,GAAG,CAAC,EAAa,OAAO,KAAM,IAAM,EAAS,MAAM,MAAM,sDAAsD,CAAC,OAAO,MAAM,QAAQ,CAAC,OAAO,mBAAmB,cAAc,UAAU,IAAc,CAAC,EAAgC,OAA1B,EAAS,GAAwB,MAAM,EAAS,OAA5B,IAAoC,OAAM,EAAM,CAAmC,OAAlC,QAAQ,MAAM,aAAa,GAAc,IAAM,CAAC,CACjZ,SAAgB,EAAyB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,EAAS,EAAY,CAACA,EAAS,IAAS,CAAC,EAAU,EAAa,CAACA,EAAS,IACrJ,OAD4J,MAAc,CAAC,IAAgB,KAAK,GAAU,CAAI,GAAU,EAAS,KAAK,UAAU,EAAY,EAAS,KAAK,UAAU,EAAa,KAAY,EAAa,GAAS,EAAG,EAAC,EAAE,EACjW,EAA4C,EAAK,EAAU,CAAK,MAAI,GAAG,EAAM,KAAK,EAAS,EAAzE,IAA4E,EAAG,CACrG,SAAgB,EAAoB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,EAAU,EAAa,CAACA,EAAS,IAIvG,OAH3B,MAAc,CAAC,IAAgB,KAAK,GAAU,CAAI,GAAU,EAAS,KAAK,SAAU,EAAa,IAC3F,EAAa,GACjB,EAAG,EAAC,EAAE,EACL,EAA4C,EAAK,EAAU,CAAK,MAAI,GAAG,EAAM,EAA3D,IAA8D,EAAG,CACvF,SAAgB,EAAiB,EAAU,CAAC,OAAoB,GAAY,EAAM,IAAM,CAAC,GAAK,CAAC,EAAU,EAAa,CAACA,EAAS,IAGpG,OAH2G,MAAc,CAAC,IAAgB,KAAK,GAAU,CAAI,GAAU,EAAS,KAAK,SAAU,EAAa,IACjO,EAAa,GACjB,EAAG,EAAC,EAAE,EACL,EAA4C,EAAK,EAAU,CAAK,MAAI,GAAG,EAAM,EAA3D,IAA8D,EAAG"}