@coorpacademy/player-web 3.19.36 → 3.19.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","names":["getCurrentChapter","getEngine","getLives","getCurrentContent","back","headerContent","engineRef","state","content","title","details","headerSubcontent","chapter","level","chapterIds","_id","length","headerProps","options","dispatch","engine","ref","hide","count","type","onClick","subcontent","lives","mode"],"sources":["../../src/map-state-to-props/header.js"],"sourcesContent":["import {get, getOr, indexOf} from 'lodash/fp';\nimport {\n getCurrentChapter,\n getEngine,\n getLives,\n getCurrentContent,\n back\n} from '@coorpacademy/player-store';\n\nconst headerContent = (engineRef, state) => {\n const content = getCurrentContent(state);\n\n switch (engineRef) {\n case 'learner':\n return {\n title: getOr('', 'name')(content),\n details: get('levelTranslation')(content)\n };\n case 'microlearning':\n default:\n return {\n title: getOr('', 'name')(content)\n };\n }\n};\n\nconst headerSubcontent = (engineRef, state) => {\n switch (engineRef) {\n case 'learner': {\n const chapter = getCurrentChapter(state);\n const level = getCurrentContent(state);\n const chapterIds = get('chapterIds', level);\n const details =\n chapter && chapterIds\n ? `${1 + indexOf(chapter._id, chapterIds)}/${chapterIds.length}`\n : null;\n\n return {\n title: getOr('', 'name', chapter),\n details\n };\n }\n case 'microlearning':\n default:\n return null;\n }\n};\n\nconst headerProps = (options, {dispatch}) => state => {\n const engine = getEngine(state);\n const {ref: engineRef} = engine;\n const {hide, count} = getLives(state);\n\n return {\n type: engineRef,\n content: {\n ...headerContent(engineRef, state),\n onClick: () => dispatch(back)\n },\n subcontent: headerSubcontent(engineRef, state),\n lives: hide ? false : {count},\n mode: options.mode || 'default'\n };\n};\n\nexport default headerProps;\n"],"mappings":";;;;;;AACA,SACEA,iBADF,EAEEC,SAFF,EAGEC,QAHF,EAIEC,iBAJF,EAKEC,IALF,QAMO,4BANP;;AAQA,MAAMC,aAAa,GAAG,CAACC,SAAD,EAAYC,KAAZ,KAAsB;EAC1C,MAAMC,OAAO,GAAGL,iBAAiB,CAACI,KAAD,CAAjC;;EAEA,QAAQD,SAAR;IACE,KAAK,SAAL;MACE,OAAO;QACLG,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB,CADF;QAELE,OAAO,EAAE,KAAI,kBAAJ,EAAwBF,OAAxB;MAFJ,CAAP;;IAIF,KAAK,eAAL;IACA;MACE,OAAO;QACLC,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB;MADF,CAAP;EARJ;AAYD,CAfD;;AAiBA,MAAMG,gBAAgB,GAAG,CAACL,SAAD,EAAYC,KAAZ,KAAsB;EAC7C,QAAQD,SAAR;IACE,KAAK,SAAL;MAAgB;QACd,MAAMM,OAAO,GAAGZ,iBAAiB,CAACO,KAAD,CAAjC;QACA,MAAMM,KAAK,GAAGV,iBAAiB,CAACI,KAAD,CAA/B;;QACA,MAAMO,UAAU,GAAG,KAAI,YAAJ,EAAkBD,KAAlB,CAAnB;;QACA,MAAMH,OAAO,GACXE,OAAO,IAAIE,UAAX,GACK,GAAE,IAAI,SAAQF,OAAO,CAACG,GAAhB,EAAqBD,UAArB,CAAiC,IAAGA,UAAU,CAACE,MAAO,EADjE,GAEI,IAHN;QAKA,OAAO;UACLP,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBG,OAAlB,CADF;UAELF;QAFK,CAAP;MAID;;IACD,KAAK,eAAL;IACA;MACE,OAAO,IAAP;EAjBJ;AAmBD,CApBD;;AAsBA,MAAMO,WAAW,GAAG,CAACC,OAAD,EAAU;EAACC;AAAD,CAAV,KAAyBZ,KAAK,IAAI;EACpD,MAAMa,MAAM,GAAGnB,SAAS,CAACM,KAAD,CAAxB;EACA,MAAM;IAACc,GAAG,EAAEf;EAAN,IAAmBc,MAAzB;EACA,MAAM;IAACE,IAAD;IAAOC;EAAP,IAAgBrB,QAAQ,CAACK,KAAD,CAA9B;EAEA,OAAO;IACLiB,IAAI,EAAElB,SADD;IAELE,OAAO,eACFH,aAAa,CAACC,SAAD,EAAYC,KAAZ,CADX;MAELkB,OAAO,EAAE,MAAMN,QAAQ,CAACf,IAAD;IAFlB,EAFF;IAMLsB,UAAU,EAAEf,gBAAgB,CAACL,SAAD,EAAYC,KAAZ,CANvB;IAOLoB,KAAK,EAAEL,IAAI,GAAG,KAAH,GAAW;MAACC;IAAD,CAPjB;IAQLK,IAAI,EAAEV,OAAO,CAACU,IAAR,IAAgB;EARjB,CAAP;AAUD,CAfD;;AAiBA,eAAeX,WAAf"}
1
+ {"version":3,"file":"header.js","names":["getCurrentChapter","getEngine","getLives","getCurrentContent","back","headerContent","engineRef","state","content","title","details","headerSubcontent","chapter","level","chapterIds","_id","length","headerProps","options","dispatch","engine","ref","hide","count","type","onClick","subcontent","lives","mode"],"sources":["../../src/map-state-to-props/header.js"],"sourcesContent":["import {get, getOr, indexOf} from 'lodash/fp';\nimport {\n getCurrentChapter,\n getEngine,\n getLives,\n getCurrentContent,\n back\n} from '@coorpacademy/player-store';\n\nconst headerContent = (engineRef, state) => {\n const content = getCurrentContent(state);\n\n switch (engineRef) {\n case 'learner':\n return {\n title: getOr('', 'name')(content),\n details: get('levelTranslation')(content)\n };\n case 'microlearning':\n default:\n return {\n title: getOr('', 'name')(content)\n };\n }\n};\n\nconst headerSubcontent = (engineRef, state) => {\n switch (engineRef) {\n case 'learner': {\n const chapter = getCurrentChapter(state);\n const level = getCurrentContent(state);\n const chapterIds = get('chapterIds', level);\n const details =\n chapter && chapterIds\n ? `${1 + indexOf(chapter._id, chapterIds)}/${chapterIds.length}`\n : null;\n\n return {\n title: getOr('', 'name', chapter),\n details\n };\n }\n case 'microlearning':\n default:\n return null;\n }\n};\n\nconst headerProps =\n (options, {dispatch}) =>\n state => {\n const engine = getEngine(state);\n const {ref: engineRef} = engine;\n const {hide, count} = getLives(state);\n\n return {\n type: engineRef,\n content: {\n ...headerContent(engineRef, state),\n onClick: () => dispatch(back)\n },\n subcontent: headerSubcontent(engineRef, state),\n lives: hide ? false : {count},\n mode: options.mode || 'default'\n };\n };\n\nexport default headerProps;\n"],"mappings":";;;;;;AACA,SACEA,iBADF,EAEEC,SAFF,EAGEC,QAHF,EAIEC,iBAJF,EAKEC,IALF,QAMO,4BANP;;AAQA,MAAMC,aAAa,GAAG,CAACC,SAAD,EAAYC,KAAZ,KAAsB;EAC1C,MAAMC,OAAO,GAAGL,iBAAiB,CAACI,KAAD,CAAjC;;EAEA,QAAQD,SAAR;IACE,KAAK,SAAL;MACE,OAAO;QACLG,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB,CADF;QAELE,OAAO,EAAE,KAAI,kBAAJ,EAAwBF,OAAxB;MAFJ,CAAP;;IAIF,KAAK,eAAL;IACA;MACE,OAAO;QACLC,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBD,OAAlB;MADF,CAAP;EARJ;AAYD,CAfD;;AAiBA,MAAMG,gBAAgB,GAAG,CAACL,SAAD,EAAYC,KAAZ,KAAsB;EAC7C,QAAQD,SAAR;IACE,KAAK,SAAL;MAAgB;QACd,MAAMM,OAAO,GAAGZ,iBAAiB,CAACO,KAAD,CAAjC;QACA,MAAMM,KAAK,GAAGV,iBAAiB,CAACI,KAAD,CAA/B;;QACA,MAAMO,UAAU,GAAG,KAAI,YAAJ,EAAkBD,KAAlB,CAAnB;;QACA,MAAMH,OAAO,GACXE,OAAO,IAAIE,UAAX,GACK,GAAE,IAAI,SAAQF,OAAO,CAACG,GAAhB,EAAqBD,UAArB,CAAiC,IAAGA,UAAU,CAACE,MAAO,EADjE,GAEI,IAHN;QAKA,OAAO;UACLP,KAAK,EAAE,OAAM,EAAN,EAAU,MAAV,EAAkBG,OAAlB,CADF;UAELF;QAFK,CAAP;MAID;;IACD,KAAK,eAAL;IACA;MACE,OAAO,IAAP;EAjBJ;AAmBD,CApBD;;AAsBA,MAAMO,WAAW,GACf,CAACC,OAAD,EAAU;EAACC;AAAD,CAAV,KACAZ,KAAK,IAAI;EACP,MAAMa,MAAM,GAAGnB,SAAS,CAACM,KAAD,CAAxB;EACA,MAAM;IAACc,GAAG,EAAEf;EAAN,IAAmBc,MAAzB;EACA,MAAM;IAACE,IAAD;IAAOC;EAAP,IAAgBrB,QAAQ,CAACK,KAAD,CAA9B;EAEA,OAAO;IACLiB,IAAI,EAAElB,SADD;IAELE,OAAO,eACFH,aAAa,CAACC,SAAD,EAAYC,KAAZ,CADX;MAELkB,OAAO,EAAE,MAAMN,QAAQ,CAACf,IAAD;IAFlB,EAFF;IAMLsB,UAAU,EAAEf,gBAAgB,CAACL,SAAD,EAAYC,KAAZ,CANvB;IAOLoB,KAAK,EAAEL,IAAI,GAAG,KAAH,GAAW;MAACC;IAAD,CAPjB;IAQLK,IAAI,EAAEV,OAAO,CAACU,IAAR,IAAgB;EARjB,CAAP;AAUD,CAjBH;;AAmBA,eAAeX,WAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"popin-correction.js","names":["acceptExtraLife","getCurrentCorrection","getCurrentProgression","getCurrentProgressionId","getCurrentSlide","getEngineConfig","getLives","getPreviousSlide","hasViewedAResourceAtThisStep","openAssistance","refuseExtraLife","selectProgression","toggleAccordion","getResourcesProps","mapStateToErrorPopinProps","isNewChapter","state","progression","content","type","nextContent","currentSlide","currentChapterId","previousSlide","previousChapterId","getNextChapterTitle","levelId","chapterIds","undefined","currentChapterName","indexChapter","length","getNextStepTitle","extraLifeCTAProps","translate","dispatch","progressionId","isRevival","updateProgression","title","onClick","noExtraLifeCTAProps","isDead","lives","chapterTitle","ctaProps","nextStepTitle","createHeaderCTA","options","store","extraLifeCTAProps_","noExtraLifeCTAProps_","isExtraLifeActive","openPopinAssistance","popinCorrectionStateToProps","getResourcesProps_","createHeaderCTA_","toggleAccordionSection","sectionId","slide","engineConfig","isExtraLifeAvailable","remainingLifeRequests","accordion","correction","correctAnswer","corrections","isCorrect","isLoading","extraLifeGranted","mayAcceptExtraLife","noMoreExtraLife","hide","count","header","subtitle","failed","question","answerPrefix","answer","resources","cta","gameOver","popinError","overlay","text","lifeAmount","quit","value","open","klf","tips","assistanceLink"],"sources":["../../src/map-state-to-props/popin-correction.js"],"sourcesContent":["import {assign, getOr, get, isNil, join, indexOf, omitBy, isUndefined, includes} from 'lodash/fp';\n\nimport {\n acceptExtraLife,\n getCurrentCorrection,\n getCurrentProgression,\n getCurrentProgressionId,\n getCurrentSlide,\n getEngineConfig,\n getLives,\n getPreviousSlide,\n hasViewedAResourceAtThisStep,\n openAssistance,\n refuseExtraLife,\n selectProgression,\n toggleAccordion\n} from '@coorpacademy/player-store';\n\nimport getResourcesProps from './resources';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst isNewChapter = (state, progression) => {\n if (\n progression.content.type !== 'level' ||\n includes(progression.state.nextContent.type, ['success', 'failure'])\n ) {\n return false;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const previousSlide = getPreviousSlide(state);\n const previousChapterId = get('chapter_id', previousSlide);\n return previousChapterId !== currentChapterId;\n};\n\nconst getNextChapterTitle = (state, progression) => {\n const levelId = get('content.ref', progression);\n const chapterIds = get(['data', 'contents', 'level', 'entities', levelId, 'chapterIds'], state);\n if (!chapterIds) {\n return undefined;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const currentChapterName = get(\n ['data', 'contents', 'chapter', 'entities', currentChapterId, 'name'],\n state\n );\n if (!currentChapterName) {\n return undefined;\n }\n const indexChapter = indexOf(currentChapterId, chapterIds) + 1;\n return `${indexChapter}/${chapterIds.length} ${currentChapterName}`;\n};\n\nconst getNextStepTitle = state => {\n const progression = getCurrentProgression(state);\n return isNewChapter(state, progression) ? getNextChapterTitle(state, progression) : undefined;\n};\n\nconst extraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const isRevival = hasViewedAResourceAtThisStep(state);\n const updateProgression = isRevival ? acceptExtraLife : refuseExtraLife;\n\n return {\n title: translate(isRevival ? 'Next' : 'Quit'),\n onClick: () => dispatch(updateProgression(progressionId))\n };\n};\n\nconst noExtraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progression = getCurrentProgression(state);\n const progressionId = getCurrentProgressionId(state);\n const isDead = progression.state.lives === 0;\n const chapterTitle = isNewChapter(state, progression)\n ? translate('Next chapter')\n : translate('Next');\n\n const ctaProps = {\n title: isDead ? translate('Game over') : chapterTitle,\n onClick: () => dispatch(selectProgression(progressionId)),\n nextStepTitle: isDead ? translate('Click to continue') : getNextStepTitle(state)\n };\n\n return omitBy(isUndefined, ctaProps);\n};\n\nexport const createHeaderCTA = (options, store) => {\n const extraLifeCTAProps_ = extraLifeCTAProps(options, store);\n const noExtraLifeCTAProps_ = noExtraLifeCTAProps(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const ctaProps = isExtraLifeActive ? extraLifeCTAProps_ : noExtraLifeCTAProps_;\n const {title, onClick, nextStepTitle} = ctaProps(state);\n\n return omitBy(isUndefined, {\n title,\n onClick,\n nextStepTitle\n });\n };\n};\n\nexport const openPopinAssistance = (dispatch, progression) => () =>\n dispatch(openAssistance(progression));\n\nexport const popinCorrectionStateToProps = (options, store) => {\n const getResourcesProps_ = getResourcesProps(options, store);\n const createHeaderCTA_ = createHeaderCTA(options, store);\n\n return state => {\n const {translate} = options;\n const {dispatch} = store;\n const toggleAccordionSection = sectionId => dispatch(toggleAccordion(sectionId));\n const slide = getPreviousSlide(state);\n const engineConfig = getEngineConfig(state);\n const progression = getCurrentProgression(state);\n const isExtraLifeAvailable = get('remainingLifeRequests', engineConfig) > 0;\n const remainingLifeRequests = get('state.remainingLifeRequests', progression);\n const accordion = get('ui.corrections.accordion', state);\n const correction = getCurrentCorrection(state);\n const correctAnswer = correction.correctAnswer;\n const corrections = correction.corrections;\n const isCorrect = corrections.length === 0 ? null : get('state.isCorrect')(progression);\n const isLoading = isNil(isCorrect);\n\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const extraLifeGranted = isExtraLifeActive && hasViewedAResourceAtThisStep(state);\n const mayAcceptExtraLife = isExtraLifeActive && !extraLifeGranted;\n const noMoreExtraLife = isExtraLifeAvailable && !isCorrect && remainingLifeRequests === 0;\n const {hide, count: lives} = getLives(state);\n const header = isLoading\n ? {}\n : {\n title: translate(isCorrect ? 'Good job' : 'Ouch'),\n subtitle: translate(isCorrect ? 'Good answer' : 'Wrong answer'),\n failed: !isCorrect,\n lives: hide ? null : lives\n };\n const question = {\n header: getOr('', 'question.header', slide),\n answerPrefix: translate('Correct answer'),\n answer: join(', ', correctAnswer)\n };\n\n const resources = getResourcesProps_(state, slide);\n\n return {\n header: isLoading\n ? {type: 'popinCorrection'}\n : assign(\n {\n type: 'popinCorrection',\n lives: 1,\n title: '',\n subtitle: '',\n corrections,\n cta: !mayAcceptExtraLife ? createHeaderCTA_(state) : undefined\n },\n header\n ),\n gameOver: noMoreExtraLife,\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n overlay: mayAcceptExtraLife\n ? {\n title: translate('Bonus!'),\n text: translate('Get an extra life by viewing the lesson'),\n lifeAmount: 1\n }\n : undefined,\n extraLifeGranted,\n quit: mayAcceptExtraLife\n ? {\n cta: createHeaderCTA_(state)\n }\n : undefined,\n question,\n resources: {\n title: translate('Access the lesson'),\n value: resources,\n open: getOr(false, '0', accordion)\n },\n klf: {\n title: translate('Key point'),\n value: getOr('', 'klf', slide),\n open: getOr(false, '1', accordion)\n },\n tips: {\n title: translate('Did you know that?'),\n value: getOr('', 'tips', slide),\n open: getOr(false, '2', accordion)\n },\n onClick: toggleAccordionSection,\n assistanceLink: {\n title: translate('Need help? Found a bug? Report it here'),\n onClick: openPopinAssistance(dispatch, progression)\n }\n };\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"popin-correction.js","names":["acceptExtraLife","getCurrentCorrection","getCurrentProgression","getCurrentProgressionId","getCurrentSlide","getEngineConfig","getLives","getPreviousSlide","hasViewedAResourceAtThisStep","openAssistance","refuseExtraLife","selectProgression","toggleAccordion","getResourcesProps","mapStateToErrorPopinProps","isNewChapter","state","progression","content","type","nextContent","currentSlide","currentChapterId","previousSlide","previousChapterId","getNextChapterTitle","levelId","chapterIds","undefined","currentChapterName","indexChapter","length","getNextStepTitle","extraLifeCTAProps","translate","dispatch","progressionId","isRevival","updateProgression","title","onClick","noExtraLifeCTAProps","isDead","lives","chapterTitle","ctaProps","nextStepTitle","createHeaderCTA","options","store","extraLifeCTAProps_","noExtraLifeCTAProps_","isExtraLifeActive","openPopinAssistance","popinCorrectionStateToProps","getResourcesProps_","createHeaderCTA_","toggleAccordionSection","sectionId","slide","engineConfig","isExtraLifeAvailable","remainingLifeRequests","accordion","correction","correctAnswer","corrections","isCorrect","isLoading","extraLifeGranted","mayAcceptExtraLife","noMoreExtraLife","hide","count","header","subtitle","failed","question","answerPrefix","answer","resources","cta","gameOver","popinError","overlay","text","lifeAmount","quit","value","open","klf","tips","assistanceLink"],"sources":["../../src/map-state-to-props/popin-correction.js"],"sourcesContent":["import {assign, getOr, get, isNil, join, indexOf, omitBy, isUndefined, includes} from 'lodash/fp';\n\nimport {\n acceptExtraLife,\n getCurrentCorrection,\n getCurrentProgression,\n getCurrentProgressionId,\n getCurrentSlide,\n getEngineConfig,\n getLives,\n getPreviousSlide,\n hasViewedAResourceAtThisStep,\n openAssistance,\n refuseExtraLife,\n selectProgression,\n toggleAccordion\n} from '@coorpacademy/player-store';\n\nimport getResourcesProps from './resources';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst isNewChapter = (state, progression) => {\n if (\n progression.content.type !== 'level' ||\n includes(progression.state.nextContent.type, ['success', 'failure'])\n ) {\n return false;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const previousSlide = getPreviousSlide(state);\n const previousChapterId = get('chapter_id', previousSlide);\n return previousChapterId !== currentChapterId;\n};\n\nconst getNextChapterTitle = (state, progression) => {\n const levelId = get('content.ref', progression);\n const chapterIds = get(['data', 'contents', 'level', 'entities', levelId, 'chapterIds'], state);\n if (!chapterIds) {\n return undefined;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const currentChapterName = get(\n ['data', 'contents', 'chapter', 'entities', currentChapterId, 'name'],\n state\n );\n if (!currentChapterName) {\n return undefined;\n }\n const indexChapter = indexOf(currentChapterId, chapterIds) + 1;\n return `${indexChapter}/${chapterIds.length} ${currentChapterName}`;\n};\n\nconst getNextStepTitle = state => {\n const progression = getCurrentProgression(state);\n return isNewChapter(state, progression) ? getNextChapterTitle(state, progression) : undefined;\n};\n\nconst extraLifeCTAProps =\n ({translate}, {dispatch}) =>\n state => {\n const progressionId = getCurrentProgressionId(state);\n const isRevival = hasViewedAResourceAtThisStep(state);\n const updateProgression = isRevival ? acceptExtraLife : refuseExtraLife;\n\n return {\n title: translate(isRevival ? 'Next' : 'Quit'),\n onClick: () => dispatch(updateProgression(progressionId))\n };\n };\n\nconst noExtraLifeCTAProps =\n ({translate}, {dispatch}) =>\n state => {\n const progression = getCurrentProgression(state);\n const progressionId = getCurrentProgressionId(state);\n const isDead = progression.state.lives === 0;\n const chapterTitle = isNewChapter(state, progression)\n ? translate('Next chapter')\n : translate('Next');\n\n const ctaProps = {\n title: isDead ? translate('Game over') : chapterTitle,\n onClick: () => dispatch(selectProgression(progressionId)),\n nextStepTitle: isDead ? translate('Click to continue') : getNextStepTitle(state)\n };\n\n return omitBy(isUndefined, ctaProps);\n };\n\nexport const createHeaderCTA = (options, store) => {\n const extraLifeCTAProps_ = extraLifeCTAProps(options, store);\n const noExtraLifeCTAProps_ = noExtraLifeCTAProps(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const ctaProps = isExtraLifeActive ? extraLifeCTAProps_ : noExtraLifeCTAProps_;\n const {title, onClick, nextStepTitle} = ctaProps(state);\n\n return omitBy(isUndefined, {\n title,\n onClick,\n nextStepTitle\n });\n };\n};\n\nexport const openPopinAssistance = (dispatch, progression) => () =>\n dispatch(openAssistance(progression));\n\nexport const popinCorrectionStateToProps = (options, store) => {\n const getResourcesProps_ = getResourcesProps(options, store);\n const createHeaderCTA_ = createHeaderCTA(options, store);\n\n return state => {\n const {translate} = options;\n const {dispatch} = store;\n const toggleAccordionSection = sectionId => dispatch(toggleAccordion(sectionId));\n const slide = getPreviousSlide(state);\n const engineConfig = getEngineConfig(state);\n const progression = getCurrentProgression(state);\n const isExtraLifeAvailable = get('remainingLifeRequests', engineConfig) > 0;\n const remainingLifeRequests = get('state.remainingLifeRequests', progression);\n const accordion = get('ui.corrections.accordion', state);\n const correction = getCurrentCorrection(state);\n const correctAnswer = correction.correctAnswer;\n const corrections = correction.corrections;\n const isCorrect = corrections.length === 0 ? null : get('state.isCorrect')(progression);\n const isLoading = isNil(isCorrect);\n\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const extraLifeGranted = isExtraLifeActive && hasViewedAResourceAtThisStep(state);\n const mayAcceptExtraLife = isExtraLifeActive && !extraLifeGranted;\n const noMoreExtraLife = isExtraLifeAvailable && !isCorrect && remainingLifeRequests === 0;\n const {hide, count: lives} = getLives(state);\n const header = isLoading\n ? {}\n : {\n title: translate(isCorrect ? 'Good job' : 'Ouch'),\n subtitle: translate(isCorrect ? 'Good answer' : 'Wrong answer'),\n failed: !isCorrect,\n lives: hide ? null : lives\n };\n const question = {\n header: getOr('', 'question.header', slide),\n answerPrefix: translate('Correct answer'),\n answer: join(', ', correctAnswer)\n };\n\n const resources = getResourcesProps_(state, slide);\n\n return {\n header: isLoading\n ? {type: 'popinCorrection'}\n : assign(\n {\n type: 'popinCorrection',\n lives: 1,\n title: '',\n subtitle: '',\n corrections,\n cta: !mayAcceptExtraLife ? createHeaderCTA_(state) : undefined\n },\n header\n ),\n gameOver: noMoreExtraLife,\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n overlay: mayAcceptExtraLife\n ? {\n title: translate('Bonus!'),\n text: translate('Get an extra life by viewing the lesson'),\n lifeAmount: 1\n }\n : undefined,\n extraLifeGranted,\n quit: mayAcceptExtraLife\n ? {\n cta: createHeaderCTA_(state)\n }\n : undefined,\n question,\n resources: {\n title: translate('Access the lesson'),\n value: resources,\n open: getOr(false, '0', accordion)\n },\n klf: {\n title: translate('Key point'),\n value: getOr('', 'klf', slide),\n open: getOr(false, '1', accordion)\n },\n tips: {\n title: translate('Did you know that?'),\n value: getOr('', 'tips', slide),\n open: getOr(false, '2', accordion)\n },\n onClick: toggleAccordionSection,\n assistanceLink: {\n title: translate('Need help? Found a bug? Report it here'),\n onClick: openPopinAssistance(dispatch, progression)\n }\n };\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"popin-end.js","names":["editComment","exit","getBestScore","getCurrentContent","getCurrentExitNode","getCurrentProgression","getCurrentProgressionId","getEndRank","getLives","getNextContent","getRecommendations","getStartRank","isCommentSent","isCurrentEngineLearner","isCurrentEngineMicrolearning","nextLevel","openRecommendation","postComment","retry","seeComment","getRedirectURLAfterEnd","headerProps","mapStateToErrorPopinProps","extractRank","state","start","end","sign","diff","Math","abs","extractStars","progression","stars","bestScore","comment","translate","dispatch","progressionId","content","message","isSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","edition","title","value","postDisabled","onChange","target","onPost","ctaForFail","redirection","href","summaryHeader","hide","count","lives","successCta","level","_nextLevel","showNextLevel","type","subtitle","failed","rank","cta","extractRecommendation","_recommendations","hasRecommendations","recommendations","recommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","popinEndStateToProps","options","store","headerProps_","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","canPostAComment","footer","props","header","mode","popinError","summary","action","feedback"],"sources":["../../src/map-state-to-props/popin-end.js"],"sourcesContent":["import {\n cond,\n constant,\n get,\n getOr,\n isArray,\n isEqual,\n isEmpty,\n map,\n pick,\n pipe,\n omit,\n isNull\n} from 'lodash/fp';\n\nimport {\n editComment,\n exit,\n getBestScore,\n getCurrentContent,\n getCurrentExitNode,\n getCurrentProgression,\n getCurrentProgressionId,\n getEndRank,\n getLives,\n getNextContent,\n getRecommendations,\n getStartRank,\n isCommentSent,\n isCurrentEngineLearner,\n isCurrentEngineMicrolearning,\n nextLevel,\n openRecommendation,\n postComment,\n retry,\n seeComment,\n getRedirectURLAfterEnd\n} from '@coorpacademy/player-store';\nimport headerProps from './header';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst extractRank = state => {\n const start = getStartRank(state);\n const end = getEndRank(state);\n\n if (start === end) {\n return null;\n } else {\n const sign = end - start > 0 ? '-' : '+';\n const diff = Math.abs(end - start);\n return `${sign}${diff}`;\n }\n};\n\nconst extractStars = state => {\n const progression = getCurrentProgression(state);\n const stars = get('state.stars')(progression);\n const bestScore = getBestScore(state);\n\n return stars > bestScore ? `+${stars - bestScore}` : '+0';\n};\n\nconst comment = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const content = getCurrentContent(state);\n const message = get('ui.comments.text', state);\n return {\n isSent: isCommentSent(state),\n confirmation: {\n commentSectionTitle: translate('Thank you for your review!'),\n confirmationLinkText: translate('See your comment and those of your peers'),\n onClick: e => dispatch(seeComment)\n },\n edition: {\n title: translate('Share your opinion on this course'),\n value: get('ui.comments.text', state),\n postDisabled: isEmpty(get('ui.comments.text', state)),\n onChange: e => dispatch(editComment(e.target.value)),\n onPost: e => dispatch(postComment(progressionId, content, message))\n }\n };\n};\n\nconst ctaForFail = (redirection, translate, dispatch, state) => {\n if (redirection) {\n return {\n href: redirection,\n title: translate('Click to continue')\n };\n }\n\n return {\n onClick: () => dispatch(retry),\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level')\n };\n};\n\nconst summaryHeader = ({translate}, {dispatch}) => state => {\n const {hide, count} = getLives(state);\n const lives = hide ? null : count;\n\n let successCta = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const redirection = getRedirectURLAfterEnd(state);\n if (redirection) {\n successCta = {\n title: translate('Click to continue'),\n href: redirection\n };\n }\n\n if (isCurrentEngineLearner(state) && !redirection) {\n const level = get('level', getCurrentContent(state));\n if (level === 'advanced' || level === 'base') {\n const _nextLevel = getNextContent(state);\n if (_nextLevel) {\n successCta = {\n title: translate('Next level'),\n onClick: () => dispatch(nextLevel),\n showNextLevel: true\n };\n }\n }\n }\n\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => ({\n type: 'popinEnd',\n title: getOr('', 'name')(getCurrentContent(state)),\n subtitle: translate('Congratulations!'),\n failed: false,\n stars: extractStars(state),\n rank: extractRank(state),\n cta: successCta\n })\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => ({\n type: 'popinEnd',\n title: translate('Ooops'),\n subtitle: lives === 0 ? translate('You are out of lives!') : translate('Nice try!'),\n failed: true,\n lives,\n rank: extractRank(state),\n stars: null,\n cta: ctaForFail(redirection, translate, dispatch, state)\n })\n ],\n [constant(true), constant({type: 'popinEnd'})]\n ]);\n};\n\nconst extractRecommendation = ({translate}, {dispatch}) => state => {\n const _recommendations = getRecommendations(state);\n const hasRecommendations = isNull(_recommendations) || isArray(_recommendations);\n\n if (!hasRecommendations) {\n return null;\n }\n\n const recommendations = map(\n recommendation => ({\n ...recommendation,\n onClick: () => dispatch(openRecommendation(recommendation))\n }),\n _recommendations\n );\n\n return {\n title: translate('Related subjects'),\n cards: recommendations\n };\n};\n\nconst extractAction = ({translate}, {dispatch}) => state => {\n const nextContent = getNextContent(state);\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => {\n if (get('nextContentType', nextContent) === 'chapter') {\n return {\n type: 'nextCourse',\n description: translate('Check out the next chapter in this course!'),\n prefix: translate('Next chapter_'),\n ...nextContent\n };\n } else if (nextContent) {\n // then it is a level\n const {name, levelTranslation} = nextContent;\n return {\n type: 'simple',\n prefix: translate('Next level_'),\n title: `${name} - ${levelTranslation}`,\n button: {\n title: translate('Next level'),\n href: null,\n onClick: () => dispatch(nextLevel)\n }\n };\n }\n }\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => {\n const currentContent = getCurrentContent(state);\n let title = getOr('', 'name', currentContent);\n if (isCurrentEngineLearner(state)) {\n title = `${getOr('', 'name', currentContent)} - ${getOr(\n '',\n 'levelTranslation',\n currentContent\n )}`;\n }\n return {\n type: 'simple',\n prefix: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter_')\n : translate('Retry level_'),\n title,\n button: {\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level'),\n onClick: () => dispatch(retry)\n }\n };\n }\n ],\n [constant(true), constant(null)]\n ]);\n};\n\nconst extractFeedback = pipe(\n pick(['title', 'description', 'media', 'mediaDescription']),\n omit(['media.ref', 'media.subtitles', 'media.posters'])\n);\n\nconst popinEndStateToProps = (options, store) => {\n const headerProps_ = headerProps(options, store);\n const summaryHeader_ = summaryHeader(options, store);\n const extractAction_ = extractAction(options, store);\n const extractRecommendation_ = extractRecommendation(options, store);\n const comment_ = comment(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n\n const {translate} = options;\n const {dispatch} = store;\n\n const exitNode = getCurrentExitNode(state);\n\n const canPostAComment =\n get('type', exitNode) === 'success' && get('engine.ref', progression) === 'learner';\n\n const footer = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const props = {\n header: headerProps_(state),\n mode: options.mode || 'default',\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n summary: {\n header: summaryHeader_(state)(exitNode),\n action: extractAction_(state)(exitNode),\n feedback: extractFeedback(exitNode),\n recommendation: extractRecommendation_(state),\n comment: canPostAComment ? comment_(state) : null,\n footer\n }\n };\n\n return props;\n };\n};\n\nexport default popinEndStateToProps;\n"],"mappings":"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"}
1
+ {"version":3,"file":"popin-end.js","names":["editComment","exit","getBestScore","getCurrentContent","getCurrentExitNode","getCurrentProgression","getCurrentProgressionId","getEndRank","getLives","getNextContent","getRecommendations","getStartRank","isCommentSent","isCurrentEngineLearner","isCurrentEngineMicrolearning","nextLevel","openRecommendation","postComment","retry","seeComment","getRedirectURLAfterEnd","headerProps","mapStateToErrorPopinProps","extractRank","state","start","end","sign","diff","Math","abs","extractStars","progression","stars","bestScore","comment","translate","dispatch","progressionId","content","message","isSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","edition","title","value","postDisabled","onChange","target","onPost","ctaForFail","redirection","href","summaryHeader","hide","count","lives","successCta","level","_nextLevel","showNextLevel","type","subtitle","failed","rank","cta","extractRecommendation","_recommendations","hasRecommendations","recommendations","recommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","popinEndStateToProps","options","store","headerProps_","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","canPostAComment","footer","props","header","mode","popinError","summary","action","feedback"],"sources":["../../src/map-state-to-props/popin-end.js"],"sourcesContent":["import {\n cond,\n constant,\n get,\n getOr,\n isArray,\n isEqual,\n isEmpty,\n map,\n pick,\n pipe,\n omit,\n isNull\n} from 'lodash/fp';\n\nimport {\n editComment,\n exit,\n getBestScore,\n getCurrentContent,\n getCurrentExitNode,\n getCurrentProgression,\n getCurrentProgressionId,\n getEndRank,\n getLives,\n getNextContent,\n getRecommendations,\n getStartRank,\n isCommentSent,\n isCurrentEngineLearner,\n isCurrentEngineMicrolearning,\n nextLevel,\n openRecommendation,\n postComment,\n retry,\n seeComment,\n getRedirectURLAfterEnd\n} from '@coorpacademy/player-store';\nimport headerProps from './header';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst extractRank = state => {\n const start = getStartRank(state);\n const end = getEndRank(state);\n\n if (start === end) {\n return null;\n } else {\n const sign = end - start > 0 ? '-' : '+';\n const diff = Math.abs(end - start);\n return `${sign}${diff}`;\n }\n};\n\nconst extractStars = state => {\n const progression = getCurrentProgression(state);\n const stars = get('state.stars')(progression);\n const bestScore = getBestScore(state);\n\n return stars > bestScore ? `+${stars - bestScore}` : '+0';\n};\n\nconst comment =\n ({translate}, {dispatch}) =>\n state => {\n const progressionId = getCurrentProgressionId(state);\n const content = getCurrentContent(state);\n const message = get('ui.comments.text', state);\n return {\n isSent: isCommentSent(state),\n confirmation: {\n commentSectionTitle: translate('Thank you for your review!'),\n confirmationLinkText: translate('See your comment and those of your peers'),\n onClick: e => dispatch(seeComment)\n },\n edition: {\n title: translate('Share your opinion on this course'),\n value: get('ui.comments.text', state),\n postDisabled: isEmpty(get('ui.comments.text', state)),\n onChange: e => dispatch(editComment(e.target.value)),\n onPost: e => dispatch(postComment(progressionId, content, message))\n }\n };\n };\n\nconst ctaForFail = (redirection, translate, dispatch, state) => {\n if (redirection) {\n return {\n href: redirection,\n title: translate('Click to continue')\n };\n }\n\n return {\n onClick: () => dispatch(retry),\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level')\n };\n};\n\nconst summaryHeader =\n ({translate}, {dispatch}) =>\n state => {\n const {hide, count} = getLives(state);\n const lives = hide ? null : count;\n\n let successCta = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const redirection = getRedirectURLAfterEnd(state);\n if (redirection) {\n successCta = {\n title: translate('Click to continue'),\n href: redirection\n };\n }\n\n if (isCurrentEngineLearner(state) && !redirection) {\n const level = get('level', getCurrentContent(state));\n if (level === 'advanced' || level === 'base') {\n const _nextLevel = getNextContent(state);\n if (_nextLevel) {\n successCta = {\n title: translate('Next level'),\n onClick: () => dispatch(nextLevel),\n showNextLevel: true\n };\n }\n }\n }\n\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => ({\n type: 'popinEnd',\n title: getOr('', 'name')(getCurrentContent(state)),\n subtitle: translate('Congratulations!'),\n failed: false,\n stars: extractStars(state),\n rank: extractRank(state),\n cta: successCta\n })\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => ({\n type: 'popinEnd',\n title: translate('Ooops'),\n subtitle: lives === 0 ? translate('You are out of lives!') : translate('Nice try!'),\n failed: true,\n lives,\n rank: extractRank(state),\n stars: null,\n cta: ctaForFail(redirection, translate, dispatch, state)\n })\n ],\n [constant(true), constant({type: 'popinEnd'})]\n ]);\n };\n\nconst extractRecommendation =\n ({translate}, {dispatch}) =>\n state => {\n const _recommendations = getRecommendations(state);\n const hasRecommendations = isNull(_recommendations) || isArray(_recommendations);\n\n if (!hasRecommendations) {\n return null;\n }\n\n const recommendations = map(\n recommendation => ({\n ...recommendation,\n onClick: () => dispatch(openRecommendation(recommendation))\n }),\n _recommendations\n );\n\n return {\n title: translate('Related subjects'),\n cards: recommendations\n };\n };\n\nconst extractAction =\n ({translate}, {dispatch}) =>\n state => {\n const nextContent = getNextContent(state);\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => {\n if (get('nextContentType', nextContent) === 'chapter') {\n return {\n type: 'nextCourse',\n description: translate('Check out the next chapter in this course!'),\n prefix: translate('Next chapter_'),\n ...nextContent\n };\n } else if (nextContent) {\n // then it is a level\n const {name, levelTranslation} = nextContent;\n return {\n type: 'simple',\n prefix: translate('Next level_'),\n title: `${name} - ${levelTranslation}`,\n button: {\n title: translate('Next level'),\n href: null,\n onClick: () => dispatch(nextLevel)\n }\n };\n }\n }\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => {\n const currentContent = getCurrentContent(state);\n let title = getOr('', 'name', currentContent);\n if (isCurrentEngineLearner(state)) {\n title = `${getOr('', 'name', currentContent)} - ${getOr(\n '',\n 'levelTranslation',\n currentContent\n )}`;\n }\n return {\n type: 'simple',\n prefix: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter_')\n : translate('Retry level_'),\n title,\n button: {\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level'),\n onClick: () => dispatch(retry)\n }\n };\n }\n ],\n [constant(true), constant(null)]\n ]);\n };\n\nconst extractFeedback = pipe(\n pick(['title', 'description', 'media', 'mediaDescription']),\n omit(['media.ref', 'media.subtitles', 'media.posters'])\n);\n\nconst popinEndStateToProps = (options, store) => {\n const headerProps_ = headerProps(options, store);\n const summaryHeader_ = summaryHeader(options, store);\n const extractAction_ = extractAction(options, store);\n const extractRecommendation_ = extractRecommendation(options, store);\n const comment_ = comment(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n\n const {translate} = options;\n const {dispatch} = store;\n\n const exitNode = getCurrentExitNode(state);\n\n const canPostAComment =\n get('type', exitNode) === 'success' && get('engine.ref', progression) === 'learner';\n\n const footer = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const props = {\n header: headerProps_(state),\n mode: options.mode || 'default',\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n summary: {\n header: summaryHeader_(state)(exitNode),\n action: extractAction_(state)(exitNode),\n feedback: extractFeedback(exitNode),\n recommendation: extractRecommendation_(state),\n comment: canPostAComment ? comment_(state) : null,\n footer\n }\n };\n\n return props;\n };\n};\n\nexport default popinEndStateToProps;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","names":["headerContent","engineRef","state","content","getCurrentContent","title","details","headerSubcontent","chapter","getCurrentChapter","level","chapterIds","_id","length","headerProps","options","dispatch","engine","getEngine","ref","hide","count","getLives","type","onClick","back","subcontent","lives","mode"],"sources":["../../src/map-state-to-props/header.js"],"sourcesContent":["import {get, getOr, indexOf} from 'lodash/fp';\nimport {\n getCurrentChapter,\n getEngine,\n getLives,\n getCurrentContent,\n back\n} from '@coorpacademy/player-store';\n\nconst headerContent = (engineRef, state) => {\n const content = getCurrentContent(state);\n\n switch (engineRef) {\n case 'learner':\n return {\n title: getOr('', 'name')(content),\n details: get('levelTranslation')(content)\n };\n case 'microlearning':\n default:\n return {\n title: getOr('', 'name')(content)\n };\n }\n};\n\nconst headerSubcontent = (engineRef, state) => {\n switch (engineRef) {\n case 'learner': {\n const chapter = getCurrentChapter(state);\n const level = getCurrentContent(state);\n const chapterIds = get('chapterIds', level);\n const details =\n chapter && chapterIds\n ? `${1 + indexOf(chapter._id, chapterIds)}/${chapterIds.length}`\n : null;\n\n return {\n title: getOr('', 'name', chapter),\n details\n };\n }\n case 'microlearning':\n default:\n return null;\n }\n};\n\nconst headerProps = (options, {dispatch}) => state => {\n const engine = getEngine(state);\n const {ref: engineRef} = engine;\n const {hide, count} = getLives(state);\n\n return {\n type: engineRef,\n content: {\n ...headerContent(engineRef, state),\n onClick: () => dispatch(back)\n },\n subcontent: headerSubcontent(engineRef, state),\n lives: hide ? false : {count},\n mode: options.mode || 'default'\n };\n};\n\nexport default headerProps;\n"],"mappings":";;;;;;;;;;;AACA;;;;;;AAQA,MAAMA,aAAa,GAAG,CAACC,SAAD,EAAYC,KAAZ,KAAsB;EAC1C,MAAMC,OAAO,GAAG,IAAAC,8BAAA,EAAkBF,KAAlB,CAAhB;;EAEA,QAAQD,SAAR;IACE,KAAK,SAAL;MACE,OAAO;QACLI,KAAK,EAAE,qBAAM,EAAN,EAAU,MAAV,EAAkBF,OAAlB,CADF;QAELG,OAAO,EAAE,mBAAI,kBAAJ,EAAwBH,OAAxB;MAFJ,CAAP;;IAIF,KAAK,eAAL;IACA;MACE,OAAO;QACLE,KAAK,EAAE,qBAAM,EAAN,EAAU,MAAV,EAAkBF,OAAlB;MADF,CAAP;EARJ;AAYD,CAfD;;AAiBA,MAAMI,gBAAgB,GAAG,CAACN,SAAD,EAAYC,KAAZ,KAAsB;EAC7C,QAAQD,SAAR;IACE,KAAK,SAAL;MAAgB;QACd,MAAMO,OAAO,GAAG,IAAAC,8BAAA,EAAkBP,KAAlB,CAAhB;QACA,MAAMQ,KAAK,GAAG,IAAAN,8BAAA,EAAkBF,KAAlB,CAAd;QACA,MAAMS,UAAU,GAAG,mBAAI,YAAJ,EAAkBD,KAAlB,CAAnB;QACA,MAAMJ,OAAO,GACXE,OAAO,IAAIG,UAAX,GACK,GAAE,IAAI,uBAAQH,OAAO,CAACI,GAAhB,EAAqBD,UAArB,CAAiC,IAAGA,UAAU,CAACE,MAAO,EADjE,GAEI,IAHN;QAKA,OAAO;UACLR,KAAK,EAAE,qBAAM,EAAN,EAAU,MAAV,EAAkBG,OAAlB,CADF;UAELF;QAFK,CAAP;MAID;;IACD,KAAK,eAAL;IACA;MACE,OAAO,IAAP;EAjBJ;AAmBD,CApBD;;AAsBA,MAAMQ,WAAW,GAAG,CAACC,OAAD,EAAU;EAACC;AAAD,CAAV,KAAyBd,KAAK,IAAI;EACpD,MAAMe,MAAM,GAAG,IAAAC,sBAAA,EAAUhB,KAAV,CAAf;EACA,MAAM;IAACiB,GAAG,EAAElB;EAAN,IAAmBgB,MAAzB;EACA,MAAM;IAACG,IAAD;IAAOC;EAAP,IAAgB,IAAAC,qBAAA,EAASpB,KAAT,CAAtB;EAEA,OAAO;IACLqB,IAAI,EAAEtB,SADD;IAELE,OAAO,eACFH,aAAa,CAACC,SAAD,EAAYC,KAAZ,CADX;MAELsB,OAAO,EAAE,MAAMR,QAAQ,CAACS,iBAAD;IAFlB,EAFF;IAMLC,UAAU,EAAEnB,gBAAgB,CAACN,SAAD,EAAYC,KAAZ,CANvB;IAOLyB,KAAK,EAAEP,IAAI,GAAG,KAAH,GAAW;MAACC;IAAD,CAPjB;IAQLO,IAAI,EAAEb,OAAO,CAACa,IAAR,IAAgB;EARjB,CAAP;AAUD,CAfD;;eAiBed,W"}
1
+ {"version":3,"file":"header.js","names":["headerContent","engineRef","state","content","getCurrentContent","title","details","headerSubcontent","chapter","getCurrentChapter","level","chapterIds","_id","length","headerProps","options","dispatch","engine","getEngine","ref","hide","count","getLives","type","onClick","back","subcontent","lives","mode"],"sources":["../../src/map-state-to-props/header.js"],"sourcesContent":["import {get, getOr, indexOf} from 'lodash/fp';\nimport {\n getCurrentChapter,\n getEngine,\n getLives,\n getCurrentContent,\n back\n} from '@coorpacademy/player-store';\n\nconst headerContent = (engineRef, state) => {\n const content = getCurrentContent(state);\n\n switch (engineRef) {\n case 'learner':\n return {\n title: getOr('', 'name')(content),\n details: get('levelTranslation')(content)\n };\n case 'microlearning':\n default:\n return {\n title: getOr('', 'name')(content)\n };\n }\n};\n\nconst headerSubcontent = (engineRef, state) => {\n switch (engineRef) {\n case 'learner': {\n const chapter = getCurrentChapter(state);\n const level = getCurrentContent(state);\n const chapterIds = get('chapterIds', level);\n const details =\n chapter && chapterIds\n ? `${1 + indexOf(chapter._id, chapterIds)}/${chapterIds.length}`\n : null;\n\n return {\n title: getOr('', 'name', chapter),\n details\n };\n }\n case 'microlearning':\n default:\n return null;\n }\n};\n\nconst headerProps =\n (options, {dispatch}) =>\n state => {\n const engine = getEngine(state);\n const {ref: engineRef} = engine;\n const {hide, count} = getLives(state);\n\n return {\n type: engineRef,\n content: {\n ...headerContent(engineRef, state),\n onClick: () => dispatch(back)\n },\n subcontent: headerSubcontent(engineRef, state),\n lives: hide ? false : {count},\n mode: options.mode || 'default'\n };\n };\n\nexport default headerProps;\n"],"mappings":";;;;;;;;;;;AACA;;;;;;AAQA,MAAMA,aAAa,GAAG,CAACC,SAAD,EAAYC,KAAZ,KAAsB;EAC1C,MAAMC,OAAO,GAAG,IAAAC,8BAAA,EAAkBF,KAAlB,CAAhB;;EAEA,QAAQD,SAAR;IACE,KAAK,SAAL;MACE,OAAO;QACLI,KAAK,EAAE,qBAAM,EAAN,EAAU,MAAV,EAAkBF,OAAlB,CADF;QAELG,OAAO,EAAE,mBAAI,kBAAJ,EAAwBH,OAAxB;MAFJ,CAAP;;IAIF,KAAK,eAAL;IACA;MACE,OAAO;QACLE,KAAK,EAAE,qBAAM,EAAN,EAAU,MAAV,EAAkBF,OAAlB;MADF,CAAP;EARJ;AAYD,CAfD;;AAiBA,MAAMI,gBAAgB,GAAG,CAACN,SAAD,EAAYC,KAAZ,KAAsB;EAC7C,QAAQD,SAAR;IACE,KAAK,SAAL;MAAgB;QACd,MAAMO,OAAO,GAAG,IAAAC,8BAAA,EAAkBP,KAAlB,CAAhB;QACA,MAAMQ,KAAK,GAAG,IAAAN,8BAAA,EAAkBF,KAAlB,CAAd;QACA,MAAMS,UAAU,GAAG,mBAAI,YAAJ,EAAkBD,KAAlB,CAAnB;QACA,MAAMJ,OAAO,GACXE,OAAO,IAAIG,UAAX,GACK,GAAE,IAAI,uBAAQH,OAAO,CAACI,GAAhB,EAAqBD,UAArB,CAAiC,IAAGA,UAAU,CAACE,MAAO,EADjE,GAEI,IAHN;QAKA,OAAO;UACLR,KAAK,EAAE,qBAAM,EAAN,EAAU,MAAV,EAAkBG,OAAlB,CADF;UAELF;QAFK,CAAP;MAID;;IACD,KAAK,eAAL;IACA;MACE,OAAO,IAAP;EAjBJ;AAmBD,CApBD;;AAsBA,MAAMQ,WAAW,GACf,CAACC,OAAD,EAAU;EAACC;AAAD,CAAV,KACAd,KAAK,IAAI;EACP,MAAMe,MAAM,GAAG,IAAAC,sBAAA,EAAUhB,KAAV,CAAf;EACA,MAAM;IAACiB,GAAG,EAAElB;EAAN,IAAmBgB,MAAzB;EACA,MAAM;IAACG,IAAD;IAAOC;EAAP,IAAgB,IAAAC,qBAAA,EAASpB,KAAT,CAAtB;EAEA,OAAO;IACLqB,IAAI,EAAEtB,SADD;IAELE,OAAO,eACFH,aAAa,CAACC,SAAD,EAAYC,KAAZ,CADX;MAELsB,OAAO,EAAE,MAAMR,QAAQ,CAACS,iBAAD;IAFlB,EAFF;IAMLC,UAAU,EAAEnB,gBAAgB,CAACN,SAAD,EAAYC,KAAZ,CANvB;IAOLyB,KAAK,EAAEP,IAAI,GAAG,KAAH,GAAW;MAACC;IAAD,CAPjB;IAQLO,IAAI,EAAEb,OAAO,CAACa,IAAR,IAAgB;EARjB,CAAP;AAUD,CAjBH;;eAmBed,W"}
@@ -1 +1 @@
1
- {"version":3,"file":"popin-correction.js","names":["isNewChapter","state","progression","content","type","nextContent","currentSlide","getCurrentSlide","currentChapterId","previousSlide","getPreviousSlide","previousChapterId","getNextChapterTitle","levelId","chapterIds","undefined","currentChapterName","indexChapter","length","getNextStepTitle","getCurrentProgression","extraLifeCTAProps","translate","dispatch","progressionId","getCurrentProgressionId","isRevival","hasViewedAResourceAtThisStep","updateProgression","acceptExtraLife","refuseExtraLife","title","onClick","noExtraLifeCTAProps","isDead","lives","chapterTitle","ctaProps","selectProgression","nextStepTitle","createHeaderCTA","options","store","extraLifeCTAProps_","noExtraLifeCTAProps_","isExtraLifeActive","openPopinAssistance","openAssistance","popinCorrectionStateToProps","getResourcesProps_","getResourcesProps","createHeaderCTA_","toggleAccordionSection","sectionId","toggleAccordion","slide","engineConfig","getEngineConfig","isExtraLifeAvailable","remainingLifeRequests","accordion","correction","getCurrentCorrection","correctAnswer","corrections","isCorrect","isLoading","extraLifeGranted","mayAcceptExtraLife","noMoreExtraLife","hide","count","getLives","header","subtitle","failed","question","answerPrefix","answer","resources","cta","gameOver","popinError","mapStateToErrorPopinProps","overlay","text","lifeAmount","quit","value","open","klf","tips","assistanceLink"],"sources":["../../src/map-state-to-props/popin-correction.js"],"sourcesContent":["import {assign, getOr, get, isNil, join, indexOf, omitBy, isUndefined, includes} from 'lodash/fp';\n\nimport {\n acceptExtraLife,\n getCurrentCorrection,\n getCurrentProgression,\n getCurrentProgressionId,\n getCurrentSlide,\n getEngineConfig,\n getLives,\n getPreviousSlide,\n hasViewedAResourceAtThisStep,\n openAssistance,\n refuseExtraLife,\n selectProgression,\n toggleAccordion\n} from '@coorpacademy/player-store';\n\nimport getResourcesProps from './resources';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst isNewChapter = (state, progression) => {\n if (\n progression.content.type !== 'level' ||\n includes(progression.state.nextContent.type, ['success', 'failure'])\n ) {\n return false;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const previousSlide = getPreviousSlide(state);\n const previousChapterId = get('chapter_id', previousSlide);\n return previousChapterId !== currentChapterId;\n};\n\nconst getNextChapterTitle = (state, progression) => {\n const levelId = get('content.ref', progression);\n const chapterIds = get(['data', 'contents', 'level', 'entities', levelId, 'chapterIds'], state);\n if (!chapterIds) {\n return undefined;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const currentChapterName = get(\n ['data', 'contents', 'chapter', 'entities', currentChapterId, 'name'],\n state\n );\n if (!currentChapterName) {\n return undefined;\n }\n const indexChapter = indexOf(currentChapterId, chapterIds) + 1;\n return `${indexChapter}/${chapterIds.length} ${currentChapterName}`;\n};\n\nconst getNextStepTitle = state => {\n const progression = getCurrentProgression(state);\n return isNewChapter(state, progression) ? getNextChapterTitle(state, progression) : undefined;\n};\n\nconst extraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const isRevival = hasViewedAResourceAtThisStep(state);\n const updateProgression = isRevival ? acceptExtraLife : refuseExtraLife;\n\n return {\n title: translate(isRevival ? 'Next' : 'Quit'),\n onClick: () => dispatch(updateProgression(progressionId))\n };\n};\n\nconst noExtraLifeCTAProps = ({translate}, {dispatch}) => state => {\n const progression = getCurrentProgression(state);\n const progressionId = getCurrentProgressionId(state);\n const isDead = progression.state.lives === 0;\n const chapterTitle = isNewChapter(state, progression)\n ? translate('Next chapter')\n : translate('Next');\n\n const ctaProps = {\n title: isDead ? translate('Game over') : chapterTitle,\n onClick: () => dispatch(selectProgression(progressionId)),\n nextStepTitle: isDead ? translate('Click to continue') : getNextStepTitle(state)\n };\n\n return omitBy(isUndefined, ctaProps);\n};\n\nexport const createHeaderCTA = (options, store) => {\n const extraLifeCTAProps_ = extraLifeCTAProps(options, store);\n const noExtraLifeCTAProps_ = noExtraLifeCTAProps(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const ctaProps = isExtraLifeActive ? extraLifeCTAProps_ : noExtraLifeCTAProps_;\n const {title, onClick, nextStepTitle} = ctaProps(state);\n\n return omitBy(isUndefined, {\n title,\n onClick,\n nextStepTitle\n });\n };\n};\n\nexport const openPopinAssistance = (dispatch, progression) => () =>\n dispatch(openAssistance(progression));\n\nexport const popinCorrectionStateToProps = (options, store) => {\n const getResourcesProps_ = getResourcesProps(options, store);\n const createHeaderCTA_ = createHeaderCTA(options, store);\n\n return state => {\n const {translate} = options;\n const {dispatch} = store;\n const toggleAccordionSection = sectionId => dispatch(toggleAccordion(sectionId));\n const slide = getPreviousSlide(state);\n const engineConfig = getEngineConfig(state);\n const progression = getCurrentProgression(state);\n const isExtraLifeAvailable = get('remainingLifeRequests', engineConfig) > 0;\n const remainingLifeRequests = get('state.remainingLifeRequests', progression);\n const accordion = get('ui.corrections.accordion', state);\n const correction = getCurrentCorrection(state);\n const correctAnswer = correction.correctAnswer;\n const corrections = correction.corrections;\n const isCorrect = corrections.length === 0 ? null : get('state.isCorrect')(progression);\n const isLoading = isNil(isCorrect);\n\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const extraLifeGranted = isExtraLifeActive && hasViewedAResourceAtThisStep(state);\n const mayAcceptExtraLife = isExtraLifeActive && !extraLifeGranted;\n const noMoreExtraLife = isExtraLifeAvailable && !isCorrect && remainingLifeRequests === 0;\n const {hide, count: lives} = getLives(state);\n const header = isLoading\n ? {}\n : {\n title: translate(isCorrect ? 'Good job' : 'Ouch'),\n subtitle: translate(isCorrect ? 'Good answer' : 'Wrong answer'),\n failed: !isCorrect,\n lives: hide ? null : lives\n };\n const question = {\n header: getOr('', 'question.header', slide),\n answerPrefix: translate('Correct answer'),\n answer: join(', ', correctAnswer)\n };\n\n const resources = getResourcesProps_(state, slide);\n\n return {\n header: isLoading\n ? {type: 'popinCorrection'}\n : assign(\n {\n type: 'popinCorrection',\n lives: 1,\n title: '',\n subtitle: '',\n corrections,\n cta: !mayAcceptExtraLife ? createHeaderCTA_(state) : undefined\n },\n header\n ),\n gameOver: noMoreExtraLife,\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n overlay: mayAcceptExtraLife\n ? {\n title: translate('Bonus!'),\n text: translate('Get an extra life by viewing the lesson'),\n lifeAmount: 1\n }\n : undefined,\n extraLifeGranted,\n quit: mayAcceptExtraLife\n ? {\n cta: createHeaderCTA_(state)\n }\n : undefined,\n question,\n resources: {\n title: translate('Access the lesson'),\n value: resources,\n open: getOr(false, '0', accordion)\n },\n klf: {\n title: translate('Key point'),\n value: getOr('', 'klf', slide),\n open: getOr(false, '1', accordion)\n },\n tips: {\n title: translate('Did you know that?'),\n value: getOr('', 'tips', slide),\n open: getOr(false, '2', accordion)\n },\n onClick: toggleAccordionSection,\n assistanceLink: {\n title: translate('Need help? Found a bug? Report it here'),\n onClick: openPopinAssistance(dispatch, progression)\n }\n };\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"popin-correction.js","names":["isNewChapter","state","progression","content","type","nextContent","currentSlide","getCurrentSlide","currentChapterId","previousSlide","getPreviousSlide","previousChapterId","getNextChapterTitle","levelId","chapterIds","undefined","currentChapterName","indexChapter","length","getNextStepTitle","getCurrentProgression","extraLifeCTAProps","translate","dispatch","progressionId","getCurrentProgressionId","isRevival","hasViewedAResourceAtThisStep","updateProgression","acceptExtraLife","refuseExtraLife","title","onClick","noExtraLifeCTAProps","isDead","lives","chapterTitle","ctaProps","selectProgression","nextStepTitle","createHeaderCTA","options","store","extraLifeCTAProps_","noExtraLifeCTAProps_","isExtraLifeActive","openPopinAssistance","openAssistance","popinCorrectionStateToProps","getResourcesProps_","getResourcesProps","createHeaderCTA_","toggleAccordionSection","sectionId","toggleAccordion","slide","engineConfig","getEngineConfig","isExtraLifeAvailable","remainingLifeRequests","accordion","correction","getCurrentCorrection","correctAnswer","corrections","isCorrect","isLoading","extraLifeGranted","mayAcceptExtraLife","noMoreExtraLife","hide","count","getLives","header","subtitle","failed","question","answerPrefix","answer","resources","cta","gameOver","popinError","mapStateToErrorPopinProps","overlay","text","lifeAmount","quit","value","open","klf","tips","assistanceLink"],"sources":["../../src/map-state-to-props/popin-correction.js"],"sourcesContent":["import {assign, getOr, get, isNil, join, indexOf, omitBy, isUndefined, includes} from 'lodash/fp';\n\nimport {\n acceptExtraLife,\n getCurrentCorrection,\n getCurrentProgression,\n getCurrentProgressionId,\n getCurrentSlide,\n getEngineConfig,\n getLives,\n getPreviousSlide,\n hasViewedAResourceAtThisStep,\n openAssistance,\n refuseExtraLife,\n selectProgression,\n toggleAccordion\n} from '@coorpacademy/player-store';\n\nimport getResourcesProps from './resources';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst isNewChapter = (state, progression) => {\n if (\n progression.content.type !== 'level' ||\n includes(progression.state.nextContent.type, ['success', 'failure'])\n ) {\n return false;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const previousSlide = getPreviousSlide(state);\n const previousChapterId = get('chapter_id', previousSlide);\n return previousChapterId !== currentChapterId;\n};\n\nconst getNextChapterTitle = (state, progression) => {\n const levelId = get('content.ref', progression);\n const chapterIds = get(['data', 'contents', 'level', 'entities', levelId, 'chapterIds'], state);\n if (!chapterIds) {\n return undefined;\n }\n const currentSlide = getCurrentSlide(state);\n const currentChapterId = get('chapter_id', currentSlide);\n const currentChapterName = get(\n ['data', 'contents', 'chapter', 'entities', currentChapterId, 'name'],\n state\n );\n if (!currentChapterName) {\n return undefined;\n }\n const indexChapter = indexOf(currentChapterId, chapterIds) + 1;\n return `${indexChapter}/${chapterIds.length} ${currentChapterName}`;\n};\n\nconst getNextStepTitle = state => {\n const progression = getCurrentProgression(state);\n return isNewChapter(state, progression) ? getNextChapterTitle(state, progression) : undefined;\n};\n\nconst extraLifeCTAProps =\n ({translate}, {dispatch}) =>\n state => {\n const progressionId = getCurrentProgressionId(state);\n const isRevival = hasViewedAResourceAtThisStep(state);\n const updateProgression = isRevival ? acceptExtraLife : refuseExtraLife;\n\n return {\n title: translate(isRevival ? 'Next' : 'Quit'),\n onClick: () => dispatch(updateProgression(progressionId))\n };\n };\n\nconst noExtraLifeCTAProps =\n ({translate}, {dispatch}) =>\n state => {\n const progression = getCurrentProgression(state);\n const progressionId = getCurrentProgressionId(state);\n const isDead = progression.state.lives === 0;\n const chapterTitle = isNewChapter(state, progression)\n ? translate('Next chapter')\n : translate('Next');\n\n const ctaProps = {\n title: isDead ? translate('Game over') : chapterTitle,\n onClick: () => dispatch(selectProgression(progressionId)),\n nextStepTitle: isDead ? translate('Click to continue') : getNextStepTitle(state)\n };\n\n return omitBy(isUndefined, ctaProps);\n };\n\nexport const createHeaderCTA = (options, store) => {\n const extraLifeCTAProps_ = extraLifeCTAProps(options, store);\n const noExtraLifeCTAProps_ = noExtraLifeCTAProps(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const ctaProps = isExtraLifeActive ? extraLifeCTAProps_ : noExtraLifeCTAProps_;\n const {title, onClick, nextStepTitle} = ctaProps(state);\n\n return omitBy(isUndefined, {\n title,\n onClick,\n nextStepTitle\n });\n };\n};\n\nexport const openPopinAssistance = (dispatch, progression) => () =>\n dispatch(openAssistance(progression));\n\nexport const popinCorrectionStateToProps = (options, store) => {\n const getResourcesProps_ = getResourcesProps(options, store);\n const createHeaderCTA_ = createHeaderCTA(options, store);\n\n return state => {\n const {translate} = options;\n const {dispatch} = store;\n const toggleAccordionSection = sectionId => dispatch(toggleAccordion(sectionId));\n const slide = getPreviousSlide(state);\n const engineConfig = getEngineConfig(state);\n const progression = getCurrentProgression(state);\n const isExtraLifeAvailable = get('remainingLifeRequests', engineConfig) > 0;\n const remainingLifeRequests = get('state.remainingLifeRequests', progression);\n const accordion = get('ui.corrections.accordion', state);\n const correction = getCurrentCorrection(state);\n const correctAnswer = correction.correctAnswer;\n const corrections = correction.corrections;\n const isCorrect = corrections.length === 0 ? null : get('state.isCorrect')(progression);\n const isLoading = isNil(isCorrect);\n\n const isExtraLifeActive = get('state.nextContent.ref', progression) === 'extraLife';\n const extraLifeGranted = isExtraLifeActive && hasViewedAResourceAtThisStep(state);\n const mayAcceptExtraLife = isExtraLifeActive && !extraLifeGranted;\n const noMoreExtraLife = isExtraLifeAvailable && !isCorrect && remainingLifeRequests === 0;\n const {hide, count: lives} = getLives(state);\n const header = isLoading\n ? {}\n : {\n title: translate(isCorrect ? 'Good job' : 'Ouch'),\n subtitle: translate(isCorrect ? 'Good answer' : 'Wrong answer'),\n failed: !isCorrect,\n lives: hide ? null : lives\n };\n const question = {\n header: getOr('', 'question.header', slide),\n answerPrefix: translate('Correct answer'),\n answer: join(', ', correctAnswer)\n };\n\n const resources = getResourcesProps_(state, slide);\n\n return {\n header: isLoading\n ? {type: 'popinCorrection'}\n : assign(\n {\n type: 'popinCorrection',\n lives: 1,\n title: '',\n subtitle: '',\n corrections,\n cta: !mayAcceptExtraLife ? createHeaderCTA_(state) : undefined\n },\n header\n ),\n gameOver: noMoreExtraLife,\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n overlay: mayAcceptExtraLife\n ? {\n title: translate('Bonus!'),\n text: translate('Get an extra life by viewing the lesson'),\n lifeAmount: 1\n }\n : undefined,\n extraLifeGranted,\n quit: mayAcceptExtraLife\n ? {\n cta: createHeaderCTA_(state)\n }\n : undefined,\n question,\n resources: {\n title: translate('Access the lesson'),\n value: resources,\n open: getOr(false, '0', accordion)\n },\n klf: {\n title: translate('Key point'),\n value: getOr('', 'klf', slide),\n open: getOr(false, '1', accordion)\n },\n tips: {\n title: translate('Did you know that?'),\n value: getOr('', 'tips', slide),\n open: getOr(false, '2', accordion)\n },\n onClick: toggleAccordionSection,\n assistanceLink: {\n title: translate('Need help? Found a bug? Report it here'),\n onClick: openPopinAssistance(dispatch, progression)\n }\n };\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAgBA;;AACA;;;;AAEA,MAAMA,YAAY,GAAG,CAACC,KAAD,EAAQC,WAAR,KAAwB;EAC3C,IACEA,WAAW,CAACC,OAAZ,CAAoBC,IAApB,KAA6B,OAA7B,IACA,wBAASF,WAAW,CAACD,KAAZ,CAAkBI,WAAlB,CAA8BD,IAAvC,EAA6C,CAAC,SAAD,EAAY,SAAZ,CAA7C,CAFF,EAGE;IACA,OAAO,KAAP;EACD;;EACD,MAAME,YAAY,GAAG,IAAAC,4BAAA,EAAgBN,KAAhB,CAArB;EACA,MAAMO,gBAAgB,GAAG,mBAAI,YAAJ,EAAkBF,YAAlB,CAAzB;EACA,MAAMG,aAAa,GAAG,IAAAC,6BAAA,EAAiBT,KAAjB,CAAtB;EACA,MAAMU,iBAAiB,GAAG,mBAAI,YAAJ,EAAkBF,aAAlB,CAA1B;EACA,OAAOE,iBAAiB,KAAKH,gBAA7B;AACD,CAZD;;AAcA,MAAMI,mBAAmB,GAAG,CAACX,KAAD,EAAQC,WAAR,KAAwB;EAClD,MAAMW,OAAO,GAAG,mBAAI,aAAJ,EAAmBX,WAAnB,CAAhB;EACA,MAAMY,UAAU,GAAG,mBAAI,CAAC,MAAD,EAAS,UAAT,EAAqB,OAArB,EAA8B,UAA9B,EAA0CD,OAA1C,EAAmD,YAAnD,CAAJ,EAAsEZ,KAAtE,CAAnB;;EACA,IAAI,CAACa,UAAL,EAAiB;IACf,OAAOC,SAAP;EACD;;EACD,MAAMT,YAAY,GAAG,IAAAC,4BAAA,EAAgBN,KAAhB,CAArB;EACA,MAAMO,gBAAgB,GAAG,mBAAI,YAAJ,EAAkBF,YAAlB,CAAzB;EACA,MAAMU,kBAAkB,GAAG,mBACzB,CAAC,MAAD,EAAS,UAAT,EAAqB,SAArB,EAAgC,UAAhC,EAA4CR,gBAA5C,EAA8D,MAA9D,CADyB,EAEzBP,KAFyB,CAA3B;;EAIA,IAAI,CAACe,kBAAL,EAAyB;IACvB,OAAOD,SAAP;EACD;;EACD,MAAME,YAAY,GAAG,uBAAQT,gBAAR,EAA0BM,UAA1B,IAAwC,CAA7D;EACA,OAAQ,GAAEG,YAAa,IAAGH,UAAU,CAACI,MAAO,IAAGF,kBAAmB,EAAlE;AACD,CAjBD;;AAmBA,MAAMG,gBAAgB,GAAGlB,KAAK,IAAI;EAChC,MAAMC,WAAW,GAAG,IAAAkB,kCAAA,EAAsBnB,KAAtB,CAApB;EACA,OAAOD,YAAY,CAACC,KAAD,EAAQC,WAAR,CAAZ,GAAmCU,mBAAmB,CAACX,KAAD,EAAQC,WAAR,CAAtD,GAA6Ea,SAApF;AACD,CAHD;;AAKA,MAAMM,iBAAiB,GACrB,CAAC;EAACC;AAAD,CAAD,EAAc;EAACC;AAAD,CAAd,KACAtB,KAAK,IAAI;EACP,MAAMuB,aAAa,GAAG,IAAAC,oCAAA,EAAwBxB,KAAxB,CAAtB;EACA,MAAMyB,SAAS,GAAG,IAAAC,yCAAA,EAA6B1B,KAA7B,CAAlB;EACA,MAAM2B,iBAAiB,GAAGF,SAAS,GAAGG,4BAAH,GAAqBC,4BAAxD;EAEA,OAAO;IACLC,KAAK,EAAET,SAAS,CAACI,SAAS,GAAG,MAAH,GAAY,MAAtB,CADX;IAELM,OAAO,EAAE,MAAMT,QAAQ,CAACK,iBAAiB,CAACJ,aAAD,CAAlB;EAFlB,CAAP;AAID,CAXH;;AAaA,MAAMS,mBAAmB,GACvB,CAAC;EAACX;AAAD,CAAD,EAAc;EAACC;AAAD,CAAd,KACAtB,KAAK,IAAI;EACP,MAAMC,WAAW,GAAG,IAAAkB,kCAAA,EAAsBnB,KAAtB,CAApB;EACA,MAAMuB,aAAa,GAAG,IAAAC,oCAAA,EAAwBxB,KAAxB,CAAtB;EACA,MAAMiC,MAAM,GAAGhC,WAAW,CAACD,KAAZ,CAAkBkC,KAAlB,KAA4B,CAA3C;EACA,MAAMC,YAAY,GAAGpC,YAAY,CAACC,KAAD,EAAQC,WAAR,CAAZ,GACjBoB,SAAS,CAAC,cAAD,CADQ,GAEjBA,SAAS,CAAC,MAAD,CAFb;EAIA,MAAMe,QAAQ,GAAG;IACfN,KAAK,EAAEG,MAAM,GAAGZ,SAAS,CAAC,WAAD,CAAZ,GAA4Bc,YAD1B;IAEfJ,OAAO,EAAE,MAAMT,QAAQ,CAAC,IAAAe,8BAAA,EAAkBd,aAAlB,CAAD,CAFR;IAGfe,aAAa,EAAEL,MAAM,GAAGZ,SAAS,CAAC,mBAAD,CAAZ,GAAoCH,gBAAgB,CAAClB,KAAD;EAH1D,CAAjB;EAMA,OAAO,6CAAoBoC,QAApB,CAAP;AACD,CAjBH;;AAmBO,MAAMG,eAAe,GAAG,CAACC,OAAD,EAAUC,KAAV,KAAoB;EACjD,MAAMC,kBAAkB,GAAGtB,iBAAiB,CAACoB,OAAD,EAAUC,KAAV,CAA5C;EACA,MAAME,oBAAoB,GAAGX,mBAAmB,CAACQ,OAAD,EAAUC,KAAV,CAAhD;EAEA,OAAOzC,KAAK,IAAI;IACd,MAAMC,WAAW,GAAG,IAAAkB,kCAAA,EAAsBnB,KAAtB,CAApB;IACA,MAAM4C,iBAAiB,GAAG,mBAAI,uBAAJ,EAA6B3C,WAA7B,MAA8C,WAAxE;IACA,MAAMmC,QAAQ,GAAGQ,iBAAiB,GAAGF,kBAAH,GAAwBC,oBAA1D;IACA,MAAM;MAACb,KAAD;MAAQC,OAAR;MAAiBO;IAAjB,IAAkCF,QAAQ,CAACpC,KAAD,CAAhD;IAEA,OAAO,6CAAoB;MACzB8B,KADyB;MAEzBC,OAFyB;MAGzBO;IAHyB,CAApB,CAAP;EAKD,CAXD;AAYD,CAhBM;;;;AAkBA,MAAMO,mBAAmB,GAAG,CAACvB,QAAD,EAAWrB,WAAX,KAA2B,MAC5DqB,QAAQ,CAAC,IAAAwB,2BAAA,EAAe7C,WAAf,CAAD,CADH;;;;AAGA,MAAM8C,2BAA2B,GAAG,CAACP,OAAD,EAAUC,KAAV,KAAoB;EAC7D,MAAMO,kBAAkB,GAAG,IAAAC,kBAAA,EAAkBT,OAAlB,EAA2BC,KAA3B,CAA3B;EACA,MAAMS,gBAAgB,GAAGX,eAAe,CAACC,OAAD,EAAUC,KAAV,CAAxC;EAEA,OAAOzC,KAAK,IAAI;IACd,MAAM;MAACqB;IAAD,IAAcmB,OAApB;IACA,MAAM;MAAClB;IAAD,IAAamB,KAAnB;;IACA,MAAMU,sBAAsB,GAAGC,SAAS,IAAI9B,QAAQ,CAAC,IAAA+B,4BAAA,EAAgBD,SAAhB,CAAD,CAApD;;IACA,MAAME,KAAK,GAAG,IAAA7C,6BAAA,EAAiBT,KAAjB,CAAd;IACA,MAAMuD,YAAY,GAAG,IAAAC,4BAAA,EAAgBxD,KAAhB,CAArB;IACA,MAAMC,WAAW,GAAG,IAAAkB,kCAAA,EAAsBnB,KAAtB,CAApB;IACA,MAAMyD,oBAAoB,GAAG,mBAAI,uBAAJ,EAA6BF,YAA7B,IAA6C,CAA1E;IACA,MAAMG,qBAAqB,GAAG,mBAAI,6BAAJ,EAAmCzD,WAAnC,CAA9B;IACA,MAAM0D,SAAS,GAAG,mBAAI,0BAAJ,EAAgC3D,KAAhC,CAAlB;IACA,MAAM4D,UAAU,GAAG,IAAAC,iCAAA,EAAqB7D,KAArB,CAAnB;IACA,MAAM8D,aAAa,GAAGF,UAAU,CAACE,aAAjC;IACA,MAAMC,WAAW,GAAGH,UAAU,CAACG,WAA/B;IACA,MAAMC,SAAS,GAAGD,WAAW,CAAC9C,MAAZ,KAAuB,CAAvB,GAA2B,IAA3B,GAAkC,mBAAI,iBAAJ,EAAuBhB,WAAvB,CAApD;IACA,MAAMgE,SAAS,GAAG,qBAAMD,SAAN,CAAlB;IAEA,MAAMpB,iBAAiB,GAAG,mBAAI,uBAAJ,EAA6B3C,WAA7B,MAA8C,WAAxE;IACA,MAAMiE,gBAAgB,GAAGtB,iBAAiB,IAAI,IAAAlB,yCAAA,EAA6B1B,KAA7B,CAA9C;IACA,MAAMmE,kBAAkB,GAAGvB,iBAAiB,IAAI,CAACsB,gBAAjD;IACA,MAAME,eAAe,GAAGX,oBAAoB,IAAI,CAACO,SAAzB,IAAsCN,qBAAqB,KAAK,CAAxF;IACA,MAAM;MAACW,IAAD;MAAOC,KAAK,EAAEpC;IAAd,IAAuB,IAAAqC,qBAAA,EAASvE,KAAT,CAA7B;IACA,MAAMwE,MAAM,GAAGP,SAAS,GACpB,EADoB,GAEpB;MACEnC,KAAK,EAAET,SAAS,CAAC2C,SAAS,GAAG,UAAH,GAAgB,MAA1B,CADlB;MAEES,QAAQ,EAAEpD,SAAS,CAAC2C,SAAS,GAAG,aAAH,GAAmB,cAA7B,CAFrB;MAGEU,MAAM,EAAE,CAACV,SAHX;MAIE9B,KAAK,EAAEmC,IAAI,GAAG,IAAH,GAAUnC;IAJvB,CAFJ;IAQA,MAAMyC,QAAQ,GAAG;MACfH,MAAM,EAAE,qBAAM,EAAN,EAAU,iBAAV,EAA6BlB,KAA7B,CADO;MAEfsB,YAAY,EAAEvD,SAAS,CAAC,gBAAD,CAFR;MAGfwD,MAAM,EAAE,oBAAK,IAAL,EAAWf,aAAX;IAHO,CAAjB;IAMA,MAAMgB,SAAS,GAAG9B,kBAAkB,CAAChD,KAAD,EAAQsD,KAAR,CAApC;IAEA,OAAO;MACLkB,MAAM,EAAEP,SAAS,GACb;QAAC9D,IAAI,EAAE;MAAP,CADa,GAEb,sBACE;QACEA,IAAI,EAAE,iBADR;QAEE+B,KAAK,EAAE,CAFT;QAGEJ,KAAK,EAAE,EAHT;QAIE2C,QAAQ,EAAE,EAJZ;QAKEV,WALF;QAMEgB,GAAG,EAAE,CAACZ,kBAAD,GAAsBjB,gBAAgB,CAAClD,KAAD,CAAtC,GAAgDc;MANvD,CADF,EASE0D,MATF,CAHC;MAcLQ,QAAQ,EAAEZ,eAdL;MAeLa,UAAU,EAAE,IAAAC,mBAAA,EAA0B5D,QAA1B,EAAoCtB,KAApC,CAfP;MAgBLmF,OAAO,EAAEhB,kBAAkB,GACvB;QACErC,KAAK,EAAET,SAAS,CAAC,QAAD,CADlB;QAEE+D,IAAI,EAAE/D,SAAS,CAAC,yCAAD,CAFjB;QAGEgE,UAAU,EAAE;MAHd,CADuB,GAMvBvE,SAtBC;MAuBLoD,gBAvBK;MAwBLoB,IAAI,EAAEnB,kBAAkB,GACpB;QACEY,GAAG,EAAE7B,gBAAgB,CAAClD,KAAD;MADvB,CADoB,GAIpBc,SA5BC;MA6BL6D,QA7BK;MA8BLG,SAAS,EAAE;QACThD,KAAK,EAAET,SAAS,CAAC,mBAAD,CADP;QAETkE,KAAK,EAAET,SAFE;QAGTU,IAAI,EAAE,qBAAM,KAAN,EAAa,GAAb,EAAkB7B,SAAlB;MAHG,CA9BN;MAmCL8B,GAAG,EAAE;QACH3D,KAAK,EAAET,SAAS,CAAC,WAAD,CADb;QAEHkE,KAAK,EAAE,qBAAM,EAAN,EAAU,KAAV,EAAiBjC,KAAjB,CAFJ;QAGHkC,IAAI,EAAE,qBAAM,KAAN,EAAa,GAAb,EAAkB7B,SAAlB;MAHH,CAnCA;MAwCL+B,IAAI,EAAE;QACJ5D,KAAK,EAAET,SAAS,CAAC,oBAAD,CADZ;QAEJkE,KAAK,EAAE,qBAAM,EAAN,EAAU,MAAV,EAAkBjC,KAAlB,CAFH;QAGJkC,IAAI,EAAE,qBAAM,KAAN,EAAa,GAAb,EAAkB7B,SAAlB;MAHF,CAxCD;MA6CL5B,OAAO,EAAEoB,sBA7CJ;MA8CLwC,cAAc,EAAE;QACd7D,KAAK,EAAET,SAAS,CAAC,wCAAD,CADF;QAEdU,OAAO,EAAEc,mBAAmB,CAACvB,QAAD,EAAWrB,WAAX;MAFd;IA9CX,CAAP;EAmDD,CAxFD;AAyFD,CA7FM"}
@@ -1 +1 @@
1
- {"version":3,"file":"popin-end.js","names":["extractRank","state","start","getStartRank","end","getEndRank","sign","diff","Math","abs","extractStars","progression","getCurrentProgression","stars","bestScore","getBestScore","comment","translate","dispatch","progressionId","getCurrentProgressionId","content","getCurrentContent","message","isSent","isCommentSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","seeComment","edition","title","value","postDisabled","onChange","editComment","target","onPost","postComment","ctaForFail","redirection","href","retry","isCurrentEngineMicrolearning","summaryHeader","hide","count","getLives","lives","successCta","exit","getRedirectURLAfterEnd","isCurrentEngineLearner","level","_nextLevel","getNextContent","nextLevel","showNextLevel","type","subtitle","failed","rank","cta","extractRecommendation","_recommendations","getRecommendations","hasRecommendations","recommendations","recommendation","openRecommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","popinEndStateToProps","options","store","headerProps_","headerProps","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","getCurrentExitNode","canPostAComment","footer","props","header","mode","popinError","mapStateToErrorPopinProps","summary","action","feedback"],"sources":["../../src/map-state-to-props/popin-end.js"],"sourcesContent":["import {\n cond,\n constant,\n get,\n getOr,\n isArray,\n isEqual,\n isEmpty,\n map,\n pick,\n pipe,\n omit,\n isNull\n} from 'lodash/fp';\n\nimport {\n editComment,\n exit,\n getBestScore,\n getCurrentContent,\n getCurrentExitNode,\n getCurrentProgression,\n getCurrentProgressionId,\n getEndRank,\n getLives,\n getNextContent,\n getRecommendations,\n getStartRank,\n isCommentSent,\n isCurrentEngineLearner,\n isCurrentEngineMicrolearning,\n nextLevel,\n openRecommendation,\n postComment,\n retry,\n seeComment,\n getRedirectURLAfterEnd\n} from '@coorpacademy/player-store';\nimport headerProps from './header';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst extractRank = state => {\n const start = getStartRank(state);\n const end = getEndRank(state);\n\n if (start === end) {\n return null;\n } else {\n const sign = end - start > 0 ? '-' : '+';\n const diff = Math.abs(end - start);\n return `${sign}${diff}`;\n }\n};\n\nconst extractStars = state => {\n const progression = getCurrentProgression(state);\n const stars = get('state.stars')(progression);\n const bestScore = getBestScore(state);\n\n return stars > bestScore ? `+${stars - bestScore}` : '+0';\n};\n\nconst comment = ({translate}, {dispatch}) => state => {\n const progressionId = getCurrentProgressionId(state);\n const content = getCurrentContent(state);\n const message = get('ui.comments.text', state);\n return {\n isSent: isCommentSent(state),\n confirmation: {\n commentSectionTitle: translate('Thank you for your review!'),\n confirmationLinkText: translate('See your comment and those of your peers'),\n onClick: e => dispatch(seeComment)\n },\n edition: {\n title: translate('Share your opinion on this course'),\n value: get('ui.comments.text', state),\n postDisabled: isEmpty(get('ui.comments.text', state)),\n onChange: e => dispatch(editComment(e.target.value)),\n onPost: e => dispatch(postComment(progressionId, content, message))\n }\n };\n};\n\nconst ctaForFail = (redirection, translate, dispatch, state) => {\n if (redirection) {\n return {\n href: redirection,\n title: translate('Click to continue')\n };\n }\n\n return {\n onClick: () => dispatch(retry),\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level')\n };\n};\n\nconst summaryHeader = ({translate}, {dispatch}) => state => {\n const {hide, count} = getLives(state);\n const lives = hide ? null : count;\n\n let successCta = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const redirection = getRedirectURLAfterEnd(state);\n if (redirection) {\n successCta = {\n title: translate('Click to continue'),\n href: redirection\n };\n }\n\n if (isCurrentEngineLearner(state) && !redirection) {\n const level = get('level', getCurrentContent(state));\n if (level === 'advanced' || level === 'base') {\n const _nextLevel = getNextContent(state);\n if (_nextLevel) {\n successCta = {\n title: translate('Next level'),\n onClick: () => dispatch(nextLevel),\n showNextLevel: true\n };\n }\n }\n }\n\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => ({\n type: 'popinEnd',\n title: getOr('', 'name')(getCurrentContent(state)),\n subtitle: translate('Congratulations!'),\n failed: false,\n stars: extractStars(state),\n rank: extractRank(state),\n cta: successCta\n })\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => ({\n type: 'popinEnd',\n title: translate('Ooops'),\n subtitle: lives === 0 ? translate('You are out of lives!') : translate('Nice try!'),\n failed: true,\n lives,\n rank: extractRank(state),\n stars: null,\n cta: ctaForFail(redirection, translate, dispatch, state)\n })\n ],\n [constant(true), constant({type: 'popinEnd'})]\n ]);\n};\n\nconst extractRecommendation = ({translate}, {dispatch}) => state => {\n const _recommendations = getRecommendations(state);\n const hasRecommendations = isNull(_recommendations) || isArray(_recommendations);\n\n if (!hasRecommendations) {\n return null;\n }\n\n const recommendations = map(\n recommendation => ({\n ...recommendation,\n onClick: () => dispatch(openRecommendation(recommendation))\n }),\n _recommendations\n );\n\n return {\n title: translate('Related subjects'),\n cards: recommendations\n };\n};\n\nconst extractAction = ({translate}, {dispatch}) => state => {\n const nextContent = getNextContent(state);\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => {\n if (get('nextContentType', nextContent) === 'chapter') {\n return {\n type: 'nextCourse',\n description: translate('Check out the next chapter in this course!'),\n prefix: translate('Next chapter_'),\n ...nextContent\n };\n } else if (nextContent) {\n // then it is a level\n const {name, levelTranslation} = nextContent;\n return {\n type: 'simple',\n prefix: translate('Next level_'),\n title: `${name} - ${levelTranslation}`,\n button: {\n title: translate('Next level'),\n href: null,\n onClick: () => dispatch(nextLevel)\n }\n };\n }\n }\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => {\n const currentContent = getCurrentContent(state);\n let title = getOr('', 'name', currentContent);\n if (isCurrentEngineLearner(state)) {\n title = `${getOr('', 'name', currentContent)} - ${getOr(\n '',\n 'levelTranslation',\n currentContent\n )}`;\n }\n return {\n type: 'simple',\n prefix: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter_')\n : translate('Retry level_'),\n title,\n button: {\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level'),\n onClick: () => dispatch(retry)\n }\n };\n }\n ],\n [constant(true), constant(null)]\n ]);\n};\n\nconst extractFeedback = pipe(\n pick(['title', 'description', 'media', 'mediaDescription']),\n omit(['media.ref', 'media.subtitles', 'media.posters'])\n);\n\nconst popinEndStateToProps = (options, store) => {\n const headerProps_ = headerProps(options, store);\n const summaryHeader_ = summaryHeader(options, store);\n const extractAction_ = extractAction(options, store);\n const extractRecommendation_ = extractRecommendation(options, store);\n const comment_ = comment(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n\n const {translate} = options;\n const {dispatch} = store;\n\n const exitNode = getCurrentExitNode(state);\n\n const canPostAComment =\n get('type', exitNode) === 'success' && get('engine.ref', progression) === 'learner';\n\n const footer = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const props = {\n header: headerProps_(state),\n mode: options.mode || 'default',\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n summary: {\n header: summaryHeader_(state)(exitNode),\n action: extractAction_(state)(exitNode),\n feedback: extractFeedback(exitNode),\n recommendation: extractRecommendation_(state),\n comment: canPostAComment ? comment_(state) : null,\n footer\n }\n };\n\n return props;\n };\n};\n\nexport default popinEndStateToProps;\n"],"mappings":"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"}
1
+ {"version":3,"file":"popin-end.js","names":["extractRank","state","start","getStartRank","end","getEndRank","sign","diff","Math","abs","extractStars","progression","getCurrentProgression","stars","bestScore","getBestScore","comment","translate","dispatch","progressionId","getCurrentProgressionId","content","getCurrentContent","message","isSent","isCommentSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","seeComment","edition","title","value","postDisabled","onChange","editComment","target","onPost","postComment","ctaForFail","redirection","href","retry","isCurrentEngineMicrolearning","summaryHeader","hide","count","getLives","lives","successCta","exit","getRedirectURLAfterEnd","isCurrentEngineLearner","level","_nextLevel","getNextContent","nextLevel","showNextLevel","type","subtitle","failed","rank","cta","extractRecommendation","_recommendations","getRecommendations","hasRecommendations","recommendations","recommendation","openRecommendation","cards","extractAction","nextContent","description","prefix","name","levelTranslation","button","currentContent","extractFeedback","popinEndStateToProps","options","store","headerProps_","headerProps","summaryHeader_","extractAction_","extractRecommendation_","comment_","exitNode","getCurrentExitNode","canPostAComment","footer","props","header","mode","popinError","mapStateToErrorPopinProps","summary","action","feedback"],"sources":["../../src/map-state-to-props/popin-end.js"],"sourcesContent":["import {\n cond,\n constant,\n get,\n getOr,\n isArray,\n isEqual,\n isEmpty,\n map,\n pick,\n pipe,\n omit,\n isNull\n} from 'lodash/fp';\n\nimport {\n editComment,\n exit,\n getBestScore,\n getCurrentContent,\n getCurrentExitNode,\n getCurrentProgression,\n getCurrentProgressionId,\n getEndRank,\n getLives,\n getNextContent,\n getRecommendations,\n getStartRank,\n isCommentSent,\n isCurrentEngineLearner,\n isCurrentEngineMicrolearning,\n nextLevel,\n openRecommendation,\n postComment,\n retry,\n seeComment,\n getRedirectURLAfterEnd\n} from '@coorpacademy/player-store';\nimport headerProps from './header';\nimport mapStateToErrorPopinProps from './error-popin';\n\nconst extractRank = state => {\n const start = getStartRank(state);\n const end = getEndRank(state);\n\n if (start === end) {\n return null;\n } else {\n const sign = end - start > 0 ? '-' : '+';\n const diff = Math.abs(end - start);\n return `${sign}${diff}`;\n }\n};\n\nconst extractStars = state => {\n const progression = getCurrentProgression(state);\n const stars = get('state.stars')(progression);\n const bestScore = getBestScore(state);\n\n return stars > bestScore ? `+${stars - bestScore}` : '+0';\n};\n\nconst comment =\n ({translate}, {dispatch}) =>\n state => {\n const progressionId = getCurrentProgressionId(state);\n const content = getCurrentContent(state);\n const message = get('ui.comments.text', state);\n return {\n isSent: isCommentSent(state),\n confirmation: {\n commentSectionTitle: translate('Thank you for your review!'),\n confirmationLinkText: translate('See your comment and those of your peers'),\n onClick: e => dispatch(seeComment)\n },\n edition: {\n title: translate('Share your opinion on this course'),\n value: get('ui.comments.text', state),\n postDisabled: isEmpty(get('ui.comments.text', state)),\n onChange: e => dispatch(editComment(e.target.value)),\n onPost: e => dispatch(postComment(progressionId, content, message))\n }\n };\n };\n\nconst ctaForFail = (redirection, translate, dispatch, state) => {\n if (redirection) {\n return {\n href: redirection,\n title: translate('Click to continue')\n };\n }\n\n return {\n onClick: () => dispatch(retry),\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level')\n };\n};\n\nconst summaryHeader =\n ({translate}, {dispatch}) =>\n state => {\n const {hide, count} = getLives(state);\n const lives = hide ? null : count;\n\n let successCta = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const redirection = getRedirectURLAfterEnd(state);\n if (redirection) {\n successCta = {\n title: translate('Click to continue'),\n href: redirection\n };\n }\n\n if (isCurrentEngineLearner(state) && !redirection) {\n const level = get('level', getCurrentContent(state));\n if (level === 'advanced' || level === 'base') {\n const _nextLevel = getNextContent(state);\n if (_nextLevel) {\n successCta = {\n title: translate('Next level'),\n onClick: () => dispatch(nextLevel),\n showNextLevel: true\n };\n }\n }\n }\n\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => ({\n type: 'popinEnd',\n title: getOr('', 'name')(getCurrentContent(state)),\n subtitle: translate('Congratulations!'),\n failed: false,\n stars: extractStars(state),\n rank: extractRank(state),\n cta: successCta\n })\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => ({\n type: 'popinEnd',\n title: translate('Ooops'),\n subtitle: lives === 0 ? translate('You are out of lives!') : translate('Nice try!'),\n failed: true,\n lives,\n rank: extractRank(state),\n stars: null,\n cta: ctaForFail(redirection, translate, dispatch, state)\n })\n ],\n [constant(true), constant({type: 'popinEnd'})]\n ]);\n };\n\nconst extractRecommendation =\n ({translate}, {dispatch}) =>\n state => {\n const _recommendations = getRecommendations(state);\n const hasRecommendations = isNull(_recommendations) || isArray(_recommendations);\n\n if (!hasRecommendations) {\n return null;\n }\n\n const recommendations = map(\n recommendation => ({\n ...recommendation,\n onClick: () => dispatch(openRecommendation(recommendation))\n }),\n _recommendations\n );\n\n return {\n title: translate('Related subjects'),\n cards: recommendations\n };\n };\n\nconst extractAction =\n ({translate}, {dispatch}) =>\n state => {\n const nextContent = getNextContent(state);\n return cond([\n [\n pipe(get('type'), isEqual('success')),\n () => {\n if (get('nextContentType', nextContent) === 'chapter') {\n return {\n type: 'nextCourse',\n description: translate('Check out the next chapter in this course!'),\n prefix: translate('Next chapter_'),\n ...nextContent\n };\n } else if (nextContent) {\n // then it is a level\n const {name, levelTranslation} = nextContent;\n return {\n type: 'simple',\n prefix: translate('Next level_'),\n title: `${name} - ${levelTranslation}`,\n button: {\n title: translate('Next level'),\n href: null,\n onClick: () => dispatch(nextLevel)\n }\n };\n }\n }\n ],\n [\n pipe(get('type'), isEqual('failure')),\n () => {\n const currentContent = getCurrentContent(state);\n let title = getOr('', 'name', currentContent);\n if (isCurrentEngineLearner(state)) {\n title = `${getOr('', 'name', currentContent)} - ${getOr(\n '',\n 'levelTranslation',\n currentContent\n )}`;\n }\n return {\n type: 'simple',\n prefix: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter_')\n : translate('Retry level_'),\n title,\n button: {\n title: isCurrentEngineMicrolearning(state)\n ? translate('Retry chapter')\n : translate('Retry level'),\n onClick: () => dispatch(retry)\n }\n };\n }\n ],\n [constant(true), constant(null)]\n ]);\n };\n\nconst extractFeedback = pipe(\n pick(['title', 'description', 'media', 'mediaDescription']),\n omit(['media.ref', 'media.subtitles', 'media.posters'])\n);\n\nconst popinEndStateToProps = (options, store) => {\n const headerProps_ = headerProps(options, store);\n const summaryHeader_ = summaryHeader(options, store);\n const extractAction_ = extractAction(options, store);\n const extractRecommendation_ = extractRecommendation(options, store);\n const comment_ = comment(options, store);\n\n return state => {\n const progression = getCurrentProgression(state);\n\n const {translate} = options;\n const {dispatch} = store;\n\n const exitNode = getCurrentExitNode(state);\n\n const canPostAComment =\n get('type', exitNode) === 'success' && get('engine.ref', progression) === 'learner';\n\n const footer = {\n title: translate('Back to home'),\n onClick: () => dispatch(exit)\n };\n\n const props = {\n header: headerProps_(state),\n mode: options.mode || 'default',\n popinError: mapStateToErrorPopinProps(dispatch)(state),\n summary: {\n header: summaryHeader_(state)(exitNode),\n action: extractAction_(state)(exitNode),\n feedback: extractFeedback(exitNode),\n recommendation: extractRecommendation_(state),\n comment: canPostAComment ? comment_(state) : null,\n footer\n }\n };\n\n return props;\n };\n};\n\nexport default popinEndStateToProps;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/player-web",
3
- "version": "3.19.36",
3
+ "version": "3.19.37",
4
4
  "description": "CoorpAcademy web slide-player",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -24,8 +24,7 @@
24
24
  "clean:static": "rm -rf static",
25
25
  "clean": "npm run clean:static && npm run clean:build",
26
26
  "prepare": "npm run clean && npm run build --production",
27
- "static": "webpack --progress --output-path static/dist/ --config sandbox/webpack.config.js",
28
- "poststatic": "cp sandbox/index.html static/index.html",
27
+ "static": "webpack --progress --output-path static/ --config sandbox/webpack.config.js",
29
28
  "start": "cross-env BABEL_ENV=es webpack-dev-server --config sandbox/webpack.config.js"
30
29
  },
31
30
  "engines": {
@@ -47,6 +46,7 @@
47
46
  "cross-env": "^7.0.3",
48
47
  "eslint": "^7.3.1",
49
48
  "glob": "^8.0.3",
49
+ "html-webpack-plugin": "^5.5.0",
50
50
  "nyc": "^15.1.0",
51
51
  "react": "^17.0.2",
52
52
  "react-dom": "^17.0.2",
@@ -60,15 +60,15 @@
60
60
  "react-dom": "^17.0.2"
61
61
  },
62
62
  "dependencies": {
63
- "@coorpacademy/components": "10.24.0",
64
- "@coorpacademy/player-services": "5.2.16",
65
- "@coorpacademy/player-store": "4.2.19",
66
- "@coorpacademy/progression-engine": "11.4.1",
67
- "@coorpacademy/redux-task": "1.1.5",
63
+ "@coorpacademy/components": "10.24.1",
64
+ "@coorpacademy/player-services": "5.2.17",
65
+ "@coorpacademy/player-store": "4.2.20",
66
+ "@coorpacademy/progression-engine": "11.4.2",
67
+ "@coorpacademy/redux-task": "1.1.6",
68
68
  "@coorpacademy/translate": "6.1.5",
69
- "@coorpacademy/webpack-config": "10.0.5",
69
+ "@coorpacademy/webpack-config": "11.0.0",
70
70
  "eslint": "^8.24.0",
71
71
  "lodash": "^4.17.21"
72
72
  },
73
- "gitHead": "abad47a390275389da6de707a0473141eab843ac"
73
+ "gitHead": "59ed58c1e02784b3fbf1bf503ce7117a7288ccda"
74
74
  }