{"version":3,"file":"IframeContainer.SyUpbeRO.mjs","names":["useState","useRef","useMemo","__esmMin","init_ssg_sandbox_shims","pe","init_npm_react_18_3_1","_e","de","init_jsx_runtime","ce","window","init_framer_BWFVvmND","addPropertyControls","ControlType","getGymIdFromPath","DEFAULT_GYM_ID","match","addQueryParam","separator","url","value","key","IframeContainer","iframeheight","setIframeHeight","targetGymId","setTargetGymId","iframeRef","isClient","gymId","handleMessage","event","props","urlWithGymId","params","styles","init_IframeContainer"],"sources":["https:/framerusercontent.com/modules/jhiHzKZ5jNat5PXUsNYJ/2Ub8TDitQxCZR9fPDW9x/IframeContainer.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useState,useRef,useMemo}from\"react\";const styles={container:{width:\"100vw\",overflowY:\"hidden\",backgroundColor:\"#030303\"},iframe:{width:\"100%\",border:\"none\"}};const DEFAULT_GYM_ID=72;function getGymIdFromPath(){if(typeof window===\"undefined\")return DEFAULT_GYM_ID;const path=window.location.pathname;const match=path.match(/\\/gym\\/(\\d+)/);const gymId=match?parseInt(match[1],10):DEFAULT_GYM_ID;return gymId;}function addQueryParam(url,key,value){const separator=url.includes(\"?\")?\"&\":\"?\";// 기존 코드의 `if (!value)`는 0을 \"없음\"으로 취급해버림 → 의도치 않게 빠질 수 있어 수정\nif(value===null||value===undefined||value===\"\")return`${url}`;return`${url}${separator}${key}=${value}`;}export default function IframeContainer(props){const[iframeheight,setIframeHeight]=useState(0);// 주소에서 지점을 읽기 전(정적 HTML·하이드레이션 전)에는 null — 이때 기본 지점(73)을 먼저 불러오지 않는다\nconst[targetGymId,setTargetGymId]=useState(null);const iframeRef=useRef(null);const isClient=typeof window!==\"undefined\";useEffect(()=>{if(!isClient)return;const gymId=getGymIdFromPath();setTargetGymId(gymId);const handleMessage=event=>{if(event?.data?.type===\"IFRAME_HEIGHT\"&&props.uniqueName===event.data.name){setIframeHeight(event.data.height);}if(event?.data?.type===\"NAVIGATE\"&&!!event?.data?.url){window.location.href=`${window.location.origin}`+event?.data?.url;}};window.addEventListener(\"message\",handleMessage);return()=>window.removeEventListener(\"message\",handleMessage);},[isClient,props.uniqueName]);const urlWithGymId=useMemo(()=>{if(targetGymId===null)return undefined;const params=isClient?new URLSearchParams(window.location.search):new URLSearchParams;const base=addQueryParam(props.url,\"gymSelector\",props.gymSelector?1:0);const withLat=addQueryParam(base,\"latitude\",params.get(\"lat\")||0);const withLong=addQueryParam(withLat,\"longitude\",params.get(\"long\")||0);return addQueryParam(withLong,\"gymId\",targetGymId);},[window,isClient,props.url,props.gymSelector,targetGymId]);return /*#__PURE__*/_jsx(\"div\",{style:{...styles.container,maxWidth:props.maxWidth?props.maxWidth:\"100%\"},id:`${props.uniqueName}`,children:/*#__PURE__*/_jsx(\"iframe\",{src:urlWithGymId,style:{...styles.iframe,height:iframeheight?iframeheight:props.defaultHeight?props.defaultHeight:\"100vh\"},ref:iframeRef})});}addPropertyControls(IframeContainer,{url:{title:\"url\",type:ControlType.String,defaultValue:\"https://web.supp.fitness/web/iframe\"},uniqueName:{type:ControlType.String,title:\"uniqueName\",defaultValue:\"\"},maxWidth:{title:\"maxWidth\",type:ControlType.Number,defaultValue:1440,optional:true},defaultHeight:{title:\"defaultHeight\",type:ControlType.Number,defaultValue:2e3},gymSelector:{title:\"gymSelector\",type:ControlType.Boolean,defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"IframeContainer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IframeContainer.map"],"mappings":"A,wMAAsS,SAASe,GAAkB,CAAC,GAAUJ,IAAS,OAAY,OAAOK,EAAmD,IAAMC,EAA/BN,EAAO,SAAS,SAA0B,MAAM,cAAc,EAAyD,OAA3CM,EAAM,SAASA,EAAM,GAAG,EAAE,EAAED,CAA4B,CAAC,SAASE,EAAc,EAAI,EAAI,EAAM,CAAC,IAAMC,EAAUC,EAAI,SAAS,GAAG,EAAE,IAAI,IACrhB,OAA3DC,GAAQ,MAAyBA,IAAQ,GAAS,GAAGD,IAAY,GAAGA,IAAMD,IAAYG,EAAI,GAAGD,GAAQ,CAAC,SAAwBE,EAAgB,EAAM,CAAC,GAAK,CAACC,EAAaC,GAAiBzB,EAAS,CAAC,EACjM,CAAC0B,EAAYC,GAAgB3B,EAAS,IAAI,EAAQ4B,EAAU3B,EAAO,IAAI,EAAQ4B,EAAgBlB,IAAS,OAAYD,MAAc,CAAC,GAAG,CAACmB,EAAS,OAAO,IAAMC,EAAMf,EAAiB,EAAEY,EAAeG,CAAK,EAAE,IAAMC,EAAc,GAAO,CAAIC,GAAO,MAAM,OAAO,iBAAiBC,EAAM,aAAaD,EAAM,KAAK,MAAMP,EAAgBO,EAAM,KAAK,MAAM,EAAMA,GAAO,MAAM,OAAO,YAAcA,GAAO,MAAM,MAAK,EAAO,SAAS,KAAK,GAAGrB,EAAO,SAAS,SAASqB,GAAO,MAAM,IAAK,EAAmD,OAAjDrB,EAAO,iBAAiB,UAAUoB,CAAa,MAAYpB,EAAO,oBAAoB,UAAUoB,CAAa,CAAE,EAAE,CAACF,EAASI,EAAM,UAAU,CAAC,EAAE,IAAMC,EAAahC,MAAY,CAAC,GAAGwB,IAAc,KAAK,OAAiB,IAAMS,EAAON,EAAS,IAAI,gBAAgBlB,EAAO,SAAS,MAAM,EAAE,IAAI,gBAAkO,OAAOO,EAAhEA,EAAnEA,EAA3EA,EAAce,EAAM,IAAI,cAAc,KAAM,WAAgD,EAAE,WAAWE,EAAO,IAAI,KAAK,GAAG,CAAsC,EAAE,YAAYA,EAAO,IAAI,MAAM,GAAG,CAA+B,EAAE,QAAQT,CAAW,CAAE,EAAE,CAACf,EAAOkB,EAASI,EAAM,IAAIA,EAAM,YAAYP,CAAW,CAAC,EAAE,MAAoB,gBAAK,MAAM,CAAC,MAAM,CAAC,GAAGU,EAAO,UAAU,SAASH,EAAM,SAASA,EAAM,SAAS,MAAM,EAAE,GAAG,GAAGA,EAAM,aAAa,SAAsB,gBAAK,SAAS,CAAC,IAAIC,EAAa,MAAM,CAAC,GAAGE,EAAO,OAAO,OAAOZ,IAA0BS,EAAM,cAAcA,EAAM,cAAc,QAAO,EAAE,IAAIL,CAAS,CAAC,CAAC,CAAC,CAAE,C,sDAFjuC,EAAO,CAAC,UAAU,CAAC,MAAM,QAAQ,UAAU,SAAS,gBAAgB,SAAS,EAAE,OAAO,CAAC,MAAM,OAAO,OAAO,MAAM,CAAC,EAAQ,EAAe,GAEylCf,EAAoBU,EAAgB,CAAC,IAAI,CAAC,MAAM,MAAM,KAAKT,EAAY,OAAO,aAAa,qCAAqC,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,EAAE,SAAS,CAAC,MAAM,WAAW,KAAKA,EAAY,OAAO,aAAa,KAAK,SAAS,EAAI,EAAE,cAAc,CAAC,MAAM,gBAAgB,KAAKA,EAAY,OAAO,aAAa,GAAG,EAAE,YAAY,CAAC,MAAM,cAAc,KAAKA,EAAY,QAAQ,aAAa,EAAI,CAAC,CAAC,C"}