@coorpacademy/player-web 3.19.8 → 3.19.11
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,"sources":["../../src/map-state-to-props/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","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","summary","action","feedback"],"mappings":"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","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';\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 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"],"file":"popin-end.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/map-state-to-props/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","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","summary","action","feedback"],"mappings":"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","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';\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 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"],"file":"popin-end.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/map-state-to-props/popin-end.js"],"names":["extractRank","state","start","end","sign","diff","Math","abs","extractStars","progression","stars","bestScore","comment","translate","dispatch","progressionId","content","message","isSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","seeComment","edition","title","value","postDisabled","onChange","target","onPost","ctaForFail","redirection","href","retry","summaryHeader","hide","count","lives","successCta","exit","level","_nextLevel","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","summary","action","feedback"],"mappings":"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","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';\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 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"],"file":"popin-end.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/map-state-to-props/popin-end.js"],"names":["extractRank","state","start","end","sign","diff","Math","abs","extractStars","progression","stars","bestScore","comment","translate","dispatch","progressionId","content","message","isSent","confirmation","commentSectionTitle","confirmationLinkText","onClick","e","seeComment","edition","title","value","postDisabled","onChange","target","onPost","ctaForFail","redirection","href","retry","summaryHeader","hide","count","lives","successCta","exit","level","_nextLevel","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","summary","action","feedback"],"mappings":"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","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';\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 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"],"file":"popin-end.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/player-web",
|
|
3
|
-
"version": "3.19.
|
|
3
|
+
"version": "3.19.11",
|
|
4
4
|
"description": "CoorpAcademy web slide-player",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"react-dom": "^17.0.2"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@coorpacademy/components": "10.22.
|
|
63
|
+
"@coorpacademy/components": "10.22.11",
|
|
64
64
|
"@coorpacademy/player-services": "5.2.16",
|
|
65
65
|
"@coorpacademy/player-store": "4.2.18",
|
|
66
66
|
"@coorpacademy/progression-engine": "11.4.1",
|
|
@@ -68,5 +68,6 @@
|
|
|
68
68
|
"@coorpacademy/translate": "6.1.5",
|
|
69
69
|
"@coorpacademy/webpack-config": "10.0.4",
|
|
70
70
|
"lodash": "^4.17.21"
|
|
71
|
-
}
|
|
71
|
+
},
|
|
72
|
+
"gitHead": "7191ac405f4eebce61c459722595014ea973818c"
|
|
72
73
|
}
|