{"version":3,"file":"static/chunks/app/global-error-b9d04f476bb15b43.js","mappings":"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","sources":["webpack://_N_E/?2305","webpack://_N_E/../../node_modules/next/dist/api/image.js","webpack://_N_E/../../node_modules/next/dist/api/navigation.js","webpack://_N_E/../../../src/shared/lib/image-external.tsx","webpack://_N_E/./src/app/error.tsx","webpack://_N_E/./src/app/global-error.tsx","webpack://_N_E/./src/hooks/useCustomRouter.ts","webpack://_N_E/./src/stores/GlobalStore/useGlobalStore.ts","webpack://_N_E/./src/stores/GlobalStore/index.ts","webpack://_N_E/./src/stores/HistoryStore/useHistoryStore.ts","webpack://_N_E/./src/app/error.module.scss","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/badge.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/badge.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/skeleton.props.js","webpack://_N_E/../../node_modules/@radix-ui/themes/dist/esm/components/skeleton.js","webpack://_N_E/../../node_modules/es-toolkit/dist/math/random.mjs","webpack://_N_E/../../node_modules/es-toolkit/dist/math/randomInt.mjs"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/codebuild/output/src3192975231/src/wello-client/packages/wello/src/app/global-error.tsx\");\n","export { default } from \"../shared/lib/image-external\";\nexport * from \"../shared/lib/image-external\";\n\n//# sourceMappingURL=image.js.map","export * from \"../client/components/navigation\";\n\n//# sourceMappingURL=navigation.js.map",null,"'use client';\n\nimport { Button } from '@common/components';\nimport { ERROR_CODE, isNormalizedResponse } from '@common/utils';\nimport * as Sentry from '@sentry/nextjs';\nimport { randomInt } from 'es-toolkit';\nimport Image from 'next/image';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { ROUTES } from '@/constants';\nimport { useCustomRouter } from '@/hooks/useCustomRouter';\n\nimport styles from './error.module.scss';\n\ninterface ErrorPageProps {\n  error: Error;\n  reset: () => void;\n}\n\nconst ERROR_IMG_PROPS = {\n  alt: 'Error',\n  className: styles.image,\n  height: 186,\n  width: 335,\n} as const;\n\nconst ErrorPage = ({ error, reset }: ErrorPageProps) => {\n  const router = useCustomRouter();\n  const [errorId, setErrorId] = useState('');\n\n  const errorCode = isNormalizedResponse(error) ? error.return_code : undefined;\n\n  useEffect(() => {\n    if (errorCode && [ERROR_CODE.HIDDEN].includes(errorCode)) return;\n\n    const id = Sentry.captureException(error);\n\n    setErrorId(id);\n  }, [error, errorCode]);\n\n  //! ⚠️ 2번 렌더링 되는것을 방지하기 위함\n  const imgIndex = useRef(0);\n\n  return (\n    <article className={styles['error-page']}>\n      {(() => {\n        switch (errorCode) {\n          case ERROR_CODE.HIDDEN:\n            if (!imgIndex.current) {\n              imgIndex.current = randomInt(1, 2);\n            }\n\n            return (\n              <>\n                <section className={styles['error-contents']}>\n                  <h1 className={styles.title}>\n                    해당 페이지를\n                    <br />볼 수 없어요\n                  </h1>\n                  <p className={styles['description']}>\n                    이용 정책에 의해 비공개되었거나 삭제된 페이지에요.\n                  </p>\n                  <Image\n                    {...ERROR_IMG_PROPS}\n                    src={`/assets/pngs/error/hidden/${imgIndex.current}.png`}\n                  />\n                </section>\n                <nav className={styles.nav}>\n                  <Button theme=\"sub-line\" onClick={() => router.back()}>\n                    돌아가기\n                  </Button>\n                  <Button onClick={() => router.push(ROUTES.HOME.pathname)}>\n                    홈으로 이동\n                  </Button>\n                </nav>\n              </>\n            );\n\n          default:\n            if (!imgIndex.current) {\n              imgIndex.current = randomInt(1, 2);\n            }\n\n            return (\n              <>\n                <section className={styles['error-contents']}>\n                  <h1 className={styles.title}>\n                    생각지 못한 오류가\n                    <br />\n                    발생했어요\n                  </h1>\n                  <p className={styles['description']}>\n                    새로 고침을 선택하거나 홈으로 이동해 주세요.\n                  </p>\n                  <p className={styles['description']}>\n                    반복되는 오류는 고객 문의로 문의해 주시면\n                    <br />\n                    빠르게 처리해 드리겠습니다.\n                  </p>\n                  <p className={styles['error-code']}>{errorId}</p>\n                  <Image\n                    {...ERROR_IMG_PROPS}\n                    src={`/assets/pngs/error/${imgIndex.current}.png`}\n                  />\n                </section>\n                <nav className={styles.nav}>\n                  <Button theme=\"sub-line\" onClick={reset}>\n                    새로고침\n                  </Button>\n                  <Button onClick={() => router.push(ROUTES.HOME.pathname)}>\n                    홈으로 이동\n                  </Button>\n                </nav>\n              </>\n            );\n        }\n      })()}\n    </article>\n  );\n};\n\nexport default ErrorPage;\n","'use client';\n\nimport ErrorPage from './error';\n\ninterface ErrorPageProps {\n  error: Error;\n  reset: () => void;\n}\n\nconst GlobalError = ({ error, reset }: ErrorPageProps) => {\n  return (\n    <html lang=\"ko\">\n      <body>\n        <ErrorPage error={error} reset={reset} />\n      </body>\n    </html>\n  );\n};\n\nexport default GlobalError;\n","'use client';\n\nimport { isCurrentUrl } from '@common/utils';\nimport { useRouter } from 'next/navigation';\nimport { useMemo } from 'react';\n\nimport { ROUTES, STORAGE_KEY } from '@/constants';\nimport { useGlobalStore } from '@/stores/GlobalStore';\nimport { useHistoryStore } from '@/stores/HistoryStore/useHistoryStore';\n\nconst NOT_ALLOW_BACK_ROUTE = [\n  ROUTES.AUTH,\n  ROUTES.EASY_CERTIFICATION,\n  ROUTES.EASY_CERTIFICATION_CALLBACK,\n  ROUTES.LOGIN,\n  ROUTES.CROSS_DOMAIN_AUTH,\n];\n\nexport const useCustomRouter = () => {\n  const router = useRouter();\n  const setIsGlobalLoading = useGlobalStore(\n    (state) => state.setIsGlobalLoading,\n  );\n\n  const customRouter = useMemo(() => {\n    interface Options\n      extends Exclude<Parameters<typeof router.push>[1], undefined> {\n      globalLoading?: boolean;\n    }\n\n    const push = (href: string, options?: Options) => {\n      const { globalLoading, ...originalOptions } = options ?? {};\n      if (!isCurrentUrl(href, { skipSearch: true }))\n        setIsGlobalLoading(globalLoading ?? true);\n\n      return router.push(href, originalOptions);\n    };\n\n    const replace = (href: string, options?: Options) => {\n      const { globalLoading, ...originalOptions } = options ?? {};\n      if (!isCurrentUrl(href, { skipSearch: true }))\n        setIsGlobalLoading(globalLoading ?? true);\n\n      sessionStorage.setItem(STORAGE_KEY.REPLACE_MARK, 'true');\n\n      return router.replace(href, originalOptions);\n    };\n\n    const back = () => {\n      const { historyIndex, customHistory } = useHistoryStore.getState();\n\n      const isEmptyHistory = historyIndex < 1;\n      const prevHistoryPath = customHistory.get(historyIndex - 1);\n      const isNotAllowBackRoute = prevHistoryPath\n        ? NOT_ALLOW_BACK_ROUTE.some((route) =>\n            prevHistoryPath.includes(route.pathname),\n          )\n        : true;\n\n      if (isEmptyHistory || isNotAllowBackRoute)\n        return replace(ROUTES.HOME.pathname);\n\n      return router.back();\n    };\n\n    return {\n      ...router,\n      push,\n      replace,\n      back,\n    };\n  }, [router, setIsGlobalLoading]);\n\n  return customRouter;\n};\n","import { create } from 'zustand';\n\nimport type { TERM_CATEGORY } from '@/api';\n\nexport enum LOCAL_STORAGE_KEY {\n  RECENT_SEARCH_LIST = 'recent_search_list',\n  SEARCH_LOCATION_LIST = 'search_location_list',\n  BANNER_CLOSED = 'bannerClosed',\n  WELLO_UUID = 'welloUuid',\n  CARD_BANNER_CLOSED = 'cardBannerClosed',\n}\n\nexport type ToastType = 'fail' | 'success' | 'warning' | 'info';\n\nexport interface ToastOptions {\n  toastKey: string;\n  type?: ToastType;\n  message: string;\n  holdTime?: number;\n  createdAt: Date;\n}\n\ninterface WelloWebLinkModalPros {\n  descriptions: string;\n  link: string;\n}\n\ninterface Log {\n  data: string;\n  time: Date;\n}\ninterface GlobalStore {\n  isGlobalLoading: boolean;\n  setIsGlobalLoading: (isGlobalLoading: boolean) => void;\n\n  termsDrawerType: TERM_CATEGORY | null;\n  setTermsDrawerType: (termsDrawerType: TERM_CATEGORY | null) => void;\n\n  welloWebLinkModalProps: WelloWebLinkModalPros | null;\n  setWelloWebLinkModalProps: (\n    welloWebLinkModal: WelloWebLinkModalPros | null,\n  ) => void;\n\n  shareLink: null | string;\n  setShareLink: (shareLink: string | null) => void;\n\n  isShowLoginRedirectionConfirmModal: boolean;\n  setIsShowLoginRedirectionConfirmModal: (\n    isShowLoginDirectionConformModal: boolean,\n  ) => void;\n\n  isNaverMapMounted: boolean;\n  setIsNaverMapMounted: (isNaverMapMounted: boolean) => void;\n\n  logList: Log[];\n  addLog: (log: Log) => void;\n\n  setGlobalNavigation: (globalNavigation: React.ReactNode) => void;\n  globalNavigation: React.ReactNode;\n\n  handleLocationServiceConsentDrawer?: (\n    isLocationServiceConsent: boolean,\n  ) => Promise<void>;\n  setHandleLocationServiceConsentDrawer: (\n    handleLocationServiceConsentDrawer: GlobalStore['handleLocationServiceConsentDrawer'],\n  ) => void;\n\n  isHomeBottomDrawerOpened: boolean;\n  setIsHomeBottomDrawerOpened: (isHomeBottomDrawerOpened: boolean) => void;\n}\n\nexport const useGlobalStore = create<GlobalStore>((set) => {\n  return {\n    isGlobalLoading: false,\n    setIsGlobalLoading: (isGlobalLoading) => set({ isGlobalLoading }),\n\n    termsDrawerType: null,\n    setTermsDrawerType: (termsDrawerType) => set({ termsDrawerType }),\n\n    welloWebLinkModalProps: null,\n    setWelloWebLinkModalProps: (welloWebLinkModalProps) =>\n      set({ welloWebLinkModalProps }),\n\n    shareLink: null,\n    setShareLink: (shareLink) => set({ shareLink }),\n\n    isShowLoginRedirectionConfirmModal: false,\n    setIsShowLoginRedirectionConfirmModal: (\n      isShowLoginRedirectionConfirmModal,\n    ) => set({ isShowLoginRedirectionConfirmModal }),\n\n    isNaverMapMounted: false,\n    setIsNaverMapMounted: (isNaverMapMounted) => set({ isNaverMapMounted }),\n\n    logList: [],\n    addLog: (log) => set(({ logList }) => ({ logList: [...logList, log] })),\n\n    setGlobalNavigation: (globalNavigation) => set({ globalNavigation }),\n    globalNavigation: null,\n\n    // Drawe 띄우고 콜백 역할함\n    setHandleLocationServiceConsentDrawer: (\n      handleLocationServiceConsentDrawer,\n    ) => set({ handleLocationServiceConsentDrawer }),\n\n    isHomeBottomDrawerOpened: false,\n    setIsHomeBottomDrawerOpened: (isHomeBottomDrawerOpened) =>\n      set({ isHomeBottomDrawerOpened }),\n  };\n});\n","'use client';\n\nexport * from './useGlobalStore';\n","'use client';\n\nimport { CustomError } from '@common/utils';\nimport { create } from 'zustand';\n\nimport { STORAGE_KEY, type STORAGE_TYPE } from '@/constants/storage-key';\n\ninterface HistoryStore {\n  historyIndex: number;\n  setHistoryIndex: (historyIndex: number) => void;\n\n  customHistory: Map<number, string>;\n  setCustomHistory: (customHistory: Map<number, string>) => void;\n}\n\nexport const useHistoryStore = create<HistoryStore>((set) => {\n  let historyIndex = -1;\n  const customHistory = new Map<number, string>();\n\n  if (typeof window !== 'undefined') {\n    const sessionExpire = sessionStorage.getItem(STORAGE_KEY.HISTORY_EXPIRE);\n\n    try {\n      if (sessionExpire ? Number(sessionExpire) < Date.now() : true)\n        throw new CustomError();\n\n      const sessionHistory = sessionStorage.getItem(STORAGE_KEY.HISTORY);\n      const sessionHistoryIndex = sessionStorage.getItem(\n        STORAGE_KEY.HISTORY_INDEX,\n      );\n\n      if (!sessionHistory || !sessionHistoryIndex) throw new CustomError();\n\n      historyIndex = Number(sessionHistoryIndex);\n\n      const history: STORAGE_TYPE.HISTORY = JSON.parse(sessionHistory);\n\n      history.forEach(([index, path]) => {\n        customHistory.set(index, path);\n      });\n    } catch {\n      customHistory.clear();\n    } finally {\n      sessionStorage.removeItem(STORAGE_KEY.HISTORY_EXPIRE);\n      sessionStorage.removeItem(STORAGE_KEY.HISTORY);\n      sessionStorage.removeItem(STORAGE_KEY.HISTORY_INDEX);\n    }\n  }\n\n  return {\n    historyIndex,\n    customHistory,\n    setHistoryIndex: (historyIndex) => {\n      sessionStorage.setItem(\n        STORAGE_KEY.HISTORY_INDEX,\n        historyIndex.toString(),\n      );\n\n      return set({\n        historyIndex,\n      });\n    },\n    setCustomHistory: (customHistory) => {\n      sessionStorage.setItem(\n        STORAGE_KEY.HISTORY,\n        JSON.stringify(Array.from(customHistory.entries())),\n      );\n\n      return set({ customHistory });\n    },\n  };\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error-page\":\"error_error-page__om8mu\",\"error-contents\":\"error_error-contents__Cs96V\",\"inquiry-button\":\"error_inquiry-button__fD_n0\",\"title\":\"error_title__mcKAU\",\"image\":\"error_image__gNqgt\",\"shake-horizontal\":\"error_shake-horizontal__6ND15\",\"description\":\"error_description__gxPME\",\"error-code\":\"error_error-code__HfW2z\",\"nav\":\"error_nav__fRUXC\",\"not-last\":\"error_not-last__mD6ap\",\"fade-in-bottom\":\"error_fade-in-bottom__7avHH\",\"fade-in-top\":\"error_fade-in-top__g1uSh\",\"fade-in\":\"error_fade-in__Pc3mX\",\"fade-out-bottom\":\"error_fade-out-bottom__ZeIi4\",\"fade-out-top\":\"error_fade-out-top__BLfQW\",\"fade-out\":\"error_fade-out__61zLu\",\"scale-in-center\":\"error_scale-in-center__kt_HQ\",\"scale-in-top\":\"error_scale-in-top__e3sk_\",\"scale-out-top\":\"error_scale-out-top__gSIeN\",\"scale-up-center\":\"error_scale-up-center__n5jGK\",\"slide-in-bottom\":\"error_slide-in-bottom__vG1T3\",\"slide-in-fwd-center\":\"error_slide-in-fwd-center__b7lnl\",\"slide-in-left\":\"error_slide-in-left__Io1Ey\",\"slide-in-right\":\"error_slide-in-right__NhDQy\",\"slide-in-top\":\"error_slide-in-top__CHe9_\",\"slide-out-bottom\":\"error_slide-out-bottom__kFEUo\",\"slide-out-left\":\"error_slide-out-left__EbPFZ\",\"slide-out-right\":\"error_slide-out-right__5xTbP\",\"slide-out-top\":\"error_slide-out-top__GNX43\",\"swing-in-top-fwd\":\"error_swing-in-top-fwd__KkcaA\",\"tilt-in-fwd-tr\":\"error_tilt-in-fwd-tr__rK6Q5\",\"scale-in-tl\":\"error_scale-in-tl__NNFw6\",\"scale-in-ver-center\":\"error_scale-in-ver-center__NuPpE\",\"flip-in-ver-left\":\"error_flip-in-ver-left__WjbaR\"};","import{asChildPropDef as e}from\"../props/as-child.prop.js\";import{accentColorPropDef as r}from\"../props/color.prop.js\";import{highContrastPropDef as s}from\"../props/high-contrast.prop.js\";import{radiusPropDef as o}from\"../props/radius.prop.js\";const t=[\"1\",\"2\",\"3\"],a=[\"solid\",\"soft\",\"surface\",\"outline\"],p={...e,size:{type:\"enum\",className:\"rt-r-size\",values:t,default:\"1\",responsive:!0},variant:{type:\"enum\",className:\"rt-variant\",values:a,default:\"soft\"},...r,...s,...o};export{p as badgePropDefs};\n//# sourceMappingURL=badge.props.js.map\n","import*as o from\"react\";import f from\"classnames\";import{Slot as i}from\"radix-ui\";import{badgePropDefs as P}from\"./badge.props.js\";import{extractProps as g}from\"../helpers/extract-props.js\";import{marginPropDefs as c}from\"../props/margin.props.js\";const e=o.forwardRef((r,p)=>{const{asChild:t,className:s,color:a,radius:m,...n}=g(r,P,c),d=t?i.Root:\"span\";return o.createElement(d,{\"data-accent-color\":a,\"data-radius\":m,...n,ref:p,className:f(\"rt-reset\",\"rt-Badge\",s)})});e.displayName=\"Badge\";export{e as Badge};\n//# sourceMappingURL=badge.js.map\n","import{heightPropDefs as o}from\"../props/height.props.js\";import{widthPropDefs as e}from\"../props/width.props.js\";const p={loading:{type:\"boolean\",default:!0},...e,...o};export{p as skeletonPropDefs};\n//# sourceMappingURL=skeleton.props.js.map\n","import*as o from\"react\";import a from\"classnames\";import{Slot as l}from\"radix-ui\";import{inert as f}from\"../helpers/inert.js\";import{extractProps as P}from\"../helpers/extract-props.js\";import{marginPropDefs as d}from\"../props/margin.props.js\";import{skeletonPropDefs as k}from\"./skeleton.props.js\";const r=o.forwardRef((t,p)=>{const{children:e,className:n,loading:s,...m}=P(t,k,d);if(!s)return e;const i=o.isValidElement(e)?l.Root:\"span\";return o.createElement(i,{ref:p,\"aria-hidden\":!0,className:a(\"rt-Skeleton\",n),\"data-inline-skeleton\":o.isValidElement(e)?void 0:!0,tabIndex:-1,inert:f,...m},e)});r.displayName=\"Skeleton\";export{r as Skeleton};\n//# sourceMappingURL=skeleton.js.map\n","function random(minimum, maximum) {\n    if (maximum == null) {\n        maximum = minimum;\n        minimum = 0;\n    }\n    if (minimum >= maximum) {\n        throw new Error('Invalid input: The maximum value must be greater than the minimum value.');\n    }\n    return Math.random() * (maximum - minimum) + minimum;\n}\n\nexport { random };\n","import { random } from './random.mjs';\n\nfunction randomInt(minimum, maximum) {\n    return Math.floor(random(minimum, maximum));\n}\n\nexport { randomInt };\n"],"names":["Promise","resolve","then","__webpack_require__","bind","default","_default","getImageProps","imgProps","props","getImgProps","defaultLoader","imgConf","process","key","value","Object","entries","undefined","Image","ERROR_IMG_PROPS","alt","className","styles","height","width","__webpack_exports__","error","reset","param","router","useCustomRouter","errorId","setErrorId","useState","errorCode","isNormalizedResponse","return_code","useEffect","ERROR_CODE","HIDDEN","includes","Sentry","imgIndex","useRef","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","article","current","randomInt","jsxs","Fragment","section","h1","br","p","src","concat","nav","Button","theme","onClick","back","push","ROUTES","HOME","pathname","html","lang","body","ErrorPage","NOT_ALLOW_BACK_ROUTE","AUTH","EASY_CERTIFICATION","EASY_CERTIFICATION_CALLBACK","LOGIN","CROSS_DOMAIN_AUTH","useRouter","setIsGlobalLoading","useGlobalStore","state","useMemo","replace","href","options","globalLoading","originalOptions","isCurrentUrl","skipSearch","sessionStorage","setItem","STORAGE_KEY","REPLACE_MARK","historyIndex","customHistory","useHistoryStore","getState","prevHistoryPath","get","isNotAllowBackRoute","some","route","LOCAL_STORAGE_KEY","create","isGlobalLoading","set","termsDrawerType","setTermsDrawerType","welloWebLinkModalProps","setWelloWebLinkModalProps","shareLink","setShareLink","isShowLoginRedirectionConfirmModal","setIsShowLoginRedirectionConfirmModal","isNaverMapMounted","setIsNaverMapMounted","logList","addLog","log","setGlobalNavigation","globalNavigation","setHandleLocationServiceConsentDrawer","handleLocationServiceConsentDrawer","isHomeBottomDrawerOpened","setIsHomeBottomDrawerOpened","Map","sessionExpire","getItem","HISTORY_EXPIRE","Number","Date","now","CustomError","sessionHistory","HISTORY","sessionHistoryIndex","HISTORY_INDEX","history","parse","forEach","index","path","e","clear","removeItem","setHistoryIndex","toString","setCustomHistory","JSON","stringify","Array","from","module","exports","badge_props_p","as_child_prop","C","size","type","values","responsive","variant","color_prop","o3","high_contrast_prop","K","radius_prop","I","react","forwardRef","r","asChild","t","s","color","a","radius","m","n","extract_props","y","margin_props","E","d","dist","fC","createElement","ref","classnames","displayName","skeleton_props_p","loading","width_props","height_props","F","children","i","isValidElement","tabIndex","inert","M","random","minimum","maximum","Math","floor","_random_mjs__WEBPACK_IMPORTED_MODULE_0__"],"sourceRoot":""}