{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/mZSXv3uH1K1MFtRuc65B/2ywkqATuopx9Vreh18tk/SaveScrollandRestore.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";/**\n * getPathname \uD568\uC218\n * - SSR \uD658\uACBD\uC5D0\uC11C\uB294 window\uB098 window.location\uC774 \uC5C6\uC73C\uBBC0\uB85C \uBE48 \uBB38\uC790\uC5F4(\"\") \uBC18\uD658\n * - \uBE0C\uB77C\uC6B0\uC800 \uD658\uACBD\uC5D0\uC11C\uB294 \uC548\uC804\uD558\uAC8C window.location.pathname \uBC18\uD658\n */function getPathname(){if(typeof window===\"undefined\"||!window.location){return\"\";}return window.location.pathname;}/**\n * usePathname \uD6C5\n * - \uCD08\uAE30 state\uB294 getPathname()\uC744 \uD638\uCD9C\uD558\uC5EC \uC124\uC815\uD569\uB2C8\uB2E4.\n * - useEffect \uB0B4\uBD80\uC5D0\uC11C \uACBD\uB85C \uBCC0\uACBD \uC774\uBCA4\uD2B8\uB97C \uAC10\uC9C0\uD558\uC5EC \uC0C1\uD0DC\uB97C \uAC31\uC2E0\uD569\uB2C8\uB2E4.\n */function usePathname(){const[pathname,setPathname]=useState(()=>getPathname());useEffect(()=>{if(typeof window===\"undefined\"||!window.location)return;const handleLocationChange=()=>{setPathname(getPathname());};// history API \uC6D0\uBCF8 \uC800\uC7A5\nconst origPushState=history.pushState;const origReplaceState=history.replaceState;// pushState/replaceState \uD638\uCD9C \uC2DC \"locationchange\" \uC774\uBCA4\uD2B8 \uBC1C\uC0DD\nhistory.pushState=function(...args){const result=origPushState.apply(this,args);window.dispatchEvent(new Event(\"locationchange\"));return result;};history.replaceState=function(...args){const result=origReplaceState.apply(this,args);window.dispatchEvent(new Event(\"locationchange\"));return result;};window.addEventListener(\"popstate\",handleLocationChange);window.addEventListener(\"locationchange\",handleLocationChange);return()=>{window.removeEventListener(\"popstate\",handleLocationChange);window.removeEventListener(\"locationchange\",handleLocationChange);// history API \uBCF5\uC6D0\nhistory.pushState=origPushState;history.replaceState=origReplaceState;};},[]);return pathname;}/**\n * SaveAndRestoreScrollAllPages \uC624\uBC84\uB77C\uC774\uB4DC\n * - SSR \uD658\uACBD\uC5D0\uC11C\uB294 window\uAC00 \uC5C6\uAC70\uB098 window.location\uC774 \uC5C6\uC73C\uBBC0\uB85C \uBC14\uB85C \uBE48 \uAC1D\uCCB4({})\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4.\n * - \uD074\uB77C\uC774\uC5B8\uD2B8(\uBE0C\uB77C\uC6B0\uC800) \uD658\uACBD\uC5D0\uC11C\uB294:\n *    1. \uD604\uC7AC \uD398\uC774\uC9C0 \uACBD\uB85C\uB97C sessionStorage\uC758 'previousPage'\uC5D0 \uAE30\uB85D\n *    2. \uB274\uC2A4 \uBAA9\uB85D(\uCE74\uD14C\uACE0\uB9AC) \uD398\uC774\uC9C0(\uACBD\uB85C\uAC00 \"/news\"\uB85C \uC2DC\uC791\uD558\uBA74\uC11C \"/newsdetail\"\uC774 \uC544\uB2CC \uACBD\uC6B0)\uC5D0\uC11C\uB294:\n *         - \uBC29\uBB38 \uC2DC \uD604\uC7AC URL\uC744 'selectedNewsCategory'\uC5D0 \uC800\uC7A5\n *         - \uC774\uC804 \uD398\uC774\uC9C0\uB3C4 \uB274\uC2A4 \uBAA9\uB85D\uC774\uBA74 sessionStorage\uC758 \"newsScrollY\" \uAC12\uC744 \uBCF5\uC6D0\uD558\uACE0,\n *           \uADF8\uB807\uC9C0 \uC54A\uC73C\uBA74 \uC2A4\uD06C\uB864\uC744 0\uC73C\uB85C \uCD08\uAE30\uD654\n *         - \uC2A4\uD06C\uB864 \uC774\uBCA4\uD2B8\uB85C \uD604\uC7AC \uC2A4\uD06C\uB864 \uC704\uCE58\uB97C \"newsScrollY\"\uC5D0 \uC800\uC7A5\n *    3. \uB274\uC2A4 \uC0C1\uC138 \uD398\uC774\uC9C0(\uACBD\uB85C\uAC00 \"/newsdetail\"\uB85C \uC2DC\uC791\uD558\uB294 \uACBD\uC6B0)\uC5D0\uC11C\uB294:\n *         - \uD398\uC774\uC9C0 \uC804\uD658 \uC2DC 200ms \uC9C0\uC5F0 \uD6C4 \uC2A4\uD06C\uB864\uC744 \uCD5C\uC0C1\uB2E8(0,0)\uC73C\uB85C \uCD08\uAE30\uD654 (\uC800\uC7A5\uC740 \uD558\uB354\uB77C\uB3C4 \uBCF5\uC6D0\uC740 \uD558\uC9C0 \uC54A\uC74C)\n */export function SaveAndRestoreScrollAllPages(){// SSR \uD658\uACBD\uC5D0\uC11C\uB294 window\uAC00 \uC5C6\uAC70\uB098 window.location\uC774 \uC5C6\uC73C\uBBC0\uB85C \uBE48 \uAC1D\uCCB4 \uBC18\uD658\nif(typeof window===\"undefined\"||!window.location){return{};}// \uD074\uB77C\uC774\uC5B8\uD2B8 \uD658\uACBD: \uACBD\uB85C \uBCC0\uD654\uB97C \uCD94\uC801\uD558\uAE30 \uC704\uD574 usePathname \uC0AC\uC6A9\nconst path=usePathname();useEffect(()=>{if(typeof window===\"undefined\"||!window.location)return;const currentPage=window.location.pathname;const previousPage=sessionStorage.getItem(\"previousPage\")||\"\";console.log(\"\u2705 [Common] currentPage:\",currentPage);console.log(\"\u2705 [Common] previousPage:\",previousPage);// \uD604\uC7AC \uD398\uC774\uC9C0\uB97C \uB2E4\uC74C \uC9C4\uC785\uC744 \uC704\uD574 \uAE30\uB85D\nsessionStorage.setItem(\"previousPage\",currentPage);// \uD310\uBCC4 \uD568\uC218\n// \uB274\uC2A4 \uBAA9\uB85D(\uCE74\uD14C\uACE0\uB9AC) \uD398\uC774\uC9C0: URL\uC774 \"/news\"\uB85C \uC2DC\uC791\uD558\uBA74\uC11C \"/newsdetail\"\uC774 \uC544\uB2CC \uACBD\uC6B0\nconst isNewsListPage=url=>url.startsWith(\"/news\")&&!url.startsWith(\"/newsdetail\");// \uB274\uC2A4 \uC0C1\uC138 \uD398\uC774\uC9C0: URL\uC774 \"/newsdetail\"\uB85C \uC2DC\uC791\uD558\uB294 \uACBD\uC6B0\nconst isNewsDetailPage=url=>url.startsWith(\"/newsdetail\");let cleanupScrollListener;if(isNewsListPage(currentPage)){// [\uB274\uC2A4 \uBAA9\uB85D/\uCE74\uD14C\uACE0\uB9AC \uD398\uC774\uC9C0] \uCC98\uB9AC\nsessionStorage.setItem(\"selectedNewsCategory\",currentPage);console.log(\"\u2705 [News List] selectedNewsCategory saved:\",currentPage);if(isNewsListPage(previousPage)){// \uBAA9\uB85D \uD398\uC774\uC9C0 \uAC04 \uC774\uB3D9 \uC2DC \uC800\uC7A5\uB41C \uC2A4\uD06C\uB864 \uBCF5\uC6D0\nconst savedScroll=sessionStorage.getItem(\"newsScrollY\");if(savedScroll!==null){requestAnimationFrame(()=>{window.scrollTo(0,parseFloat(savedScroll));console.log(\"\uD83D\uDE80 [News List] Restored scroll:\",savedScroll);});}}else{// \uB2E4\uB978 \uD398\uC774\uC9C0(\uB274\uC2A4 \uC0C1\uC138, \uBE44\uB274\uC2A4 \uB4F1)\uC5D0\uC11C \uC9C4\uC785\uD558\uBA74 \uC2A4\uD06C\uB864 \uCD08\uAE30\uD654\nconsole.log(\"\u274C [News List] Entered from non-news list \u2192 reset scroll\");sessionStorage.removeItem(\"newsScrollY\");window.scrollTo(0,0);}// \uC2A4\uD06C\uB864 \uC774\uBCA4\uD2B8 \uB4F1\uB85D: \uC2A4\uD06C\uB864 \uC704\uCE58\uB97C \uC800\uC7A5\nconst saveScroll=()=>{sessionStorage.setItem(\"newsScrollY\",window.scrollY.toString());console.log(\"\u2705 [News List] Saved scroll:\",window.scrollY);};window.addEventListener(\"scroll\",saveScroll);cleanupScrollListener=()=>window.removeEventListener(\"scroll\",saveScroll);}else if(isNewsDetailPage(currentPage)){// [\uB274\uC2A4 \uC0C1\uC138 \uD398\uC774\uC9C0] \uCC98\uB9AC\nconsole.log(\"\u274C [News Detail] Scheduling scroll reset with 200ms delay\");// 200ms \uC9C0\uC5F0 \uD6C4 \uC2A4\uD06C\uB864\uC744 \uCD5C\uC0C1\uB2E8(0,0)\uC73C\uB85C \uCD08\uAE30\uD654\nsetTimeout(()=>{window.scrollTo(0,0);console.log(\"\uD83D\uDE80 [News Detail] Scroll reset after 200ms delay\");},200);// \uB274\uC2A4 \uC0C1\uC138 \uD398\uC774\uC9C0\uC5D0\uC11C\uB294 \uC2A4\uD06C\uB864 \uC704\uCE58 \uC800\uC7A5 (\uBCF5\uC6D0\uC740 \uD558\uC9C0 \uC54A\uC74C)\nconst saveScroll=()=>{sessionStorage.setItem(\"newsDetailScrollY\",window.scrollY.toString());console.log(\"\u2705 [News Detail] Saved scroll:\",window.scrollY);};window.addEventListener(\"scroll\",saveScroll);cleanupScrollListener=()=>window.removeEventListener(\"scroll\",saveScroll);}// \uADF8 \uC678\uC758 \uD398\uC774\uC9C0\uB294 \uC2A4\uD06C\uB864 \uC800\uC7A5/\uBCF5\uC6D0 \uB85C\uC9C1 \uC5C6\uC774 \uB2E8\uC9C0 \uC774\uC804 \uD398\uC774\uC9C0 \uC815\uBCF4\uB9CC \uAE30\uB85D\nreturn()=>{if(cleanupScrollListener)cleanupScrollListener();};},[path]);return{};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withSaveAndRestoreScrollAllPages(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...SaveAndRestoreScrollAllPages(props)});};}withSaveAndRestoreScrollAllPages.displayName=\"SaveAndRestoreScrollAllPages\";\nexport const __FramerMetadata__ = {\"exports\":{\"withSaveAndRestoreScrollAllPages\":{\"type\":\"reactHoc\",\"name\":\"withSaveAndRestoreScrollAllPages\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SaveAndRestoreScrollAllPages\":{\"type\":\"override\",\"name\":\"SaveAndRestoreScrollAllPages\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SaveScrollandRestore.map"],
  "mappings": "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",
  "names": ["getPathname", "window", "usePathname", "pathname", "setPathname", "ye", "ue", "handleLocationChange", "origPushState", "origReplaceState", "args", "result", "SaveAndRestoreScrollAllPages", "path", "currentPage", "previousPage", "isNewsListPage", "url", "isNewsDetailPage", "cleanupScrollListener", "savedScroll", "saveScroll", "withSaveAndRestoreScrollAllPages", "C", "props", "re", "DataObserverContext", "p"]
}
