@coorpacademy/components 11.32.6 → 11.32.8
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.
- package/es/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/es/molecule/discipline-associated-skills/index.js +11 -2
- package/es/molecule/discipline-associated-skills/index.js.map +1 -1
- package/es/molecule/discipline-associated-skills/style.css +35 -3
- package/es/molecule/learner-skill-card/index.d.ts +3 -3
- package/es/molecule/learner-skill-card/index.js +15 -15
- package/es/molecule/learner-skill-card/index.js.map +1 -1
- package/es/stories/Configure.mdx +364 -0
- package/es/stories/assets/accessibility.png +0 -0
- package/es/stories/assets/accessibility.svg +5 -0
- package/es/stories/assets/addon-library.png +0 -0
- package/es/stories/assets/assets.png +0 -0
- package/es/stories/assets/avif-test-image.avif +0 -0
- package/es/stories/assets/context.png +0 -0
- package/es/stories/assets/discord.svg +15 -0
- package/es/stories/assets/docs.png +0 -0
- package/es/stories/assets/figma-plugin.png +0 -0
- package/es/stories/assets/github.svg +3 -0
- package/es/stories/assets/share.png +0 -0
- package/es/stories/assets/styling.png +0 -0
- package/es/stories/assets/testing.png +0 -0
- package/es/stories/assets/theming.png +0 -0
- package/es/stories/assets/tutorials.svg +12 -0
- package/es/stories/assets/youtube.svg +4 -0
- package/es/stories/button.css +30 -0
- package/es/stories/header.css +32 -0
- package/es/stories/page.css +69 -0
- package/es/template/my-learning/index.d.ts +4 -4
- package/es/template/my-learning/index.d.ts.map +1 -1
- package/es/template/my-learning/index.js +23 -22
- package/es/template/my-learning/index.js.map +1 -1
- package/es/util/time-format.d.ts +2 -0
- package/es/util/time-format.d.ts.map +1 -0
- package/es/util/time-format.js +18 -0
- package/es/util/time-format.js.map +1 -0
- package/lib/molecule/discipline-associated-skills/index.d.ts.map +1 -1
- package/lib/molecule/discipline-associated-skills/index.js +11 -2
- package/lib/molecule/discipline-associated-skills/index.js.map +1 -1
- package/lib/molecule/discipline-associated-skills/style.css +35 -3
- package/lib/molecule/learner-skill-card/index.d.ts +3 -3
- package/lib/molecule/learner-skill-card/index.js +15 -15
- package/lib/molecule/learner-skill-card/index.js.map +1 -1
- package/lib/stories/Configure.mdx +364 -0
- package/lib/stories/assets/accessibility.png +0 -0
- package/lib/stories/assets/accessibility.svg +5 -0
- package/lib/stories/assets/addon-library.png +0 -0
- package/lib/stories/assets/assets.png +0 -0
- package/lib/stories/assets/avif-test-image.avif +0 -0
- package/lib/stories/assets/context.png +0 -0
- package/lib/stories/assets/discord.svg +15 -0
- package/lib/stories/assets/docs.png +0 -0
- package/lib/stories/assets/figma-plugin.png +0 -0
- package/lib/stories/assets/github.svg +3 -0
- package/lib/stories/assets/share.png +0 -0
- package/lib/stories/assets/styling.png +0 -0
- package/lib/stories/assets/testing.png +0 -0
- package/lib/stories/assets/theming.png +0 -0
- package/lib/stories/assets/tutorials.svg +12 -0
- package/lib/stories/assets/youtube.svg +4 -0
- package/lib/stories/button.css +30 -0
- package/lib/stories/header.css +32 -0
- package/lib/stories/page.css +69 -0
- package/lib/template/my-learning/index.d.ts +4 -4
- package/lib/template/my-learning/index.d.ts.map +1 -1
- package/lib/template/my-learning/index.js +24 -22
- package/lib/template/my-learning/index.js.map +1 -1
- package/lib/util/time-format.d.ts +2 -0
- package/lib/util/time-format.d.ts.map +1 -0
- package/lib/util/time-format.js +21 -0
- package/lib/util/time-format.js.map +1 -0
- package/locales/bs/global.json +6 -6
- package/locales/cs/global.json +6 -6
- package/locales/de/global.json +6 -6
- package/locales/en/global.json +3 -3
- package/locales/es/global.json +6 -6
- package/locales/et/global.json +6 -6
- package/locales/fi/global.json +6 -6
- package/locales/fr/global.json +6 -6
- package/locales/hr/global.json +6 -6
- package/locales/hu/global.json +6 -6
- package/locales/hy/global.json +6 -6
- package/locales/it/global.json +6 -6
- package/locales/ja/global.json +5 -5
- package/locales/ko/global.json +6 -6
- package/locales/nl/global.json +6 -6
- package/locales/pl/global.json +6 -6
- package/locales/pt/global.json +6 -6
- package/locales/ro/global.json +6 -6
- package/locales/ru/global.json +6 -6
- package/locales/sk/global.json +6 -6
- package/locales/sl/global.json +6 -6
- package/locales/sv/global.json +6 -6
- package/locales/tl/global.json +6 -6
- package/locales/tr/global.json +6 -6
- package/locales/uk/global.json +6 -6
- package/locales/vi/global.json +6 -6
- package/locales/zh/global.json +5 -5
- package/locales/zh_TW/global.json +6 -6
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/my-learning/index.js"],"names":[],"mappings":";AAyHA,mEAuWC"}
|
|
@@ -45,6 +45,8 @@ var _learnerSkillCard = _interopRequireDefault(require("../../molecule/learner-s
|
|
|
45
45
|
|
|
46
46
|
var _searchValueIncluded = _interopRequireDefault(require("../../util/search-value-included"));
|
|
47
47
|
|
|
48
|
+
var _timeFormat = require("../../util/time-format");
|
|
49
|
+
|
|
48
50
|
var _style = _interopRequireDefault(require("./style.css"));
|
|
49
51
|
|
|
50
52
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -180,14 +182,14 @@ const MyLearning = (props, context) => {
|
|
|
180
182
|
};
|
|
181
183
|
}, [searchResults, skillsReviewReady]);
|
|
182
184
|
const sumKpi = (0, _react.useCallback)(kpi => skillFocusSelectedOnChart ? skillsInformation[skillFocusSelectedOnChart].stats[kpi] : (0, _sumBy2.default)(skill => skillsInformation[skill].stats[kpi], selectedSkillsList), [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]);
|
|
183
|
-
const coursedCompletedData = (0, _react.useMemo)(() => sumKpi('
|
|
184
|
-
const
|
|
185
|
-
const
|
|
185
|
+
const coursedCompletedData = (0, _react.useMemo)(() => sumKpi('contentCompleted'), [sumKpi]);
|
|
186
|
+
const questionsToReviewData = (0, _react.useMemo)(() => sumKpi('questionsToReview'), [sumKpi]);
|
|
187
|
+
const learningTimeData = (0, _react.useMemo)(() => sumKpi('learningTime'), [sumKpi]);
|
|
186
188
|
const skillChartPaneLegends = (0, _react.useMemo)(() => translate('skill_scope_specifier', {
|
|
187
189
|
focusedSkill: skillFocusSelectedOnChart ? skillsLocales[skillFocusSelectedOnChart] : translate('focused_skills')
|
|
188
190
|
}), [translate, skillsLocales, skillFocusSelectedOnChart]);
|
|
189
191
|
const skillChartPanelProps = [{
|
|
190
|
-
title: translate('
|
|
192
|
+
title: translate('skill_chart_side_panel_content_completed'),
|
|
191
193
|
value: `${coursedCompletedData}`,
|
|
192
194
|
legend: skillChartPaneLegends,
|
|
193
195
|
icon: {
|
|
@@ -195,20 +197,20 @@ const MyLearning = (props, context) => {
|
|
|
195
197
|
backgroundColor: '#D9F4F7'
|
|
196
198
|
}
|
|
197
199
|
}, {
|
|
198
|
-
title: translate('
|
|
199
|
-
value:
|
|
200
|
+
title: translate('skill_chart_side_panel_learning_hours'),
|
|
201
|
+
value: (0, _timeFormat.formatMinutes)(learningTimeData),
|
|
200
202
|
legend: skillChartPaneLegends,
|
|
201
203
|
icon: {
|
|
202
|
-
iconName: '
|
|
203
|
-
backgroundColor: '#
|
|
204
|
+
iconName: 'clock',
|
|
205
|
+
backgroundColor: '#FAD6DE'
|
|
204
206
|
}
|
|
205
207
|
}, {
|
|
206
|
-
title: translate('
|
|
207
|
-
value: `${
|
|
208
|
+
title: translate('skill_chart_side_panel_questions_to_review'),
|
|
209
|
+
value: `${questionsToReviewData}`,
|
|
208
210
|
legend: skillChartPaneLegends,
|
|
209
211
|
icon: {
|
|
210
|
-
iconName: '
|
|
211
|
-
backgroundColor: '#
|
|
212
|
+
iconName: 'circle-question',
|
|
213
|
+
backgroundColor: '#FFDCD1'
|
|
212
214
|
}
|
|
213
215
|
}];
|
|
214
216
|
const handleOnDotClick = (0, _react.useCallback)(skillRef => {
|
|
@@ -398,9 +400,9 @@ const MyLearning = (props, context) => {
|
|
|
398
400
|
|
|
399
401
|
const {
|
|
400
402
|
score,
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
403
|
+
content,
|
|
404
|
+
questionsToReview,
|
|
405
|
+
contentCompleted
|
|
404
406
|
} = skillsInformation[skill].stats;
|
|
405
407
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
406
408
|
key: index
|
|
@@ -409,9 +411,9 @@ const MyLearning = (props, context) => {
|
|
|
409
411
|
focus: selectedSkills.includes(skill),
|
|
410
412
|
metrics: {
|
|
411
413
|
score,
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
414
|
+
content,
|
|
415
|
+
questionsToReview,
|
|
416
|
+
contentCompleted
|
|
415
417
|
},
|
|
416
418
|
review: skillsInformation[skill].availableForReview,
|
|
417
419
|
onReviewClick: handleReviewSkill,
|
|
@@ -431,10 +433,10 @@ MyLearning.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
431
433
|
availableForReview: _propTypes.default.bool,
|
|
432
434
|
stats: _propTypes.default.shape({
|
|
433
435
|
score: _propTypes.default.number,
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
436
|
+
content: _propTypes.default.number,
|
|
437
|
+
contentCompleted: _propTypes.default.number,
|
|
438
|
+
questionsToReview: _propTypes.default.number,
|
|
439
|
+
learningTime: _propTypes.default.number
|
|
438
440
|
})
|
|
439
441
|
})),
|
|
440
442
|
skillsLocales: _propTypes.default.objectOf(_propTypes.default.string),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ChangeSkillFocusButton","props","context","hovered","setHovered","useState","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","backgroundColor","convert","color","transition","position","faIcon","name","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","func","FilterButton","active","filter","skillTotal","Content","style","skillFilterNumber","skillFilterNumberInActive","buttonProps","customStyle","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onReviewSkill","onExploreSkill","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","sort","a","b","stats","score","activeFilter","setActiveFilter","skillsReviewReady","useMemo","skill","availableForReview","graphDatas","graphLegends","filters","all","review","sumKpi","kpi","coursedCompletedData","questionsAnsweredData","learningHoursData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","handleOnDotClick","skillRef","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","searchValueIncluded","handleSearchReset","ReviewTooltipContent","backgroundContainer","container","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","gradient","fill","stroke","percentage","background","label","skillFocusEmpty","img","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","infoIconTooltip","tooltip","toolBarContainer","skillFilterContainer","map","index","handleFilterClick","searchWrapper","placeholder","onChange","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","handleReviewSkill","handleExploreSkill","courses","skillCourses","questionsAnswered","skillQuestions","coursesCompleted","completedCourses","includes","arrayOf","objectOf","shape","learningHours"],"sources":["../../../src/template/my-learning/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get, keys, map, fromPairs, pipe, sumBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport Picture from '../../atom/picture';\nimport ButtonLink from '../../atom/button-link';\nimport ToolTip from '../../atom/tooltip';\nimport ReviewNoSkills from '../../organism/review-no-skills';\nimport SearchForm from '../../molecule/search-form';\nimport SkillPickerModal from '../../molecule/skill-picker-modal';\nimport ResponsiveLearningProfileRadarChart from '../../molecule/learning-profile-radar-chart';\nimport SkillsChartSideInformationPanel from '../../molecule/skills-chart-side-information-panel';\nimport LearnerSkillCard from '../../molecule/learner-skill-card';\nimport searchValueIncluded from '../../util/search-value-included';\nimport style from './style.css';\n\nconst ChangeSkillFocusButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div\n data-name=\"button-explore-wrapper\"\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n <ButtonLink\n customStyle={{\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n onClick={onClick}\n label={translate('skills_change_focus')}\n data-name=\"change-skill-focus-button\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrows-rotate',\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }}\n />\n </div>\n );\n};\n\nChangeSkillFocusButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nChangeSkillFocusButton.propTypes = {\n onClick: PropTypes.func\n};\n\nconst FilterButton = (props, context) => {\n const {active, filter, skillTotal, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {skillTotal}\n </span>\n </div>\n ),\n [filter, skillTotal, active]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#FFFFFF',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: filter === translate('review_mode_available') ? '200px' : 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n active: PropTypes.bool,\n filter: PropTypes.string,\n skillTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst MyLearning = (props, context) => {\n const {\n skills,\n selectedSkills = [],\n skillsInformation,\n skillsLocales,\n learnerFeature = true,\n isLoading,\n onSkillFocusConfirm,\n onReviewSkill,\n onExploreSkill\n } = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n const [open, setOpen] = useState(false);\n const [selectedSkillsList, setSelectedSkillsList] = useState(selectedSkills);\n const [skillFocusSelectedOnChart, setSkillFocusSelectedOnChart] = useState(undefined);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n skills.sort((a, b) => skillsInformation[b].stats.score - skillsInformation[a].stats.score)\n );\n const [activeFilter, setActiveFilter] = useState('all');\n const [hovered, setHovered] = useState(false);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const skillsReviewReady = useMemo(() => {\n return searchResults.filter(skill => skillsInformation[skill].availableForReview);\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsInformation[skill].stats.score]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsInformation]\n );\n\n const graphLegends = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsLocales[skill]]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsLocales]\n );\n\n const filters = useMemo(() => {\n return {\n all: searchResults,\n review: skillsReviewReady\n };\n }, [searchResults, skillsReviewReady]);\n\n const sumKpi = useCallback(\n kpi =>\n skillFocusSelectedOnChart\n ? skillsInformation[skillFocusSelectedOnChart].stats[kpi]\n : sumBy(skill => skillsInformation[skill].stats[kpi], selectedSkillsList),\n [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]\n );\n\n const coursedCompletedData = useMemo(() => sumKpi('coursesCompleted'), [sumKpi]);\n\n const questionsAnsweredData = useMemo(() => sumKpi('questionsAnswered'), [sumKpi]);\n\n const learningHoursData = useMemo(() => sumKpi('learningHours'), [sumKpi]);\n\n const skillChartPaneLegends = useMemo(\n () =>\n translate('skill_scope_specifier', {\n focusedSkill: skillFocusSelectedOnChart\n ? skillsLocales[skillFocusSelectedOnChart]\n : translate('focused_skills')\n }),\n [translate, skillsLocales, skillFocusSelectedOnChart]\n );\n const skillChartPanelProps = [\n {\n title: translate('skill_chart_side_panel_courses_completed'),\n value: `${coursedCompletedData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'book-open-cover', backgroundColor: '#D9F4F7'}\n },\n {\n title: translate('skill_chart_side_panel_questions_answered'),\n value: `${questionsAnsweredData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: '#FFDCD1'}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: `${learningHoursData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: '#FAD6DE'}\n }\n ];\n\n const handleOnDotClick = useCallback(\n skillRef => {\n setSkillFocusSelectedOnChart(skillRef);\n },\n [setSkillFocusSelectedOnChart]\n );\n const handleOpenSkillPicker = useCallback(() => setOpen(true), [setOpen]);\n const handleCloseSkillPicker = useCallback(() => setOpen(false), [setOpen]);\n const handleConfirmSkillPicker = useCallback(\n focusSkillList => {\n setSelectedSkillsList(focusSkillList);\n onSkillFocusConfirm(focusSkillList);\n setOpen(false);\n },\n [onSkillFocusConfirm, setSelectedSkillsList, setOpen]\n );\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(skills.filter(skill => searchValueIncluded(skillsLocales[skill], value)));\n },\n [skills, skillsLocales, setSearchValue, setSearchResults]\n );\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(skills);\n }, [skills, setSearchValue, setSearchResults]);\n\n const ReviewTooltipContent = useCallback(\n () => (\n <div>\n <div>\n <b>{translate('review_mode_tooltip_header')}</b>\n </div>\n <p>{translate('review_mode_tooltip_content')}</p>\n <ol>\n <li>{translate('review_mode_tooltip_content_part1')}</li>\n <li>{translate('review_mode_tooltip_content_part2')}</li>\n <li>{translate('review_mode_tooltip_content_part3')}</li>\n <li>{translate('review_mode_tooltip_content_part4')}</li>\n </ol>\n </div>\n ),\n [translate]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n selectedSkills={selectedSkillsList}\n skillsLocales={skillsLocales}\n isOpen={open}\n isLoading={isLoading}\n onCancel={handleCloseSkillPicker}\n onConfirm={handleConfirmSkillPicker}\n onClose={handleCloseSkillPicker}\n />\n {learnerFeature ? (\n <div data-name=\"skill-focus-container\" className={style.skillFocusContainer}>\n <header className={style.skillFocusHeader}>\n <div className={style.skillFocusHeaderWrapper}>\n <div className={style.skillFocusHeaderIcon}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n borderRadius=\"12px\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillFocusHeaderContent}>\n <div data-name=\"skill-focus-title\" className={style.skillFocusHeaderTitle}>\n {translate('skill_focus')}\n </div>\n <div\n data-name=\"skill-focus-description\"\n className={style.skillFocusHeaderDescription}\n >\n {translate('skills_focus_description')}\n </div>\n </div>\n </div>\n {selectedSkillsList.length >= 3 ? (\n <ChangeSkillFocusButton onClick={handleOpenSkillPicker} />\n ) : null}\n </header>\n {selectedSkillsList.length >= 3 ? (\n <div className={style.skillFocusContent}>\n <div className={style.radarContainer}>\n <ResponsiveLearningProfileRadarChart\n totalDataset={1}\n height={424}\n width={680}\n data={graphDatas}\n legend={graphLegends}\n onClick={handleOnDotClick}\n onExploreClick={onExploreSkill}\n colors={[\n {\n gradient: {\n fill: ['#0062ffff', '#8000ff85'],\n stroke: ['#0062ffff', '#8000FF']\n },\n percentage: {\n color: primarySkinColor,\n background: convert(`color(${primarySkinColor} a(0.07))`)\n },\n label: {\n color: '#020202ff'\n }\n }\n ]}\n />\n </div>\n <SkillsChartSideInformationPanel sidePanelItems={skillChartPanelProps} />\n </div>\n ) : (\n <div className={style.skillFocusEmpty}>\n <Picture\n className={style.img}\n src=\"https://static.coorpacademy.com/assets/images/mylearning-no-skill-selected-placeholder.svg\"\n alt=\"demo\"\n />\n <div className={style.skillFocusEmptyTitle}>\n {translate('skills_focus_empty_title')}\n </div>\n <div className={style.skillFocusEmptyDescription}>\n {translate('skills_focus_empty_description')}\n </div>\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: '168px',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n onClick={handleOpenSkillPicker}\n />\n </div>\n </div>\n )}\n </div>\n ) : null}\n <header className={style.skillListHeader}>\n <div className={style.skillListHeaderIcon}>\n <Icon\n iconName=\"dumbbell\"\n backgroundColor=\"#FFF9D1\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillListHeaderContent}>\n <div className={style.skillListHeaderTitle}>{translate('skills_section_title')}</div>\n <div className={style.skillListHeaderDescription}>\n {translate('skills_section_description')}\n <ToolTip\n fontSize={12}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={ReviewTooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </div>\n </div>\n </header>\n <div className={style.toolBarContainer}>\n <div className={style.skillFilterContainer}>\n {keys(filters).map((filter, index) => {\n function handleFilterClick() {\n setActiveFilter(filter);\n }\n\n return (\n <div key={index}>\n <FilterButton\n active={activeFilter === filter}\n filter={\n filter === 'all' ? translate('all') : translate('review_mode_available')\n }\n skillTotal={filters[filter].length}\n onClick={handleFilterClick}\n />\n </div>\n );\n })}\n </div>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n </div>\n {searchValue && searchResults.length === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.skillListContainer}>\n {activeFilter === 'review_mode_available' && filters[activeFilter].length === 0 ? (\n <div className={style.skillListEmptyContainer}>\n <ReviewNoSkills\n titleNoSkills={translate('review_skill_empty')}\n textNoSkills={translate('review_skill_empty_description')}\n iconSkillAriaLabel={translate('review_skill_empty')}\n imagePosition=\"top\"\n />\n </div>\n ) : (\n filters[activeFilter].map((skill, index) => {\n function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {\n score,\n courses: skillCourses,\n questionsAnswered: skillQuestions,\n coursesCompleted: completedCourses\n } = skillsInformation[skill].stats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score,\n skillCourses,\n skillQuestions,\n completedCourses\n }}\n review={skillsInformation[skill].availableForReview}\n onReviewClick={handleReviewSkill}\n onExploreClick={handleExploreSkill}\n />\n </div>\n );\n })\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nMyLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nMyLearning.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsInformation: PropTypes.objectOf(\n PropTypes.shape({\n availableForReview: PropTypes.bool,\n stats: PropTypes.shape({\n score: PropTypes.number,\n courses: PropTypes.number,\n coursesCompleted: PropTypes.number,\n questionsAnswered: PropTypes.number,\n learningHours: PropTypes.number\n })\n })\n ),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n learnerFeature: PropTypes.bool,\n isLoading: PropTypes.bool,\n onSkillFocusConfirm: PropTypes.func,\n onReviewSkill: PropTypes.func,\n onExploreSkill: PropTypes.func\n};\n\nexport default MyLearning;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ChangeSkillFocusButton","props","context","hovered","setHovered","useState","onClick","skin","translate","primarySkinColor","handleMouseOver","useCallback","handleMouseLeave","backgroundColor","convert","color","transition","position","faIcon","name","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","func","FilterButton","active","filter","skillTotal","Content","style","skillFilterNumber","skillFilterNumberInActive","buttonProps","customStyle","width","content","bool","string","number","MyLearning","skills","selectedSkills","skillsInformation","skillsLocales","learnerFeature","isLoading","onSkillFocusConfirm","onReviewSkill","onExploreSkill","open","setOpen","selectedSkillsList","setSelectedSkillsList","skillFocusSelectedOnChart","setSkillFocusSelectedOnChart","undefined","searchValue","setSearchValue","searchResults","setSearchResults","sort","a","b","stats","score","activeFilter","setActiveFilter","skillsReviewReady","useMemo","skill","availableForReview","graphDatas","graphLegends","filters","all","review","sumKpi","kpi","coursedCompletedData","questionsToReviewData","learningTimeData","skillChartPaneLegends","focusedSkill","skillChartPanelProps","title","value","legend","icon","iconName","formatMinutes","handleOnDotClick","skillRef","handleOpenSkillPicker","handleCloseSkillPicker","handleConfirmSkillPicker","focusSkillList","handleSearch","searchValueIncluded","handleSearchReset","ReviewTooltipContent","backgroundContainer","container","skillFocusContainer","skillFocusHeader","skillFocusHeaderWrapper","skillFocusHeaderIcon","faSize","wrapperSize","skillFocusHeaderContent","skillFocusHeaderTitle","skillFocusHeaderDescription","length","skillFocusContent","radarContainer","gradient","fill","stroke","percentage","background","label","skillFocusEmpty","img","skillFocusEmptyTitle","skillFocusEmptyDescription","skillListHeader","skillListHeaderIcon","skillListHeaderContent","skillListHeaderTitle","skillListHeaderDescription","infoIconTooltip","tooltip","toolBarContainer","skillFilterContainer","map","index","handleFilterClick","searchWrapper","placeholder","onChange","emptySearchResultContainer","emptySearchResultTitle","emptySearchResultDescription","emptySearchResultClearSearch","skillListContainer","skillListEmptyContainer","handleReviewSkill","handleExploreSkill","questionsToReview","contentCompleted","includes","arrayOf","objectOf","shape","learningTime"],"sources":["../../../src/template/my-learning/index.js"],"sourcesContent":["import React, {useCallback, useState, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {convert} from 'css-color-function';\nimport {get, keys, map, fromPairs, pipe, sumBy} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Icon from '../../atom/icon';\nimport Picture from '../../atom/picture';\nimport ButtonLink from '../../atom/button-link';\nimport ToolTip from '../../atom/tooltip';\nimport ReviewNoSkills from '../../organism/review-no-skills';\nimport SearchForm from '../../molecule/search-form';\nimport SkillPickerModal from '../../molecule/skill-picker-modal';\nimport ResponsiveLearningProfileRadarChart from '../../molecule/learning-profile-radar-chart';\nimport SkillsChartSideInformationPanel from '../../molecule/skills-chart-side-information-panel';\nimport LearnerSkillCard from '../../molecule/learner-skill-card';\nimport searchValueIncluded from '../../util/search-value-included';\nimport {formatMinutes} from '../../util/time-format';\nimport style from './style.css';\n\nconst ChangeSkillFocusButton = (props, context) => {\n const [hovered, setHovered] = useState(false);\n const {onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n return (\n <div\n data-name=\"button-explore-wrapper\"\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n >\n <ButtonLink\n customStyle={{\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n }}\n onClick={onClick}\n label={translate('skills_change_focus')}\n data-name=\"change-skill-focus-button\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'arrows-rotate',\n backgroundColor: hovered\n ? primarySkinColor\n : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }}\n />\n </div>\n );\n};\n\nChangeSkillFocusButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nChangeSkillFocusButton.propTypes = {\n onClick: PropTypes.func\n};\n\nconst FilterButton = (props, context) => {\n const {active, filter, skillTotal, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {skillTotal}\n </span>\n </div>\n ),\n [filter, skillTotal, active]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#FFFFFF',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: filter === translate('review_mode_available') ? '200px' : 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n active: PropTypes.bool,\n filter: PropTypes.string,\n skillTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst MyLearning = (props, context) => {\n const {\n skills,\n selectedSkills = [],\n skillsInformation,\n skillsLocales,\n learnerFeature = true,\n isLoading,\n onSkillFocusConfirm,\n onReviewSkill,\n onExploreSkill\n } = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n const [open, setOpen] = useState(false);\n const [selectedSkillsList, setSelectedSkillsList] = useState(selectedSkills);\n const [skillFocusSelectedOnChart, setSkillFocusSelectedOnChart] = useState(undefined);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n skills.sort((a, b) => skillsInformation[b].stats.score - skillsInformation[a].stats.score)\n );\n const [activeFilter, setActiveFilter] = useState('all');\n const [hovered, setHovered] = useState(false);\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const skillsReviewReady = useMemo(() => {\n return searchResults.filter(skill => skillsInformation[skill].availableForReview);\n }, [searchResults, skillsInformation]);\n\n const graphDatas = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsInformation[skill].stats.score]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsInformation]\n );\n\n const graphLegends = useMemo(\n () =>\n pipe(\n map(skill => [skill, skillsLocales[skill]]),\n fromPairs\n )(selectedSkillsList),\n [selectedSkillsList, skillsLocales]\n );\n\n const filters = useMemo(() => {\n return {\n all: searchResults,\n review: skillsReviewReady\n };\n }, [searchResults, skillsReviewReady]);\n\n const sumKpi = useCallback(\n kpi =>\n skillFocusSelectedOnChart\n ? skillsInformation[skillFocusSelectedOnChart].stats[kpi]\n : sumBy(skill => skillsInformation[skill].stats[kpi], selectedSkillsList),\n [skillFocusSelectedOnChart, skillsInformation, selectedSkillsList]\n );\n\n const coursedCompletedData = useMemo(() => sumKpi('contentCompleted'), [sumKpi]);\n\n const questionsToReviewData = useMemo(() => sumKpi('questionsToReview'), [sumKpi]);\n\n const learningTimeData = useMemo(() => sumKpi('learningTime'), [sumKpi]);\n\n const skillChartPaneLegends = useMemo(\n () =>\n translate('skill_scope_specifier', {\n focusedSkill: skillFocusSelectedOnChart\n ? skillsLocales[skillFocusSelectedOnChart]\n : translate('focused_skills')\n }),\n [translate, skillsLocales, skillFocusSelectedOnChart]\n );\n const skillChartPanelProps = [\n {\n title: translate('skill_chart_side_panel_content_completed'),\n value: `${coursedCompletedData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'book-open-cover', backgroundColor: '#D9F4F7'}\n },\n {\n title: translate('skill_chart_side_panel_learning_hours'),\n value: formatMinutes(learningTimeData),\n legend: skillChartPaneLegends,\n icon: {iconName: 'clock', backgroundColor: '#FAD6DE'}\n },\n {\n title: translate('skill_chart_side_panel_questions_to_review'),\n value: `${questionsToReviewData}`,\n legend: skillChartPaneLegends,\n icon: {iconName: 'circle-question', backgroundColor: '#FFDCD1'}\n }\n ];\n\n const handleOnDotClick = useCallback(\n skillRef => {\n setSkillFocusSelectedOnChart(skillRef);\n },\n [setSkillFocusSelectedOnChart]\n );\n const handleOpenSkillPicker = useCallback(() => setOpen(true), [setOpen]);\n const handleCloseSkillPicker = useCallback(() => setOpen(false), [setOpen]);\n const handleConfirmSkillPicker = useCallback(\n focusSkillList => {\n setSelectedSkillsList(focusSkillList);\n onSkillFocusConfirm(focusSkillList);\n setOpen(false);\n },\n [onSkillFocusConfirm, setSelectedSkillsList, setOpen]\n );\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(skills.filter(skill => searchValueIncluded(skillsLocales[skill], value)));\n },\n [skills, skillsLocales, setSearchValue, setSearchResults]\n );\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(skills);\n }, [skills, setSearchValue, setSearchResults]);\n\n const ReviewTooltipContent = useCallback(\n () => (\n <div>\n <div>\n <b>{translate('review_mode_tooltip_header')}</b>\n </div>\n <p>{translate('review_mode_tooltip_content')}</p>\n <ol>\n <li>{translate('review_mode_tooltip_content_part1')}</li>\n <li>{translate('review_mode_tooltip_content_part2')}</li>\n <li>{translate('review_mode_tooltip_content_part3')}</li>\n <li>{translate('review_mode_tooltip_content_part4')}</li>\n </ol>\n </div>\n ),\n [translate]\n );\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container}>\n <SkillPickerModal\n skills={skills}\n selectedSkills={selectedSkillsList}\n skillsLocales={skillsLocales}\n isOpen={open}\n isLoading={isLoading}\n onCancel={handleCloseSkillPicker}\n onConfirm={handleConfirmSkillPicker}\n onClose={handleCloseSkillPicker}\n />\n {learnerFeature ? (\n <div data-name=\"skill-focus-container\" className={style.skillFocusContainer}>\n <header className={style.skillFocusHeader}>\n <div className={style.skillFocusHeaderWrapper}>\n <div className={style.skillFocusHeaderIcon}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n borderRadius=\"12px\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillFocusHeaderContent}>\n <div data-name=\"skill-focus-title\" className={style.skillFocusHeaderTitle}>\n {translate('skill_focus')}\n </div>\n <div\n data-name=\"skill-focus-description\"\n className={style.skillFocusHeaderDescription}\n >\n {translate('skills_focus_description')}\n </div>\n </div>\n </div>\n {selectedSkillsList.length >= 3 ? (\n <ChangeSkillFocusButton onClick={handleOpenSkillPicker} />\n ) : null}\n </header>\n {selectedSkillsList.length >= 3 ? (\n <div className={style.skillFocusContent}>\n <div className={style.radarContainer}>\n <ResponsiveLearningProfileRadarChart\n totalDataset={1}\n height={424}\n width={680}\n data={graphDatas}\n legend={graphLegends}\n onClick={handleOnDotClick}\n onExploreClick={onExploreSkill}\n colors={[\n {\n gradient: {\n fill: ['#0062ffff', '#8000ff85'],\n stroke: ['#0062ffff', '#8000FF']\n },\n percentage: {\n color: primarySkinColor,\n background: convert(`color(${primarySkinColor} a(0.07))`)\n },\n label: {\n color: '#020202ff'\n }\n }\n ]}\n />\n </div>\n <SkillsChartSideInformationPanel sidePanelItems={skillChartPanelProps} />\n </div>\n ) : (\n <div className={style.skillFocusEmpty}>\n <Picture\n className={style.img}\n src=\"https://static.coorpacademy.com/assets/images/mylearning-no-skill-selected-placeholder.svg\"\n alt=\"demo\"\n />\n <div className={style.skillFocusEmptyTitle}>\n {translate('skills_focus_empty_title')}\n </div>\n <div className={style.skillFocusEmptyDescription}>\n {translate('skills_focus_empty_description')}\n </div>\n <div onMouseOver={handleMouseOver} onMouseLeave={handleMouseLeave}>\n <ButtonLink\n label={translate('skills_choose_focus')}\n type=\"primary\"\n customStyle={{\n width: '168px',\n backgroundColor: hovered\n ? convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)\n : primarySkinColor\n }}\n onClick={handleOpenSkillPicker}\n />\n </div>\n </div>\n )}\n </div>\n ) : null}\n <header className={style.skillListHeader}>\n <div className={style.skillListHeaderIcon}>\n <Icon\n iconName=\"dumbbell\"\n backgroundColor=\"#FFF9D1\"\n size={{faSize: 20, wrapperSize: 48}}\n />\n </div>\n <div className={style.skillListHeaderContent}>\n <div className={style.skillListHeaderTitle}>{translate('skills_section_title')}</div>\n <div className={style.skillListHeaderDescription}>\n {translate('skills_section_description')}\n <ToolTip\n fontSize={12}\n iconContainerClassName={style.infoIconTooltip}\n tooltipClassName={style.tooltip}\n TooltipContent={ReviewTooltipContent}\n closeToolTipInformationTextAriaLabel={translate('close_tooltip_information')}\n />\n </div>\n </div>\n </header>\n <div className={style.toolBarContainer}>\n <div className={style.skillFilterContainer}>\n {keys(filters).map((filter, index) => {\n function handleFilterClick() {\n setActiveFilter(filter);\n }\n\n return (\n <div key={index}>\n <FilterButton\n active={activeFilter === filter}\n filter={\n filter === 'all' ? translate('all') : translate('review_mode_available')\n }\n skillTotal={filters[filter].length}\n onClick={handleFilterClick}\n />\n </div>\n );\n })}\n </div>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n </div>\n {searchValue && searchResults.length === 0 ? (\n <div className={style.emptySearchResultContainer}>\n <div className={style.emptySearchResultTitle}>\n {translate('empty_search_result_title', {searchValue})}\n </div>\n <div className={style.emptySearchResultDescription}>\n {translate('empty_search_result_description')}\n </div>\n <div className={style.emptySearchResultClearSearch} onClick={handleSearchReset}>\n {translate('empty_search_result_clear_search')}\n </div>\n </div>\n ) : (\n <div className={style.skillListContainer}>\n {activeFilter === 'review_mode_available' && filters[activeFilter].length === 0 ? (\n <div className={style.skillListEmptyContainer}>\n <ReviewNoSkills\n titleNoSkills={translate('review_skill_empty')}\n textNoSkills={translate('review_skill_empty_description')}\n iconSkillAriaLabel={translate('review_skill_empty')}\n imagePosition=\"top\"\n />\n </div>\n ) : (\n filters[activeFilter].map((skill, index) => {\n function handleReviewSkill() {\n onReviewSkill(skill);\n }\n function handleExploreSkill() {\n onExploreSkill(skill);\n }\n const {score, content, questionsToReview, contentCompleted} =\n skillsInformation[skill].stats;\n return (\n <div key={index}>\n <LearnerSkillCard\n skillTitle={skillsLocales[skill]}\n focus={selectedSkills.includes(skill)}\n metrics={{\n score,\n content,\n questionsToReview,\n contentCompleted\n }}\n review={skillsInformation[skill].availableForReview}\n onReviewClick={handleReviewSkill}\n onExploreClick={handleExploreSkill}\n />\n </div>\n );\n })\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nMyLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nMyLearning.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsInformation: PropTypes.objectOf(\n PropTypes.shape({\n availableForReview: PropTypes.bool,\n stats: PropTypes.shape({\n score: PropTypes.number,\n content: PropTypes.number,\n contentCompleted: PropTypes.number,\n questionsToReview: PropTypes.number,\n learningTime: PropTypes.number\n })\n })\n ),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n learnerFeature: PropTypes.bool,\n isLoading: PropTypes.bool,\n onSkillFocusConfirm: PropTypes.func,\n onReviewSkill: PropTypes.func,\n onExploreSkill: PropTypes.func\n};\n\nexport default MyLearning;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-format.d.ts","sourceRoot":"","sources":["../../src/util/time-format.js"],"names":[],"mappings":"AAAA,oDAWC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.formatMinutes = formatMinutes;
|
|
5
|
+
|
|
6
|
+
function formatMinutes(minutes) {
|
|
7
|
+
const timeArr = [];
|
|
8
|
+
const hours = Math.floor(minutes / 60);
|
|
9
|
+
const remainingMinutes = `${minutes % 60}`;
|
|
10
|
+
|
|
11
|
+
if (hours > 0) {
|
|
12
|
+
timeArr.push(`${hours}h`);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (remainingMinutes > 0) {
|
|
16
|
+
timeArr.push(`${remainingMinutes.padStart(2, '0')}min`);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return timeArr.length > 0 ? timeArr.join(' ') : '0min';
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=time-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-format.js","names":["formatMinutes","minutes","timeArr","hours","Math","floor","remainingMinutes","push","padStart","length","join"],"sources":["../../src/util/time-format.js"],"sourcesContent":["function formatMinutes(minutes) {\n const timeArr = [];\n const hours = Math.floor(minutes / 60);\n const remainingMinutes = `${minutes % 60}`;\n if (hours > 0) {\n timeArr.push(`${hours}h`);\n }\n if (remainingMinutes > 0) {\n timeArr.push(`${remainingMinutes.padStart(2, '0')}min`);\n }\n return timeArr.length > 0 ? timeArr.join(' ') : '0min';\n}\n\nexport {formatMinutes};\n"],"mappings":";;;;;AAAA,SAASA,aAAT,CAAuBC,OAAvB,EAAgC;EAC9B,MAAMC,OAAO,GAAG,EAAhB;EACA,MAAMC,KAAK,GAAGC,IAAI,CAACC,KAAL,CAAWJ,OAAO,GAAG,EAArB,CAAd;EACA,MAAMK,gBAAgB,GAAI,GAAEL,OAAO,GAAG,EAAG,EAAzC;;EACA,IAAIE,KAAK,GAAG,CAAZ,EAAe;IACbD,OAAO,CAACK,IAAR,CAAc,GAAEJ,KAAM,GAAtB;EACD;;EACD,IAAIG,gBAAgB,GAAG,CAAvB,EAA0B;IACxBJ,OAAO,CAACK,IAAR,CAAc,GAAED,gBAAgB,CAACE,QAAjB,CAA0B,CAA1B,EAA6B,GAA7B,CAAkC,KAAlD;EACD;;EACD,OAAON,OAAO,CAACO,MAAR,GAAiB,CAAjB,GAAqBP,OAAO,CAACQ,IAAR,CAAa,GAAb,CAArB,GAAyC,MAAhD;AACD"}
|
package/locales/bs/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Odgovor",
|
|
6
6
|
"At the end of this level, you will be able to_": "Na kraju ovog nivoa moći ćete: ",
|
|
7
7
|
"author": "autor/ica ",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Povezane vještine",
|
|
9
9
|
"Back to Dashboard Home": "Povratak na kontrolnu tablu",
|
|
10
10
|
"back_to_catalog": "Povratak na kurseve",
|
|
11
11
|
"cart_title": "Pretplata za Coorpacademy",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "Započni s pretplatom na Coorpacademy",
|
|
52
52
|
"Post": "Postavi",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Potvrđjujemo otkazivanje pretplate koje nastupa od sljedećeg mjeseca.\n\nU međjuvremenu, možete nastaviti koristiti naš sadržaj na platformi Coorpacademy.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Pritisnite tipku za izlaz da zatvorite informativni tekst",
|
|
55
55
|
"product_cancel": "Otkaži u bilo koje vrijeme.",
|
|
56
56
|
"product_desc_battle": "Borbeni način",
|
|
57
57
|
"product_desc_certificates": "Potvrde Coorpacademy",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Fokus na vještine",
|
|
94
94
|
"skill_focus_footer_description": "Odaberite barem {{skillNumber}} više vještina",
|
|
95
95
|
"skill_focus_footer_error_description": "Poništite odabir barem {{skillNumber}} više vještina",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Sadržaj je završen",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Pitanja za pregled",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Vrijeme učenja",
|
|
99
|
+
"skill_focused_chip_tooltip": "Ova vještina je fokusirana",
|
|
100
100
|
"selected": "odabrano",
|
|
101
101
|
"This message has been removed by its author": "Ovu poruku je uklonio njen autor.",
|
|
102
102
|
"unsubscribe": "Otkaži pretplatu na Coorpacademy.",
|
package/locales/cs/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Odpovědět",
|
|
6
6
|
"At the end of this level, you will be able to_": "Na konci této úrovně budete moci:",
|
|
7
7
|
"author": "autor",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Přidružené dovednosti",
|
|
9
9
|
"Back to Dashboard Home": "Zpět na domovskou stránku ovládacího panelu",
|
|
10
10
|
"back_to_catalog": "Zpět na kurzy",
|
|
11
11
|
"cart_title": "Předplatné Coorpacademy",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "Zahájit předplatné Coorpacademy",
|
|
52
52
|
"Post": "Příspěvek",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Potvrzujeme zrušení předplatného, které bude platit od příštího měsíce.\\n\\nDo té doby můžete obsah platformy Coorpacademy využívat.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Stisknutím klávesy Escape informační text zavřete",
|
|
55
55
|
"product_cancel": "Storno lze provést kdykoli.",
|
|
56
56
|
"product_desc_battle": "Režim souboje",
|
|
57
57
|
"product_desc_certificates": "Certifikáty Coorpacademy",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Zaměření dovednosti",
|
|
94
94
|
"skill_focus_footer_description": "Vyberte alespoň {{skillNumber}} dalších dovedností",
|
|
95
95
|
"skill_focus_footer_error_description": "Zrušte výběr alespoň {{skillNumber}} dalších dovedností",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Obsah dokončen",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Otázky ke kontrole",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Čas na učení",
|
|
99
|
+
"skill_focused_chip_tooltip": "Tato dovednost je zaměřena",
|
|
100
100
|
"selected": "vybráno",
|
|
101
101
|
"This message has been removed by its author": "Tuto zprávu odstranil autor.",
|
|
102
102
|
"unsubscribe": "Zrušit předplatné Coorpacademy",
|
package/locales/de/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Antwort",
|
|
6
6
|
"At the end of this level, you will be able to_": "Am Ende dieses Levels können Sie:",
|
|
7
7
|
"author": "Autor",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Zugehörige Fähigkeiten",
|
|
9
9
|
"Back to Dashboard Home": "Zurück zur Startseite des Dashboards",
|
|
10
10
|
"back_to_catalog": "Zurück zu den Kursen",
|
|
11
11
|
"cart_title": "Coorpacademy Abo",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "Coorpacademy Abo beginnen",
|
|
52
52
|
"Post": "Posten",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Wir bestätigen die Kündigung Ihres Abonnements, die ab nächsten Monat wirksam ist.\n\nIn der Zwischenzeit können Sie weiterhin unsere Inhalte auf der Plattform Coorpacademy benutzen.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Mit der Escape-Taste schließen Sie den Informationstext",
|
|
55
55
|
"product_cancel": "Zu einem beliebigen Zeitpunkt abbrechen.",
|
|
56
56
|
"product_desc_battle": "Battle-Modus",
|
|
57
57
|
"product_desc_certificates": "Coorpacademy Zertifikate",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Fähigkeitsfokus",
|
|
94
94
|
"skill_focus_footer_description": "Wählen Sie mindestens {{skillNumber}} weitere Fähigkeiten aus.",
|
|
95
95
|
"skill_focus_footer_error_description": "Heben Sie die Auswahl von mindestens {{SkillNumber}} weiteren Skills auf.",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Inhalt abgeschlossen",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Zu überprüfende Fragen",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Lernzeit",
|
|
99
|
+
"skill_focused_chip_tooltip": "Diese Fähigkeit konzentriert sich",
|
|
100
100
|
"selected": "ausgewählt",
|
|
101
101
|
"This message has been removed by its author": "Diese Nachricht wurde von seinem Urheber gelöscht.",
|
|
102
102
|
"unsubscribe": "Bei Coorpacademy abmelden",
|
package/locales/en/global.json
CHANGED
|
@@ -93,9 +93,9 @@
|
|
|
93
93
|
"skill_focus": "Skill focus",
|
|
94
94
|
"skill_focus_footer_description": "Select at least {{skillNumber}} more skills",
|
|
95
95
|
"skill_focus_footer_error_description": "Unselect at least {{skillNumber}} more skills",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "Learning
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Content Completed",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Questions to review",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Learning time",
|
|
99
99
|
"skill_focused_chip_tooltip": "This skill is focused",
|
|
100
100
|
"selected": "selected",
|
|
101
101
|
"This message has been removed by its author": "This message has been removed by its author.",
|
package/locales/es/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Respuesta",
|
|
6
6
|
"At the end of this level, you will be able to_": "Al final de este nivel, podrás:",
|
|
7
7
|
"author": "autor",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Habilidades asociadas",
|
|
9
9
|
"Back to Dashboard Home": "Volver al panel de inicio",
|
|
10
10
|
"back_to_catalog": "Volver a los cursos",
|
|
11
11
|
"cart_title": "Suscripción a Coorpacademy",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "Comenzar la suscripción de Coorpacademy",
|
|
52
52
|
"Post": "Publicar",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Te confirmamos la cancelación de tu suscripción, que será efectiva a partir del próximo mes.\\n\\nMientras tanto, puedes seguir disfrutando de nuestro contenido en la plataforma de Coorpacademy.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Presione la tecla Escape para cerrar el texto de información.",
|
|
55
55
|
"product_cancel": "Cancela en cualquier momento.",
|
|
56
56
|
"product_desc_battle": "Modo batalla",
|
|
57
57
|
"product_desc_certificates": "Certificados Coorpacademy",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Enfoque de habilidades",
|
|
94
94
|
"skill_focus_footer_description": "Selecciona al menos {{skillNumber}} habilidades más",
|
|
95
95
|
"skill_focus_footer_error_description": "Quita de la selección al menos {{skillNumber}} habilidades más",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Contenido completado",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Preguntas para revisar",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Tiempo de aprender",
|
|
99
|
+
"skill_focused_chip_tooltip": "Esta habilidad está enfocada",
|
|
100
100
|
"selected": "seleccionada",
|
|
101
101
|
"This message has been removed by its author": "Este mensaje ha sido borrado por su autor.",
|
|
102
102
|
"unsubscribe": "Cancelar la suscripción de Coorpacademy",
|
package/locales/et/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Vastus",
|
|
6
6
|
"At the end of this level, you will be able to_": "Selle taseme läbimisel oskad:",
|
|
7
7
|
"author": "autor",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Seotud oskused",
|
|
9
9
|
"Back to Dashboard Home": "Tagasi esilehele",
|
|
10
10
|
"back_to_catalog": "Tagasi kursuste esilehele",
|
|
11
11
|
"cart_title": "Coorpacademy tellimus",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "Alusta Coorpacademy tellimist",
|
|
52
52
|
"Post": "Postita",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Kinnitame teie tellimuse tühistamise, mis hakkab kehtima alates järgmisest kuust.\n\nSeniks saate jätkuvalt nautida Coorpacademy platvormi sisu.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Teabeteksti sulgemiseks vajutage paoklahvi",
|
|
55
55
|
"product_cancel": "Loobu, kui soovid.",
|
|
56
56
|
"product_desc_battle": "Lahingurežiim",
|
|
57
57
|
"product_desc_certificates": "Coorpacademy tunnistused",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Oskusfookus",
|
|
94
94
|
"skill_focus_footer_description": "Vali vähemalt veel {{skillNumber}} oskust",
|
|
95
95
|
"skill_focus_footer_error_description": "Tühista veel vähemalt {{skillNumber}} oskuse valik",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Sisu valmis",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Küsimused ülevaatamiseks",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Õppimise aeg",
|
|
99
|
+
"skill_focused_chip_tooltip": "See oskus on keskendunud",
|
|
100
100
|
"selected": "valitud",
|
|
101
101
|
"This message has been removed by its author": "Sõnum on autori poolt eemaldatud.",
|
|
102
102
|
"unsubscribe": "Tühista Coorpacademy tellimus",
|
package/locales/fi/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Vastaus",
|
|
6
6
|
"At the end of this level, you will be able to_": "Tämän tason päätteeksi pystyt:",
|
|
7
7
|
"author": "tekijä",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Liittyvät taidot",
|
|
9
9
|
"Back to Dashboard Home": "Takaisin koontinäytön kotisivulle",
|
|
10
10
|
"back_to_catalog": "Takaisin kursseihin",
|
|
11
11
|
"cart_title": "Coorpacademyn tilaus",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "Aloita Coorpacademyn tilaus",
|
|
52
52
|
"Post": "Julkaise",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Vahvistamme tilauksesi peruuttamisen, joka astuu voimaan seuraavan kuun alussa.\n\nVoit sillä välin jatkaa sisältösi käyttämistä Coorpacademyn alustalla.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Sulje tietoteksti painamalla Esc-näppäintä",
|
|
55
55
|
"product_cancel": "Peruuta koska tahansa.",
|
|
56
56
|
"product_desc_battle": "Taistelutila",
|
|
57
57
|
"product_desc_certificates": "Coorpacademyn todistukset",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Osaamisen painopiste",
|
|
94
94
|
"skill_focus_footer_description": "Valitse vähintään {{skillNumber}} valmiutta enemmän",
|
|
95
95
|
"skill_focus_footer_error_description": "Poista vielä vähintään {{skillNumber}} valmiuden valinta",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Sisältö valmis",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Tarkasteltavat kysymykset",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Oppimisaika",
|
|
99
|
+
"skill_focused_chip_tooltip": "Tämä taito on keskittynyt",
|
|
100
100
|
"selected": "valittu",
|
|
101
101
|
"This message has been removed by its author": "Tekijä on poistanut tämän viestin.",
|
|
102
102
|
"unsubscribe": "Peruuta Coorpacademyn tilaus",
|
package/locales/fr/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Répondre",
|
|
6
6
|
"At the end of this level, you will be able to_": "À l'issue de ce cours, vous serez capable de :",
|
|
7
7
|
"author": "auteur",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Compétences associées",
|
|
9
9
|
"Back to Dashboard Home": "Retour à l’accueil du tableau de bord",
|
|
10
10
|
"back_to_catalog": "Retour aux cours",
|
|
11
11
|
"cart_title": "Abonnement Coorpacademy ",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "S'abonner à Coorpacademy",
|
|
52
52
|
"Post": "Envoyer",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Nous confirmons l’annulation de votre abonnement qui entrera en vigueur à partir de mois prochain.\n\nPendant ce temps, vous pouvez continuer à profiter de la formation sur la plateforme Coorpacademy.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Utilisez la touche Echap pour fermer le texte d'information",
|
|
55
55
|
"product_cancel": "Annuler à tout moment.",
|
|
56
56
|
"product_desc_battle": "Battle mode",
|
|
57
57
|
"product_desc_certificates": "Certificats Coorpacademy",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Ciblage des compétences",
|
|
94
94
|
"skill_focus_footer_description": "Sélectionnez au moins {{skillNumber}} compétences supplémentaires",
|
|
95
95
|
"skill_focus_footer_error_description": "Désélectionnez au moins {{skillNumber}} compétences supplémentaires",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Contenu terminé",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Questions à réviser",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Temps d'apprentissage",
|
|
99
|
+
"skill_focused_chip_tooltip": "Cette compétence est sélectionné",
|
|
100
100
|
"selected": "sélectionnées",
|
|
101
101
|
"This message has been removed by its author": "Ce message a été supprimé par son auteur.",
|
|
102
102
|
"unsubscribe": "Se désabonner de Coorpacademy",
|
package/locales/hr/global.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"Answer": "Odgovor",
|
|
6
6
|
"At the end of this level, you will be able to_": "Na kraju ove razine moći ćete:",
|
|
7
7
|
"author": "autor",
|
|
8
|
-
"associated_skills": "
|
|
8
|
+
"associated_skills": "Pridružene vještine",
|
|
9
9
|
"Back to Dashboard Home": "Povratak na početnu stranicu nadzorne ploče",
|
|
10
10
|
"back_to_catalog": "Povratak na tečajeve",
|
|
11
11
|
"cart_title": "Pretplata na Coorpacademy",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"payment_form_submit": "Aktivirajte pretplatu na Coorpacademy",
|
|
52
52
|
"Post": "Objavite",
|
|
53
53
|
"premium_unsubscribe_confirmation": "Potvrđujemo otkazivanje vaše pretplate koja će stupiti na snagu od sljedećeg mjeseca. U međuvremenu možete nastaviti uživati u našem sadržaju na platformi Coorpacademy.",
|
|
54
|
-
"close_tooltip_information": "
|
|
54
|
+
"close_tooltip_information": "Pritisnite tipku Escape za zatvaranje teksta informacija",
|
|
55
55
|
"product_cancel": "Otkažite u bilo kojem trenutku.",
|
|
56
56
|
"product_desc_battle": "Dvoboji",
|
|
57
57
|
"product_desc_certificates": "Coorpacademy potvrde",
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
"skill_focus": "Fokus vještina",
|
|
94
94
|
"skill_focus_footer_description": "Odaberi još najmanje {{skillNumber}} vještina",
|
|
95
95
|
"skill_focus_footer_error_description": "Poništi odabir najmanje još {{skillNumber}} vještina",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"skill_chart_side_panel_learning_hours": "
|
|
99
|
-
"skill_focused_chip_tooltip": "
|
|
96
|
+
"skill_chart_side_panel_content_completed": "Sadržaj dovršen",
|
|
97
|
+
"skill_chart_side_panel_questions_to_review": "Pitanja za pregled",
|
|
98
|
+
"skill_chart_side_panel_learning_hours": "Vrijeme učenja",
|
|
99
|
+
"skill_focused_chip_tooltip": "Ova vještina je fokusirana",
|
|
100
100
|
"selected": "odabrano",
|
|
101
101
|
"This message has been removed by its author": "Ovu poruku uklonio je njezin autor.",
|
|
102
102
|
"unsubscribe": "Otkažite pretplatu na Coorpacademy",
|