{"version":3,"sources":["webpack:///./src/actions/ConfigActions.ts","webpack:///./src/App.tsx","webpack:///./src/actions/ArticleActions.ts","webpack:///./src/actions/EditionActions.ts","webpack:///./src/actions/variantActions.ts"],"names":["CONFIG_ACTION_TYPES","setOfflineMode","isOffline","type","IS_OFFLINE","payload","setViewMode","viewMode","VIEW_MODE","setActiveArticle","articleId","SET_ACTIVE_ARTICLE","setActiveSection","sectionId","SET_ACTIVE_SECTION","setActiveEdition","editionId","SET_ACTIVE_EDITION","setTheme","theme","SET_THEME","__webpack_require__","d","__webpack_exports__","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","dlv__WEBPACK_IMPORTED_MODULE_1__","dlv__WEBPACK_IMPORTED_MODULE_1___default","components_SideDrawer_SideDrawer__WEBPACK_IMPORTED_MODULE_2__","react_redux__WEBPACK_IMPORTED_MODULE_3__","react_hot_loader_root__WEBPACK_IMPORTED_MODULE_4__","views_ArticleCollectionView__WEBPACK_IMPORTED_MODULE_5__","components_Header_Header__WEBPACK_IMPORTED_MODULE_6__","components_GlobalNavigation_GlobalNavigation__WEBPACK_IMPORTED_MODULE_7__","reducers_configReducer__WEBPACK_IMPORTED_MODULE_8__","data_sections__WEBPACK_IMPORTED_MODULE_9__","Object","state","ownProps","activeSection","activeEdition","activeArticle","isSingleArticle","articles","editions","map","id","filter","Boolean","index","findIndex","articleIndex","config","sectionName","props","area","isSearchOpen","a","createElement","className","GREY","isOpen","showEditionInfo","EDITION","menuAction","history","pushState","showButton","title","ActionTypeKey","importSectionArticlePreviews","fetchArticle","services_content_contentProxy__WEBPACK_IMPORTED_MODULE_0__","updatedArticles","values","reduce","acc","article","assign","[object Object]","hasRead","isFetching","IMPORT_SECTION_ARTICLES","articleUrl","dispatch","console","log","then","articleData","FETCH_ARTICLE","data","EditionTypes","EditionActionsTypes","loadSectionContent","actions_ArticleActions__WEBPACK_IMPORTED_MODULE_0__","data_sections__WEBPACK_IMPORTED_MODULE_1__","services_content_contentProxy__WEBPACK_IMPORTED_MODULE_2__","isSpoofed","section","sectionURL","href","FETCHING_SECTION_CONTENT","fetchingSectionContent","jsonData","articleIds","RECEIVED_SECTION_CONTENT","receivedSectionContent","keys","packages","ADD_PACKAGES","addPackages","catch","err","error","VariantActions","updateVariantAction","selected","UPDATE_VARIANT","resetVariants","RESET_VARIANTS"],"mappings":"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","file":"main~06837ae4.bundle.js","sourcesContent":["import { ViewModesType, ThemeTypes, AreasTypes } from \"reducers/configReducer\";\n\nexport enum CONFIG_ACTION_TYPES {\n  IS_OFFLINE = \"IS_OFFLINE\",\n  VIEW_MODE = \"VIEW_MODE\",\n  SET_AREA = \"SET_AREA\",\n  SET_ACTIVE_ARTICLE = \"SET_ACTIVE_ARTICLE\",\n  SET_ACTIVE_SECTION = \"SET_ACTIVE_SECTION\",\n  SET_ACTIVE_EDITION = \"SET_ACTIVE_EDITION\",\n  TOGGLE_SIDE_DRAWER = \"TOGGLE_SIDE_DRAWER\",\n  SET_THEME = \"SET_THEME\"\n}\n\nexport interface SetOfflineModeInterface {\n  type: CONFIG_ACTION_TYPES.IS_OFFLINE;\n  payload: boolean;\n}\n\nexport function setOfflineMode(isOffline: boolean): SetOfflineModeInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.IS_OFFLINE,\n    payload: isOffline\n  };\n}\n\nexport interface SetViewModeInterface {\n  type: CONFIG_ACTION_TYPES.VIEW_MODE;\n  payload: ViewModesType;\n}\n\nexport function setViewMode(viewMode: ViewModesType): SetViewModeInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.VIEW_MODE,\n    payload: viewMode\n  };\n}\n\nexport interface SetAreaActionInterface {\n  type: CONFIG_ACTION_TYPES.SET_AREA;\n  payload: AreasTypes;\n}\n\nexport function setArea(area: AreasTypes): SetAreaActionInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.SET_AREA,\n    payload: area\n  };\n}\n\nexport interface SetActiveArticleInterface {\n  type: CONFIG_ACTION_TYPES.SET_ACTIVE_ARTICLE;\n  payload: string;\n}\n\nexport function setActiveArticle(articleId: string): SetActiveArticleInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.SET_ACTIVE_ARTICLE,\n    payload: articleId\n  };\n}\n\nexport interface SetActiveSectionInterface {\n  type: CONFIG_ACTION_TYPES.SET_ACTIVE_SECTION;\n  payload: string;\n}\n\nexport function setActiveSection(sectionId: string): SetActiveSectionInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.SET_ACTIVE_SECTION,\n    payload: sectionId\n  };\n}\n\nexport interface SetActiveEditionInterface {\n  type: CONFIG_ACTION_TYPES.SET_ACTIVE_EDITION;\n  payload: string;\n}\n\nexport function setActiveEdition(editionId: string): SetActiveEditionInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.SET_ACTIVE_EDITION,\n    payload: editionId\n  };\n}\n\nexport interface ToggleSideDrawerOpenInterface {\n  type: typeof CONFIG_ACTION_TYPES.TOGGLE_SIDE_DRAWER;\n}\n\nexport function toggleSideDrawer(): ToggleSideDrawerOpenInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.TOGGLE_SIDE_DRAWER\n  };\n}\n\nexport interface SetThemeInterface {\n  type: CONFIG_ACTION_TYPES.SET_THEME;\n  payload: ThemeTypes;\n}\n\nexport function setTheme(theme: ThemeTypes): SetThemeInterface {\n  return {\n    type: CONFIG_ACTION_TYPES.SET_THEME,\n    payload: theme\n  };\n}\n\nexport type ConfigActionInterfaces =\n  | SetOfflineModeInterface\n  | SetViewModeInterface\n  | SetAreaActionInterface\n  | SetActiveEditionInterface\n  | SetActiveArticleInterface\n  | SetActiveSectionInterface\n  | ToggleSideDrawerOpenInterface\n  | SetThemeInterface;\n","import React from \"react\";\nimport dlv from \"dlv\";\nimport SideDrawer from \"components/SideDrawer/SideDrawer\";\nimport { connect } from \"react-redux\";\nimport { hot } from \"react-hot-loader/root\";\nimport { ArticleCollectionView } from \"views/ArticleCollectionView\";\nimport { Header } from \"components/Header/Header\";\nimport { GlobalNavigation } from \"components/GlobalNavigation/GlobalNavigation\";\nimport { Themes, Areas, AreasTypes } from \"reducers/configReducer\";\nimport { StateInterface } from \"reducers/rootReducer\";\nimport { SECTIONS } from \"data/sections\";\nimport { ArticleType } from \"reducers/articleReducer\";\nimport \"./App.css\";\n\ninterface PropsInterface extends MapStateInterface {\n  area: AreasTypes;\n  activeArticle: string;\n  activeSection: string;\n  activeEdition: null | string;\n  isSearchOpen: boolean;\n  searchQuery: string | null;\n  isSingleArticle: boolean;\n}\n\nfunction App(props: PropsInterface): JSX.Element {\n  const {\n    area,\n    theme,\n    sectionName,\n    articles,\n    articleIndex,\n    activeEdition,\n    activeArticle,\n    activeSection,\n    isSearchOpen,\n    isSingleArticle\n  } = props;\n\n  return (\n    <div\n      className={`app base-theme ${theme === Themes.GREY && \"grey-box-theme\"}`}\n    >\n      <SideDrawer isOpen={isSearchOpen}>\n        <Header\n          showEditionInfo={area === Areas.EDITION}\n          editionId={activeEdition}\n          menuAction={(): void =>\n            history.pushState(null, \"\", `/${area}/${activeEdition}/search`)\n          }\n          showButton={true}\n          title={area === Areas.EDITION ? sectionName : area}\n        />\n        <GlobalNavigation\n          area={area}\n          activeEdition={activeEdition}\n          activeSection={activeSection}\n        />\n\n        <ArticleCollectionView\n          articles={articles}\n          activeArticle={activeArticle}\n          articleIndex={articleIndex}\n        />\n      </SideDrawer>\n    </div>\n  );\n}\n\ninterface MapStateInterface {\n  theme: string;\n  sectionName: string;\n  articleIndex: number;\n  articles: ArticleType[];\n}\n\nfunction mapStateToProps(\n  state: StateInterface,\n  ownProps: PropsInterface\n): MapStateInterface {\n  const {\n    activeSection,\n    activeEdition,\n    activeArticle,\n    isSingleArticle\n  } = ownProps;\n  const articleIds: string[] = isSingleArticle\n    ? [activeArticle]\n    : dlv(\n        state.editions,\n        `${activeEdition}.sections.${activeSection}.articles`,\n        []\n      );\n\n  const articles = articleIds\n    .map((id: string): ArticleType => state.articles[id])\n    .filter(Boolean);\n\n  const index = articles.findIndex(({ id }): boolean => id === activeArticle);\n\n  return {\n    articles,\n    articleIndex: index,\n    theme: state.config.theme,\n    sectionName: dlv(SECTIONS, `${activeSection}.text`, \"\")\n  };\n}\n\nexport default hot(connect(mapStateToProps)(App));\n","import {\n  ArticleCollectionInterface,\n  ArticleType\n} from \"reducers/articleReducer\";\nimport {\n  getArticle,\n  KeyedArticleResponseInterface\n} from \"services/content/contentProxy\";\n\nexport enum ActionTypeKey {\n  IMPORT_SECTION_ARTICLES = \"IMPORT_SECTION_ARTICLES\",\n  ADD_STORY = \"ADD_STORY\",\n  FETCH_ARTICLE = \"FETCH_ARTICLE\"\n}\n\nexport interface ImportSectionArticlesInterface {\n  type: ActionTypeKey.IMPORT_SECTION_ARTICLES;\n  payload: ArticleCollectionInterface;\n}\n\n/** Bulk import articles to the store */\nexport function importSectionArticlePreviews(\n  articles: KeyedArticleResponseInterface\n): ImportSectionArticlesInterface {\n  const updatedArticles = Object.values(articles).reduce(\n    (acc, article): ArticleCollectionInterface => {\n      return {\n        ...acc,\n        [article.id]: { ...article, hasRead: false, isFetching: false }\n      };\n    },\n    {}\n  );\n\n  return {\n    type: ActionTypeKey.IMPORT_SECTION_ARTICLES,\n    payload: updatedArticles\n  };\n}\n\nexport interface AddStoryInterface {\n  type: ActionTypeKey.ADD_STORY;\n  payload: ArticleType;\n}\n\n/** Add a single article to the story */\nexport function addStory(storyData: ArticleType): AddStoryInterface {\n  return {\n    type: ActionTypeKey.ADD_STORY,\n    payload: storyData\n  };\n}\n\ninterface FetchArticleInterface {\n  type: ActionTypeKey.FETCH_ARTICLE;\n  payload: {\n    data: ArticleType;\n    articleId: string;\n  };\n}\n\nexport function fetchArticle(\n  articleId: string,\n  articleUrl: string,\n  isOffline?: boolean\n): Function {\n  return (dispatch: Function): void => {\n    console.log(articleUrl);\n    getArticle(articleUrl, isOffline).then((articleData): void => {\n      dispatch({\n        type: ActionTypeKey.FETCH_ARTICLE,\n        payload: {\n          data: articleData,\n          articleId: articleId\n        }\n      });\n    });\n  };\n}\n\nexport type ArticleActionsInterface =\n  | AddStoryInterface\n  | ImportSectionArticlesInterface\n  | FetchArticleInterface;\n","import { importSectionArticlePreviews } from \"actions/ArticleActions\";\nimport { SECTIONS } from \"data/sections\";\nimport { getSection } from \"services/content/contentProxy\";\n\nexport enum EditionTypes {\n  LIVE = \"LIVE\",\n  DAILY = \"DAILY\"\n}\n\nexport interface PackageInterface {\n  id: string;\n  title: string | null;\n  url: string | null;\n  articles: string[];\n}\n\nexport interface EditionSectionInterface {\n  loaded: boolean;\n  fetching: boolean;\n  id: string;\n  packages: string[];\n  articles: string[];\n}\n\nexport interface EditionInterface {\n  readonly edition_id: string;\n  readonly published: string;\n  readonly last_updated: string;\n  readonly downloaded: boolean;\n  readonly downloading: boolean;\n  readonly download_progress: number;\n  readonly sections: {\n    readonly [id: string]: EditionSectionInterface;\n  };\n  readonly packages: { [id: string]: PackageInterface };\n  readonly type: keyof typeof EditionTypes;\n}\n\nexport enum EditionActionsTypes {\n  FETCHING_SECTION_CONTENT = \"FETCHING_SECTION_CONTENT\",\n  RECEIVED_SECTION_CONTENT = \"RECEIVED_SECTION_CONTENT\",\n  ADD_PACKAGES = \"ADD_PACKAGES\"\n}\n\nexport interface AddPackagesActionsInterface {\n  type: EditionActionsTypes.ADD_PACKAGES;\n  payload: {\n    sectionId: string;\n    editionId: string;\n    packages: PackageInterface[];\n  };\n}\n\nexport function addPackages(\n  sectionId: string,\n  editionId: string,\n  packages: PackageInterface[]\n): AddPackagesActionsInterface {\n  return {\n    type: EditionActionsTypes.ADD_PACKAGES,\n    payload: {\n      sectionId,\n      editionId,\n      packages\n    }\n  };\n}\n\nexport interface FetchingSectionContentInterface {\n  type: EditionActionsTypes.FETCHING_SECTION_CONTENT;\n  payload: {\n    sectionId: string;\n    editionId: string;\n  };\n}\nexport function fetchingSectionContent(\n  sectionId: string,\n  editionId: string\n): FetchingSectionContentInterface {\n  return {\n    type: EditionActionsTypes.FETCHING_SECTION_CONTENT,\n    payload: {\n      sectionId: sectionId,\n      editionId: editionId\n    }\n  };\n}\n\nexport interface ReceivedSectionContentInterface {\n  type: EditionActionsTypes.RECEIVED_SECTION_CONTENT;\n  payload: {\n    sectionId: string;\n    editionId: string;\n    articleIds: string[];\n  };\n}\n\nexport function receivedSectionContent(\n  sectionId: string,\n  editionId: string,\n  articleIds: string[]\n): ReceivedSectionContentInterface {\n  return {\n    type: EditionActionsTypes.RECEIVED_SECTION_CONTENT,\n    payload: {\n      sectionId: sectionId,\n      editionId: editionId,\n      articleIds\n    }\n  };\n}\n\nexport function loadSectionContent(\n  sectionId: string,\n  editionId: string,\n  isSpoofed?: boolean\n): Function {\n  return (dispatch: Function): void => {\n    const section = SECTIONS[sectionId];\n    if (!section) return;\n\n    const sectionURL = `https://www.telegraph.co.uk${section.href}/`;\n\n    dispatch(fetchingSectionContent(sectionId, editionId));\n    getSection(sectionURL, isSpoofed)\n      .then((jsonData): void => {\n        dispatch(\n          receivedSectionContent(\n            sectionId,\n            editionId,\n            Object.keys(jsonData.articles)\n          )\n        );\n\n        dispatch(importSectionArticlePreviews(jsonData.articles));\n        dispatch(addPackages(sectionId, editionId, jsonData.packages));\n      })\n      .catch((err): void => console.error(\"Error fetching section data\", err));\n  };\n}\n\nexport type EditionActionsInterfaces =\n  | FetchingSectionContentInterface\n  | AddPackagesActionsInterface\n  | ReceivedSectionContentInterface;\n","export enum VariantActions {\n  UPDATE_VARIANT = \"UPDATE_VARIANT\",\n  RESET_VARIANTS = \"RESET_VARIANTS\"\n}\n\nexport type VariantActionsTypes = keyof typeof VariantActions;\n\nexport interface UpdateVariantActionType {\n  type: VariantActionsTypes;\n  payload: {\n    id: string;\n    selected: string | number;\n  };\n}\nexport function updateVariantAction(\n  id: string,\n  selected: string\n): UpdateVariantActionType {\n  return {\n    type: VariantActions.UPDATE_VARIANT,\n    payload: {\n      id,\n      selected\n    }\n  };\n}\n\nexport function resetVariants(): { type: VariantActionsTypes } {\n  return {\n    type: VariantActions.RESET_VARIANTS\n  };\n}\n"],"sourceRoot":""}