{"ast":null,"code":"var _jsxFileName = \"D:\\\\DSP_Management\\\\src\\\\index.js\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { HashRouter, Routes, Route, Navigate } from \"react-router-dom\";\nimport AuthLayout from \"layouts/Auth.js\";\nimport AdminLayout from \"layouts/Admin.js\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar isAuthenticated = function isAuthenticated() {\n  // 로컬 개발환경 우회 허용\n  if (process.env.NODE_ENV === \"development\") return true;\n  return !!localStorage.getItem(\"accessToken\");\n};\n\n// ✅ v6: 인증 가드 컴포넌트\nfunction RequireAuth(_ref) {\n  var children = _ref.children;\n  return isAuthenticated() ? children : /*#__PURE__*/_jsxDEV(Navigate, {\n    to: \"/auth/signin\",\n    replace: true\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 17,\n    columnNumber: 41\n  }, this);\n}\n_c = RequireAuth;\nReactDOM.render(/*#__PURE__*/_jsxDEV(HashRouter, {\n  children: /*#__PURE__*/_jsxDEV(Routes, {\n    children: [/*#__PURE__*/_jsxDEV(Route, {\n      path: \"/auth/*\",\n      element: /*#__PURE__*/_jsxDEV(AuthLayout, {}, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 24,\n        columnNumber: 38\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 24,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Route, {\n      path: \"/admin/*\",\n      element: /*#__PURE__*/_jsxDEV(RequireAuth, {\n        children: /*#__PURE__*/_jsxDEV(AdminLayout, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 31,\n          columnNumber: 13\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 30,\n        columnNumber: 11\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 27,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Route, {\n      path: \"/\",\n      element: /*#__PURE__*/_jsxDEV(Navigate, {\n        to: \"/auth/signin\",\n        replace: true\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 37,\n        columnNumber: 32\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 37,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Route, {\n      path: \"*\",\n      element: /*#__PURE__*/_jsxDEV(Navigate, {\n        to: \"/auth/signin\",\n        replace: true\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 40,\n        columnNumber: 32\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 40,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 22,\n    columnNumber: 5\n  }, this)\n}, void 0, false, {\n  fileName: _jsxFileName,\n  lineNumber: 21,\n  columnNumber: 3\n}, this), document.getElementById(\"root\"));\nvar _c;\n$RefreshReg$(_c, \"RequireAuth\");","map":{"version":3,"names":["React","ReactDOM","HashRouter","Routes","Route","Navigate","AuthLayout","AdminLayout","jsxDEV","_jsxDEV","isAuthenticated","process","env","NODE_ENV","localStorage","getItem","RequireAuth","_ref","children","to","replace","fileName","_jsxFileName","lineNumber","columnNumber","_c","render","path","element","document","getElementById","$RefreshReg$"],"sources":["D:/DSP_Management/src/index.js"],"sourcesContent":["\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { HashRouter, Routes, Route, Navigate } from \"react-router-dom\";\n\nimport AuthLayout from \"layouts/Auth.js\";\nimport AdminLayout from \"layouts/Admin.js\";\n\nconst isAuthenticated = () => {\n  // 로컬 개발환경 우회 허용\n  if (process.env.NODE_ENV === \"development\") return true;\n  return !!localStorage.getItem(\"accessToken\");\n};\n\n// ✅ v6: 인증 가드 컴포넌트\nfunction RequireAuth({ children }) {\n  return isAuthenticated() ? children : <Navigate to=\"/auth/signin\" replace />;\n}\n\nReactDOM.render(\n  <HashRouter>\n    <Routes>\n      {/* ✅ Auth 영역 */}\n      <Route path=\"/auth/*\" element={<AuthLayout />} />\n\n      {/* ✅ Admin 영역 - 인증 가드 적용 */}\n      <Route\n        path=\"/admin/*\"\n        element={\n          <RequireAuth>\n            <AdminLayout />\n          </RequireAuth>\n        }\n      />\n\n      {/* 기본 진입 */}\n      <Route path=\"/\" element={<Navigate to=\"/auth/signin\" replace />} />\n\n      {/* (선택) 나머지 경로 처리 */}\n      <Route path=\"*\" element={<Navigate to=\"/auth/signin\" replace />} />\n    </Routes>\n  </HashRouter>,\n  document.getElementById(\"root\")\n);\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,QAAQ,MAAM,WAAW;AAChC,SAASC,UAAU,EAAEC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,QAAQ,kBAAkB;AAEtE,OAAOC,UAAU,MAAM,iBAAiB;AACxC,OAAOC,WAAW,MAAM,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE3C,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;EAC5B;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAE,OAAO,IAAI;EACvD,OAAO,CAAC,CAACC,YAAY,CAACC,OAAO,CAAC,aAAa,CAAC;AAC9C,CAAC;;AAED;AACA,SAASC,WAAWA,CAAAC,IAAA,EAAe;EAAA,IAAZC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC7B,OAAOR,eAAe,CAAC,CAAC,GAAGQ,QAAQ,gBAAGT,OAAA,CAACJ,QAAQ;IAACc,EAAE,EAAC,cAAc;IAACC,OAAO;EAAA;IAAAC,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAAE,CAAC;AAC9E;AAACC,EAAA,GAFQT,WAAW;AAIpBf,QAAQ,CAACyB,MAAM,cACbjB,OAAA,CAACP,UAAU;EAAAgB,QAAA,eACTT,OAAA,CAACN,MAAM;IAAAe,QAAA,gBAELT,OAAA,CAACL,KAAK;MAACuB,IAAI,EAAC,SAAS;MAACC,OAAO,eAAEnB,OAAA,CAACH,UAAU;QAAAe,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE;IAAE;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC,eAGjDf,OAAA,CAACL,KAAK;MACJuB,IAAI,EAAC,UAAU;MACfC,OAAO,eACLnB,OAAA,CAACO,WAAW;QAAAE,QAAA,eACVT,OAAA,CAACF,WAAW;UAAAc,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAC;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACJ;IACd;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACF,CAAC,eAGFf,OAAA,CAACL,KAAK;MAACuB,IAAI,EAAC,GAAG;MAACC,OAAO,eAAEnB,OAAA,CAACJ,QAAQ;QAACc,EAAE,EAAC,cAAc;QAACC,OAAO;MAAA;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE;IAAE;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC,eAGnEf,OAAA,CAACL,KAAK;MAACuB,IAAI,EAAC,GAAG;MAACC,OAAO,eAAEnB,OAAA,CAACJ,QAAQ;QAACc,EAAE,EAAC,cAAc;QAACC,OAAO;MAAA;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE;IAAE;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAC7D;AAAC;EAAAH,QAAA,EAAAC,YAAA;EAAAC,UAAA;EAAAC,YAAA;AAAA,OACC,CAAC,EACbK,QAAQ,CAACC,cAAc,CAAC,MAAM,CAChC,CAAC;AAAC,IAAAL,EAAA;AAAAM,YAAA,CAAAN,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}