{"version":3,"file":"842.c48f9691374108d6f0ce.js","mappings":"0sCAcA,IAAMA,GAAWC,EAAAA,EAAAA,OAAK,kBAAM,mEACtBC,GAAcD,EAAAA,EAAAA,OAAK,kBAAM,mEACzBE,GAAUF,EAAAA,EAAAA,OAAK,kBAAM,mEAUZ,SAASG,IACtB,IACMC,GAAWC,EAAAA,EAAAA,MAAcC,SACzBC,GAAWC,EAAAA,EAAAA,MACjB,KAA8CC,EAAAA,EAAAA,WAAS,GAAvD,GAAOC,EAAP,KAAwBC,EAAxB,KACA,KAA4CF,EAAAA,EAAAA,UAAS,IAArD,GAAOG,EAAP,KAAuBC,EAAvB,MACAC,EAAAA,EAAAA,MACAC,EAAAA,EAAAA,KAEA,IAAMC,GAAqBC,EAAAA,EAAAA,GAAiB,CAC1CC,KAAMC,EAAAA,GACNC,UAAU,EACVC,oBAAoB,IAEhBC,GAAqBL,EAAAA,EAAAA,GAAiB,CAC1CC,KAAMK,EAAAA,GACNH,UAAU,EACVC,oBAAoB,IAGhBG,EAAoB,WACxB,IACMC,EAAQC,YAAW,WAIrB,IAAIC,EAHFjB,IACFC,GAAmB,GAIjBgB,EADE,CAACR,EAAAA,GAAcS,EAAAA,IAAiBC,SAASzB,IAAgC,cAAnBQ,EAC3CU,EAEAN,EAGfT,EAASoB,EAAY,CAAEG,SAAS,IAChCC,OAAOC,SAAS,EAAG,GACnBnB,EAAkB,OAdJH,EApBK,KAoBgC,GAkBvD,OAAO,kBAAMuB,aAAaR,KAO5B,OAJKf,GACHqB,OAAOC,SAAS,EAAG,IAInB,iBAAKE,UAAU,wBAAf,WACI9B,IAAa+B,EAAAA,IAAiBzB,GAAsC,cAAnBE,KACjD,SAAC,EAAAwB,SAAD,CAAUC,SAAU,KAApB,UACE,SAACtC,EAAD,CACEW,gBAAiBA,EACjBE,eAAgBA,EAChBY,kBAAmBA,EACnBc,aAAc3B,EACd4B,kBAAmB1B,OAIvB,CAACM,EAAAA,GAAcS,EAAAA,IAAiBC,SAASzB,IAAaM,KACtD,SAAC,EAAA0B,SAAD,CAAUC,SAAU,KAApB,UACE,SAACpC,EAAD,CACES,gBAAiBA,EACjBE,eAAgBA,EAChBY,kBAAmBA,EACnBc,aAAc3B,EACd4B,kBAAmB1B,OAIvB,CAACU,EAAAA,GAAsBiB,EAAAA,IAAyBX,SAASzB,IACxDM,GAAsC,cAAnBE,KACpB,SAAC,EAAAwB,SAAD,CAAUC,SAAU,KAApB,UACE,SAACnC,EAAD,CACEQ,gBAAiBA,EACjBE,eAAgBA,EAChBY,kBAAmBA","sources":["webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/pages/MainSeries/index.tsx"],"sourcesContent":["import React, { Suspense, lazy, useState, SetStateAction, Dispatch } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport useTranslatedUrl from '../../utils/useTranslatedUrl';\nimport useScrollLocation from '../../utils/useScrollLocation';\nimport useSkipLinks from '../../utils/useSkipLinks';\n\nimport {\n  WELCOME_PATH,\n  STORIES_PATH,\n  STORIES_PATH_FR,\n  EXPLORE_BLANKET_PATH,\n  EXPLORE_BLANKET_PATH_FR,\n} from '../../utils/urlPaths';\n\nconst HomePage = lazy(() => import('../HomePage'));\nconst SelectStory = lazy(() => import('../SelectStory'));\nconst Blanket = lazy(() => import('../Blanket'));\n\nexport interface MainSeriesProps {\n  isTransitioning: boolean;\n  transitionType: string;\n  transitionTrigger: () => void;\n  stateChanger?: Dispatch<SetStateAction<boolean>>;\n  transitionChanger?: Dispatch<SetStateAction<string>>;\n}\n\nexport default function MainSeries() {\n  const timeToTransition = 1200;\n  const location = useLocation().pathname;\n  const navigate = useNavigate();\n  const [isTransitioning, setIsTransitioning] = useState(false);\n  const [transitionType, setTransitionType] = useState('');\n  useScrollLocation();\n  useSkipLinks();\n\n  const currentStoriesPath = useTranslatedUrl({\n    path: STORIES_PATH,\n    fullPath: false,\n    useCurrentLanguage: true,\n  });\n  const currentExplorePath = useTranslatedUrl({\n    path: EXPLORE_BLANKET_PATH,\n    fullPath: false,\n    useCurrentLanguage: true,\n  });\n\n  const transitionTrigger = () => {\n    const timeLocal = isTransitioning ? timeToTransition : 1;\n    const timer = setTimeout(() => {\n      if (isTransitioning) {\n        setIsTransitioning(false);\n\n        let navigateTo;\n        if ([STORIES_PATH, STORIES_PATH_FR].includes(location) && transitionType === 'slideLast') {\n          navigateTo = currentExplorePath;\n        } else {\n          navigateTo = currentStoriesPath;\n        }\n\n        navigate(navigateTo, { replace: true });\n        window.scrollTo(0, 0);\n        setTransitionType('');\n      }\n    }, timeLocal);\n\n    return () => clearTimeout(timer);\n  };\n\n  if (!isTransitioning) {\n    window.scrollTo(0, 0);\n  }\n\n  return (\n    <div className=\"main-series-container\">\n      {(location === WELCOME_PATH || (isTransitioning && transitionType !== 'slideLast')) && (\n        <Suspense fallback={null}>\n          <HomePage\n            isTransitioning={isTransitioning}\n            transitionType={transitionType}\n            transitionTrigger={transitionTrigger}\n            stateChanger={setIsTransitioning}\n            transitionChanger={setTransitionType}\n          />\n        </Suspense>\n      )}\n      {([STORIES_PATH, STORIES_PATH_FR].includes(location) || isTransitioning) && (\n        <Suspense fallback={null}>\n          <SelectStory\n            isTransitioning={isTransitioning}\n            transitionType={transitionType}\n            transitionTrigger={transitionTrigger}\n            stateChanger={setIsTransitioning}\n            transitionChanger={setTransitionType}\n          />\n        </Suspense>\n      )}\n      {([EXPLORE_BLANKET_PATH, EXPLORE_BLANKET_PATH_FR].includes(location) ||\n        (isTransitioning && transitionType === 'slideLast')) && (\n        <Suspense fallback={null}>\n          <Blanket\n            isTransitioning={isTransitioning}\n            transitionType={transitionType}\n            transitionTrigger={transitionTrigger}\n          />\n        </Suspense>\n      )}\n    </div>\n  );\n}\n"],"names":["HomePage","lazy","SelectStory","Blanket","MainSeries","location","useLocation","pathname","navigate","useNavigate","useState","isTransitioning","setIsTransitioning","transitionType","setTransitionType","useScrollLocation","useSkipLinks","currentStoriesPath","useTranslatedUrl","path","STORIES_PATH","fullPath","useCurrentLanguage","currentExplorePath","EXPLORE_BLANKET_PATH","transitionTrigger","timer","setTimeout","navigateTo","STORIES_PATH_FR","includes","replace","window","scrollTo","clearTimeout","className","WELCOME_PATH","Suspense","fallback","stateChanger","transitionChanger","EXPLORE_BLANKET_PATH_FR"],"sourceRoot":""}