{"version":3,"file":"Code_Override.B8dEy7KA.mjs","names":["useState","useMemo"],"sources":["https:/framerusercontent.com/modules/HT4P3DS4gKJF6OiKAref/tPLARjxmAon0pOooSeon/Code_Override.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{startTransition,useEffect,useMemo,useState}from\"react\";// 정책 본문은 언어 토글과 상관없이 항상 영어로 표시\nconst POLICY_LOCALE=\"en\";// 저장 키에 언어+버전을 붙여 예전 캐시(다른 언어로 저장된 값)와 분리\n// 정책 문구를 수정했을 때 방문자 캐시를 비우려면 v2 → v3 처럼 버전만 올리면 됨\nconst KEY={privacy:\"policy_en_v2_privacy\",terms:\"policy_en_v2_terms\",dataDeletion:\"policy_en_v2_data-deletion\"};async function fetchAndCachePolicies(){const targetUrl=`https://app.laight.ai/auth/policy/latest?locale=${POLICY_LOCALE}`;const response=await fetch(targetUrl);const data=await response.json();if(!Array.isArray(data)){console.error(\"데이터가 배열이 아닙니다:\",data);return;}if(typeof window===\"undefined\")return;const map={privacy:KEY.privacy,terms:KEY.terms,\"data-deletion\":KEY.dataDeletion};for(const item of data){if(map[item.type]&&item.body){localStorage.setItem(map[item.type],item.body);}}}export function withFetchPolicy(Component){return props=>{const[isLoading,setIsLoading]=useState(false);const handleClick=async()=>{if(isLoading)return;startTransition(()=>setIsLoading(true));try{await fetchAndCachePolicies();}catch(error){console.error(\"데이터 로드 실패:\",error);}finally{startTransition(()=>setIsLoading(false));}};return /*#__PURE__*/_jsx(Component,{...props,onClick:handleClick});};}function escapeHtml(value){return value.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\");}function parseInlineMarkdown(value){let html=escapeHtml(value);html=html.replace(/\\[([^\\]]+)\\]\\(([^)\\s]+)\\)/g,'<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>');html=html.replace(/\\*\\*([^*]+)\\*\\*/g,\"<strong>$1</strong>\");html=html.replace(/\\*([^*]+)\\*/g,\"<em>$1</em>\");return html;}function parseMarkdownToHtml(markdown){const lines=markdown.replace(/\\r\\n/g,\"\\n\").split(\"\\n\");const blocks=[];let paragraphLines=[];let listType=null;let listItems=[];const flushParagraph=()=>{if(paragraphLines.length===0)return;blocks.push(`<p>${parseInlineMarkdown(paragraphLines.join(\" \"))}</p>`);paragraphLines=[];};const flushList=()=>{if(!listType||listItems.length===0)return;blocks.push(`<${listType}>${listItems.map(item=>`<li>${parseInlineMarkdown(item)}</li>`).join(\"\")}</${listType}>`);listType=null;listItems=[];};for(const line of lines){const trimmed=line.trim();if(trimmed===\"\"){flushParagraph();flushList();continue;}if(/^---+$/.test(trimmed)){flushParagraph();flushList();blocks.push(\"<hr />\");continue;}const headingMatch=trimmed.match(/^(#{1,4})\\s+(.*)$/);if(headingMatch){flushParagraph();flushList();const level=headingMatch[1].length;blocks.push(`<h${level}>${parseInlineMarkdown(headingMatch[2])}</h${level}>`);continue;}const unorderedMatch=trimmed.match(/^-\\s+(.*)$/);if(unorderedMatch){flushParagraph();if(listType&&listType!==\"ul\")flushList();listType=\"ul\";listItems.push(unorderedMatch[1]);continue;}const orderedMatch=trimmed.match(/^\\d+\\.\\s+(.*)$/);if(orderedMatch){flushParagraph();if(listType&&listType!==\"ol\")flushList();listType=\"ol\";listItems.push(orderedMatch[1]);continue;}flushList();paragraphLines.push(trimmed);}flushParagraph();flushList();return blocks.join(\"\");}function createDisplayOverride(storageKey,shouldRefetchIfMissing=false){return function withDisplayMarkdown(Component){return props=>{const[text,setText]=useState(\"Loading...\");const[markdown,setMarkdown]=useState(null);useEffect(()=>{if(typeof window===\"undefined\")return;let pollIntervalId;let pollTimeoutId;const applySavedText=value=>{startTransition(()=>{setText(value);setMarkdown(value);});if(pollIntervalId!==undefined){window.clearInterval(pollIntervalId);pollIntervalId=undefined;}if(pollTimeoutId!==undefined){window.clearTimeout(pollTimeoutId);pollTimeoutId=undefined;}};const savedText=localStorage.getItem(storageKey);if(savedText){applySavedText(savedText);return;}if(shouldRefetchIfMissing){(async()=>{try{await fetchAndCachePolicies();const fetchedText=localStorage.getItem(storageKey);if(fetchedText){applySavedText(fetchedText);}}catch(error){console.error(\"데이터 로드 실패:\",error);}})();}const handleStorage=event=>{if(event.storageArea===localStorage&&event.key===storageKey&&event.newValue){applySavedText(event.newValue);}};window.addEventListener(\"storage\",handleStorage);pollIntervalId=window.setInterval(()=>{const polledText=localStorage.getItem(storageKey);if(polledText){applySavedText(polledText);}},300);pollTimeoutId=window.setTimeout(()=>{if(pollIntervalId!==undefined){window.clearInterval(pollIntervalId);pollIntervalId=undefined;}},5e3);return()=>{window.removeEventListener(\"storage\",handleStorage);if(pollIntervalId!==undefined){window.clearInterval(pollIntervalId);}if(pollTimeoutId!==undefined){window.clearTimeout(pollTimeoutId);}};},[shouldRefetchIfMissing,storageKey]);const html=useMemo(()=>{if(!markdown)return\"\";return parseMarkdownToHtml(markdown);},[markdown]);if(!markdown){return /*#__PURE__*/_jsx(Component,{...props,text:text});}return /*#__PURE__*/_jsxs(\"div\",{className:\"policy-markdown-content\",// 영어 본문임을 명시하고 브라우저 자동 번역을 막음\nlang:\"en\",translate:\"no\",style:{...props?.style||{},fontFamily:\"inherit\",fontSize:\"16px\",lineHeight:1.6,color:\"inherit\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                        .policy-markdown-content h1 { font-size: 2em; font-weight: 700; margin: 0 0 0.6em; }\n                        .policy-markdown-content h2 { font-size: 1.5em; font-weight: 600; margin: 0 0 0.6em; }\n                        .policy-markdown-content h3 { font-size: 1.2em; font-weight: 600; margin: 0 0 0.6em; }\n                        .policy-markdown-content h4 { font-size: 1em; font-weight: 600; margin: 0 0 0.6em; }\n                        .policy-markdown-content p { margin: 0 0 1em; }\n                        .policy-markdown-content ul,\n                        .policy-markdown-content ol { margin: 0 0 1em 1.5em; padding: 0; }\n                        .policy-markdown-content li { margin: 0.25em 0; }\n                        .policy-markdown-content a { color: inherit; text-decoration: underline; }\n                        .policy-markdown-content hr { border: 0; border-top: 1px solid currentColor; opacity: 0.2; margin: 1.2em 0; }\n                    `}),/*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:html}})]});};};}export function withDisplayPrivacy(Component){return createDisplayOverride(KEY.privacy,true)(Component);}export function withDisplayTerms(Component){return createDisplayOverride(KEY.terms,true)(Component);}export function withDisplayDataDeletion(Component){return createDisplayOverride(KEY.dataDeletion,true)(Component);}\nexport const __FramerMetadata__ = {\"exports\":{\"withFetchPolicy\":{\"type\":\"reactHoc\",\"name\":\"withFetchPolicy\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDisplayDataDeletion\":{\"type\":\"reactHoc\",\"name\":\"withDisplayDataDeletion\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDisplayPrivacy\":{\"type\":\"reactHoc\",\"name\":\"withDisplayPrivacy\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDisplayTerms\":{\"type\":\"reactHoc\",\"name\":\"withDisplayTerms\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Code_Override.map"],"mappings":"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"}