{"version":3,"file":"hFkTC0COr.BmILr8ZE.mjs","names":["__legacyOverrideHOC_DataObserverContext","_jsx","React.useContext","React.useMemo","React.Fragment","useRef","React.useId"],"sources":["https:/framerusercontent.com/modules/njhdSUNIutpLeqwBvfXu/r9MEnRcYb7VkVLK5NEvW/withAuthNavigation.js","https:/framerusercontent.com/modules/kr7DCVcrqw0th2sUdhvx/rUamq7L3wtiv5iERWyO8/hFkTC0COr.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{Data}from\"framer\";// 개발 모드 설정 (true: 모의 인증 사용, false: 실제 API 사용)\nconst DEV_MODE=false;// ✅ 공통 브라우저 가드\nconst isBrowser=typeof window!==\"undefined\"&&typeof document!==\"undefined\";// 모달 창 관련 변수 (전역 변수로 관리)\nlet modalVisible=false;let modalElement=null;// 공유 데이터 저장소 생성\nconst sharedData=Data({isAuthenticated:false,isCheckingAuth:true,targetUrl:\"/course-inquiry\",modalTitle:\"로그인이 필요한 서비스입니다\",modalDescription:\"해당 서비스를 이용하려면 로그인이 필요합니다. 로그인 페이지로 이동하시겠습니까?\",cancelText:\"취소\",loginText:\"로그인\"});// -------------------------------------------------\n// 유틸: SSR 안전한 경로/URL 도우미\n// -------------------------------------------------\nconst getPathname=()=>isBrowser?window.location.pathname:\"/\";const getHref=()=>isBrowser?window.location.href:\"\";// -------------------------------------------------\n// 통신\n// -------------------------------------------------\nexport async function flexFetch(endpoint,options){try{const BASE_URL=\"https://estbootcamp.co.kr\";const response=await fetch(`${BASE_URL}${endpoint}`,options);if(response.ok){return response;}}catch{// no-op, fallback 시도\n}// fallback\nconst BASE_URL_DEV=\"https://camptest.ai-companion.info\";const response_dev=await fetch(`${BASE_URL_DEV}${endpoint}`,options);return response_dev;}/**\n * 인증 상태 확인\n * @returns {Promise<boolean>} 인증 상태\n */const isAuthenticated=async()=>{if(DEV_MODE){// ✅ SSR-세이프: 브라우저에서만 localStorage 접근\nif(!isBrowser)return false;const token=window.localStorage.getItem(\"auth_token\");return!!token;}try{const response=await flexFetch(`/api/auth/session`,{method:\"GET\",credentials:\"include\",headers:{\"Content-Type\":\"application/json\"}});if(!response?.ok)return false;const data=await response.json();return!!(data&&data.user!==undefined);}catch(error){console.error(\"인증 상태 확인 오류:\",error);return false;}};const fetchUser=async()=>{try{const response=await flexFetch(`/api/auth/session`,{method:\"GET\",credentials:\"include\",headers:{\"Content-Type\":\"application/json\"}});if(!response?.ok)return null;const data=await response.json();return data?.user??null;}catch(error){console.error(\"인증 상태 확인 오류:\",error);return null;}};const sendFromVisit=async(userId,title)=>{try{const body={title,userId:userId||\"Undefined\",data:\"sample\",data2:undefined};await flexFetch(`/api/webhook/form-visit`,{method:\"POST\",credentials:\"include\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(body)});}catch(error){console.error(\"formVisit 등록 오류:\",error);}};/**\n * 로그인 페이지로 리다이렉트 (브라우저에서만)\n */const redirectToLogin=returnUrl=>{if(!isBrowser)return;const loginUrl=\"/login\";if(returnUrl){window.location.href=`${loginUrl}?returnUrl=${encodeURIComponent(returnUrl)}`;}else{window.location.href=loginUrl;}};/**\n * 알림 모달 생성 (브라우저에서만)\n */const createModal=options=>{if(!isBrowser)return;// 이미 모달 있으면 제거\ncloseModal();// 모달 요소 생성\nconst root=document.createElement(\"div\");root.style.position=\"fixed\";root.style.top=\"0\";root.style.left=\"0\";root.style.right=\"0\";root.style.bottom=\"0\";root.style.backgroundColor=\"rgba(0, 0, 0, 0.5)\";root.style.display=\"flex\";root.style.alignItems=\"center\";root.style.justifyContent=\"center\";root.style.zIndex=\"9999\";root.style.fontFamily='system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif';// 배경 클릭 시 닫기\nroot.addEventListener(\"click\",e=>{if(e.target===root){closeModal();options.onCancel&&options.onCancel();}});const card=document.createElement(\"div\");card.style.backgroundColor=\"white\";card.style.borderRadius=\"8px\";card.style.width=\"90%\";card.style.maxWidth=\"400px\";card.style.padding=\"24px\";card.style.boxShadow=\"0 4px 12px rgba(0,0,0,0.15)\";const title=document.createElement(\"h3\");title.textContent=options.title||\"알림\";title.style.margin=\"0 0 8px 0\";title.style.fontSize=\"18px\";title.style.fontWeight=\"600\";title.style.color=\"#111827\";const desc=document.createElement(\"p\");desc.textContent=options.description||\"\";desc.style.margin=\"0 0 24px 0\";desc.style.fontSize=\"14px\";desc.style.color=\"#6B7280\";const buttons=document.createElement(\"div\");buttons.style.display=\"flex\";buttons.style.justifyContent=\"flex-end\";buttons.style.gap=\"12px\";const cancel=document.createElement(\"button\");cancel.textContent=options.cancelText||\"취소\";cancel.style.padding=\"8px 16px\";cancel.style.backgroundColor=\"#F3F4F6\";cancel.style.color=\"#374151\";cancel.style.border=\"none\";cancel.style.borderRadius=\"6px\";cancel.style.fontSize=\"14px\";cancel.style.fontWeight=\"500\";cancel.style.cursor=\"pointer\";cancel.addEventListener(\"click\",()=>{closeModal();options.onCancel&&options.onCancel();});const login=document.createElement(\"button\");login.textContent=options.loginText||\"로그인\";login.style.padding=\"8px 16px\";login.style.backgroundColor=\"#4F46E5\";login.style.color=\"white\";login.style.border=\"none\";login.style.borderRadius=\"6px\";login.style.fontSize=\"14px\";login.style.fontWeight=\"500\";login.style.cursor=\"pointer\";login.addEventListener(\"click\",()=>{closeModal();options.onLogin&&options.onLogin();});buttons.appendChild(cancel);buttons.appendChild(login);card.appendChild(title);card.appendChild(desc);card.appendChild(buttons);root.appendChild(card);document.body.appendChild(root);modalElement=root;modalVisible=true;};/**\n * 모달 닫기 (브라우저에서만)\n */const closeModal=()=>{if(!isBrowser)return;if(modalElement&&document.body.contains(modalElement)){document.body.removeChild(modalElement);modalElement=null;modalVisible=false;}};/**\n * 개발 모드에서 인증 토글 (브라우저에서만)\n */const toggleAuthInDevMode=()=>{if(!DEV_MODE||!isBrowser)return;const currentToken=window.localStorage.getItem(\"auth_token\");if(currentToken){window.localStorage.removeItem(\"auth_token\");// alert도 브라우저 한정\nwindow.alert(\"개발 모드: 인증 상태가 해제되었습니다.\");}else{window.localStorage.setItem(\"auth_token\",\"dev-token-\"+Date.now());window.alert(\"개발 모드: 인증 상태가 설정되었습니다.\");}};/**\n * 버튼 클릭 핸들러: 인증 상태에 따라 다른 동작 수행\n *  - ✅ 렌더 중 전역 접근 금지\n *  - ✅ 모달/리다이렉트는 브라우저에서만 실행\n */const handleAuthNavigation=async options=>{if(!isBrowser)return;// 서버에서는 noop\nif(modalVisible)return;const authenticated=await isAuthenticated();if(authenticated){const user=await fetchUser();await sendFromVisit(user?.id??null,options.title);// 필요 시 이동 (현재 주석 유지)\n// window.location.href = options.targetUrl\n}else{createModal({title:options.modalTitle,description:options.modalDescription,cancelText:options.cancelText,loginText:options.loginText,onCancel:()=>{// no-op\n},onLogin:()=>{if(DEV_MODE){// 개발 모드에서는 굳이 이동 안 함 (주석 그대로 유지)\n// window.location.href = \"/login\"\n}else{// ✅ SSR-safe: window 사용부는 이미 브라우저에서만 실행\nredirectToLogin(getPathname());}}});}};// -------------------------------------------------\n// 초기 인증 체크 (브라우저에서만)\n// -------------------------------------------------\nif(isBrowser){(async()=>{sharedData.isCheckingAuth=true;sharedData.isAuthenticated=await isAuthenticated();sharedData.isCheckingAuth=false;})();}// -------------------------------------------------\n// Framer Overrides\n// -------------------------------------------------\nexport function setTargetURL(props){return{onMount(){sharedData.targetUrl=props.url||\"/course-inquiry\";}};}export function setModalTitle(props){return{onMount(){sharedData.modalTitle=props.title||\"로그인이 필요한 서비스입니다\";}};}export function setModalDescription(props){return{onMount(){sharedData.modalDescription=props.description||\"해당 서비스를 이용하려면 로그인이 필요합니다. 로그인 페이지로 이동하시겠습니까?\";}};}export function setCancelText(props){return{onMount(){sharedData.cancelText=props.text||\"취소\";}};}export function setLoginText(props){return{onMount(){sharedData.loginText=props.text||\"로그인\";}};}// -------------------------------------------------\n// 경로 파서 (SSR-세이프: 인자로 받은 문자열만 처리)\n// -------------------------------------------------\nfunction parseFirstPath(input){const regex=/^\\/([^\\/?]+)|(?:^|\\/)([^\\/?]+)/;const match=input.match(regex);return(match?.[1]||match?.[2]||\"\").trim();}function parseLastSegment(input){const regex=/_(\\w+)$/;const match=input.match(regex);return match?match[1]:\"\";}function buildTargetUrl(segment){const fragment=(segment||\"\").toLowerCase();return`/page/${fragment}-apply`;}/**\n * ✅ SSR-세이프: 렌더 시점엔 window를 읽지 않고,\n *    클릭 시점(onTap)에서만 window/location을 사용\n */export function AuthProtectedApplyAction(props){return{whileTap:{scale:.95},onTap(event){event.stopPropagation();// ✅ 브라우저에서만 경로 계산\nconst pathName=getPathname()// SSR에선 \"/\" 반환 → 안전\n;const firstPath=parseFirstPath(pathName);const segment=parseLastSegment(firstPath);const targetUrl=segment?buildTargetUrl(segment):`/page/main-apply`;const title=targetUrl.replace(\"/page/\",\"\");handleAuthNavigation({title,targetUrl,modalTitle:sharedData.modalTitle,modalDescription:sharedData.modalDescription,cancelText:sharedData.cancelText,loginText:sharedData.loginText});},onContextMenu(event){if(!DEV_MODE)return;event.stopPropagation();event.preventDefault();toggleAuthInDevMode();}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withsetTargetURL(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...setTargetURL(props)});};}withsetTargetURL.displayName=\"setTargetURL\";export function withsetModalTitle(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...setModalTitle(props)});};}withsetModalTitle.displayName=\"setModalTitle\";export function withsetModalDescription(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...setModalDescription(props)});};}withsetModalDescription.displayName=\"setModalDescription\";export function withsetCancelText(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...setCancelText(props)});};}withsetCancelText.displayName=\"setCancelText\";export function withsetLoginText(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...setLoginText(props)});};}withsetLoginText.displayName=\"setLoginText\";export function withAuthProtectedApplyAction(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...AuthProtectedApplyAction(props)});};}withAuthProtectedApplyAction.displayName=\"AuthProtectedApplyAction\";\nexport const __FramerMetadata__ = {\"exports\":{\"withsetModalDescription\":{\"type\":\"reactHoc\",\"name\":\"withsetModalDescription\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setTargetURL\":{\"type\":\"override\",\"name\":\"setTargetURL\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCancelText\":{\"type\":\"override\",\"name\":\"setCancelText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setModalTitle\":{\"type\":\"override\",\"name\":\"setModalTitle\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withsetLoginText\":{\"type\":\"reactHoc\",\"name\":\"withsetLoginText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withsetTargetURL\":{\"type\":\"reactHoc\",\"name\":\"withsetTargetURL\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withsetCancelText\":{\"type\":\"reactHoc\",\"name\":\"withsetCancelText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAuthProtectedApplyAction\":{\"type\":\"reactHoc\",\"name\":\"withAuthProtectedApplyAction\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withsetModalTitle\":{\"type\":\"reactHoc\",\"name\":\"withsetModalTitle\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setModalDescription\":{\"type\":\"override\",\"name\":\"setModalDescription\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"flexFetch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AuthProtectedApplyAction\":{\"type\":\"override\",\"name\":\"AuthProtectedApplyAction\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setLoginText\":{\"type\":\"override\",\"name\":\"setLoginText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./withAuthNavigation.map","// Generated by Framer (dea85a9)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={IDTKB9wjR:{hover:true}};const serializationHash=\"framer-adW6A\";const variantClassNames={IDTKB9wjR:\"framer-v-gt0soc\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const AS7S7qjta=undefined;const DSLfwUDOq=undefined;const BFeW6O5wN=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({click,fill,height,id,title,width,...props})=>{return{...props,AS7S7qjta:fill??props.AS7S7qjta??\"rgb(0, 226, 230)\",BFeW6O5wN:title??props.BFeW6O5wN??\"지금 지원하기\",DSLfwUDOq:click??props.DSLfwUDOq};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,AS7S7qjta,BFeW6O5wN,DSLfwUDOq,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"IDTKB9wjR\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTappg60dz=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(DSLfwUDOq){const res=await DSLfwUDOq(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:\"https://estfamily.career.greetinghr.com/ko/o/174956/apply\",motionChild:true,nodeId:\"IDTKB9wjR\",openInNewTab:true,scopeId:\"hFkTC0COr\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-gt0soc\",className,classNames)} framer-1735t12`,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"IDTKB9wjR\",onTap:onTappg60dz,ref:refBinding,style:{backgroundColor:AS7S7qjta,borderBottomLeftRadius:5,borderBottomRightRadius:5,borderTopLeftRadius:5,borderTopRightRadius:5,...style},variants:{\"IDTKB9wjR-hover\":{backgroundColor:\"var(--token-8790865d-57af-49f8-95de-8a3ba14af355, rgb(218, 158, 240))\"}},...addPropertyOverrides({\"IDTKB9wjR-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7UHJldGVuZGFyZCBTZW1pQm9sZA==\",\"--framer-font-family\":'\"Pretendard SemiBold\", \"Pretendard SemiBold Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"0px\",\"--framer-line-height\":\"100%\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"지금 지원하기\"})}),className:\"framer-30a9u4\",fonts:[\"CUSTOMV2;Pretendard SemiBold\"],layoutDependency:layoutDependency,layoutId:\"IDTKB9wjRbhVOtfb_J\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:BFeW6O5wN,transformTemplate:transformTemplate1,verticalAlignment:\"top\",withExternalLayout:true})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-adW6A.framer-1735t12, .framer-adW6A .framer-1735t12 { display: block; }\",\".framer-adW6A.framer-gt0soc { cursor: pointer; height: 36px; position: relative; text-decoration: none; width: 140px; }\",\".framer-adW6A .framer-30a9u4 { flex: none; height: auto; left: 50%; position: absolute; top: 50%; white-space: pre; width: auto; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 36\n * @framerIntrinsicWidth 140\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"K9jk6sERz\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"AS7S7qjta\":\"fill\",\"BFeW6O5wN\":\"title\",\"DSLfwUDOq\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerhFkTC0COr=withCSS(Component,css,\"framer-adW6A\");export default FramerhFkTC0COr;FramerhFkTC0COr.displayName=\"CTA-button\";FramerhFkTC0COr.defaultProps={height:36,width:140};addPropertyControls(FramerhFkTC0COr,{AS7S7qjta:{defaultValue:\"rgb(0, 226, 230)\",title:\"Fill\",type:ControlType.Color},BFeW6O5wN:{defaultValue:\"지금 지원하기\",displayTextArea:false,title:\"Title\",type:ControlType.String},DSLfwUDOq:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerhFkTC0COr,[{explicitInter:true,fonts:[{cssFamilyName:\"Pretendard SemiBold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Pretendard\",url:\"https://framerusercontent.com/assets/wvRJwJ5kf80Td6Hea4cVvVRbw.woff\",weight:\"600\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerhFkTC0COr\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"K9jk6sERz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"140\",\"framerIntrinsicHeight\":\"36\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"AS7S7qjta\\\":\\\"fill\\\",\\\"BFeW6O5wN\\\":\\\"title\\\",\\\"DSLfwUDOq\\\":\\\"click\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./hFkTC0COr.map"],"mappings":"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"}