@edx/frontend-app-subscription-learner-dashboard 1.8.4 → 1.8.5

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.
@@ -30,7 +30,8 @@ const ProgramProgress = () => {
30
30
  const inProgressCourseCount = ((_h = courseData === null || courseData === void 0 ? void 0 : courseData.inProgress) === null || _h === void 0 ? void 0 : _h.length) || 0;
31
31
  const remainingCourseCount = ((_j = courseData === null || courseData === void 0 ? void 0 : courseData.notStarted) === null || _j === void 0 ? void 0 : _j.length) || 0;
32
32
  const completedCourseCount = ((_k = courseData === null || courseData === void 0 ? void 0 : courseData.completed) === null || _k === void 0 ? void 0 : _k.length) || 0;
33
- return (_jsxs(_Fragment, { children: [_jsx(Helmet, { title: `${programData === null || programData === void 0 ? void 0 : programData.title}` }), _jsxs(Container, { fluid: false, size: "xl", className: "p-4.5", children: [_jsx(ProgramProgressHeader, { programTitle: (_l = programData === null || programData === void 0 ? void 0 : programData.title) !== null && _l !== void 0 ? _l : '', programType: (_m = programData === null || programData === void 0 ? void 0 : programData.type) !== null && _m !== void 0 ? _m : '', authoringOrganizations: programData === null || programData === void 0 ? void 0 : programData.authoringOrganizations }), _jsx(Row, { children: _jsxs(Col, { sm: 12, md: 8, children: [_jsx(ProgramProgressInfo, { allCoursesCompleted: allCoursesCompleted, totalCoursesInProgram: totalCoursesInProgram, programTitle: (_o = programData === null || programData === void 0 ? void 0 : programData.title) !== null && _o !== void 0 ? _o : '' }), _jsx(ProgramProgressTabs, { counts: { inProgress: inProgressCourseCount, remaining: remainingCourseCount, completed: completedCourseCount }, type: programType })] }) })] })] }));
33
+ const discountData = programData === null || programData === void 0 ? void 0 : programData.discountData;
34
+ return (_jsxs(_Fragment, { children: [_jsx(Helmet, { title: `${programData === null || programData === void 0 ? void 0 : programData.title}` }), _jsxs(Container, { fluid: false, size: "xl", className: "p-4.5", children: [_jsx(ProgramProgressHeader, { programTitle: (_l = programData === null || programData === void 0 ? void 0 : programData.title) !== null && _l !== void 0 ? _l : '', programType: (_m = programData === null || programData === void 0 ? void 0 : programData.type) !== null && _m !== void 0 ? _m : '', authoringOrganizations: programData === null || programData === void 0 ? void 0 : programData.authoringOrganizations }), _jsx(Row, { children: _jsxs(Col, { sm: 12, md: 8, children: [_jsx(ProgramProgressInfo, { allCoursesCompleted: allCoursesCompleted, totalCoursesInProgram: totalCoursesInProgram, programTitle: (_o = programData === null || programData === void 0 ? void 0 : programData.title) !== null && _o !== void 0 ? _o : '', discountData: discountData }), _jsx(ProgramProgressTabs, { counts: { inProgress: inProgressCourseCount, remaining: remainingCourseCount, completed: completedCourseCount }, type: programType })] }) })] })] }));
34
35
  };
35
36
  export default ProgramProgress;
36
37
  //# sourceMappingURL=ProgramProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgramProgress.js","sourceRoot":"","sources":["../../../../src/containers/ProgramDashboard/ProgramProgress/ProgramProgress.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FC } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { Col, Container, Row } from '@openedx/paragon';\n\nimport './index.scss';\nimport { useProgressData } from '@src/hooks';\nimport ProgramProgressHeader from './ProgramProgressHeader';\nimport ProgramProgressInfo from './ProgramProgressInfo';\nimport { ProgramProgressTabs } from './ProgramProgressTabs';\n\nconst ProgramProgress: FC = () => {\n const { programProgressData, isLoading, error } = useProgressData();\n\n if (programProgressData === null) {\n return <div>Invalid URL</div>;\n }\n\n if (isLoading) {\n return <div>Loading...</div>;\n }\n\n if (error) {\n return <div>Error occurred</div>;\n }\n\n const programData = programProgressData?.programData;\n const courseData = programProgressData?.courseData;\n\n const totalCoursesInProgram = (courseData.notStarted?.length || 0)\n + (courseData.completed?.length || 0)\n + (courseData.inProgress?.length || 0);\n\n const allCoursesCompleted = !courseData.notStarted?.length\n && !courseData.inProgress?.length\n && courseData.completed?.length;\n\n const programType = programData?.type ?? '';\n const inProgressCourseCount = courseData?.inProgress?.length || 0;\n const remainingCourseCount = courseData?.notStarted?.length || 0;\n const completedCourseCount = courseData?.completed?.length || 0;\n\n return (\n <>\n <Helmet title={`${programData?.title}`} />\n <Container fluid={false} size=\"xl\" className=\"p-4.5\">\n <ProgramProgressHeader\n programTitle={programData?.title ?? ''}\n programType={programData?.type ?? ''}\n authoringOrganizations={programData?.authoringOrganizations}\n />\n <Row>\n <Col sm={12} md={8}>\n <ProgramProgressInfo\n allCoursesCompleted={allCoursesCompleted}\n totalCoursesInProgram={totalCoursesInProgram}\n programTitle={programData?.title ?? ''}\n />\n <ProgramProgressTabs counts={{ inProgress: inProgressCourseCount, remaining: remainingCourseCount, completed: completedCourseCount }} type={programType} />\n </Col>\n </Row>\n </Container>\n </>\n );\n};\n\nexport default ProgramProgress;\n"]}
1
+ {"version":3,"file":"ProgramProgress.js","sourceRoot":"","sources":["../../../../src/containers/ProgramDashboard/ProgramProgress/ProgramProgress.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FC } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { Col, Container, Row } from '@openedx/paragon';\n\nimport './index.scss';\nimport { useProgressData } from '@src/hooks';\nimport ProgramProgressHeader from './ProgramProgressHeader';\nimport ProgramProgressInfo from './ProgramProgressInfo';\nimport { ProgramProgressTabs } from './ProgramProgressTabs';\n\nconst ProgramProgress: FC = () => {\n const { programProgressData, isLoading, error } = useProgressData();\n\n if (programProgressData === null) {\n return <div>Invalid URL</div>;\n }\n\n if (isLoading) {\n return <div>Loading...</div>;\n }\n\n if (error) {\n return <div>Error occurred</div>;\n }\n\n const programData = programProgressData?.programData;\n const courseData = programProgressData?.courseData;\n\n const totalCoursesInProgram = (courseData.notStarted?.length || 0)\n + (courseData.completed?.length || 0)\n + (courseData.inProgress?.length || 0);\n\n const allCoursesCompleted = !courseData.notStarted?.length\n && !courseData.inProgress?.length\n && courseData.completed?.length;\n\n const programType = programData?.type ?? '';\n const inProgressCourseCount = courseData?.inProgress?.length || 0;\n const remainingCourseCount = courseData?.notStarted?.length || 0;\n const completedCourseCount = courseData?.completed?.length || 0;\n const discountData = programData?.discountData;\n\n return (\n <>\n <Helmet title={`${programData?.title}`} />\n <Container fluid={false} size=\"xl\" className=\"p-4.5\">\n <ProgramProgressHeader\n programTitle={programData?.title ?? ''}\n programType={programData?.type ?? ''}\n authoringOrganizations={programData?.authoringOrganizations}\n />\n <Row>\n <Col sm={12} md={8}>\n <ProgramProgressInfo\n allCoursesCompleted={allCoursesCompleted}\n totalCoursesInProgram={totalCoursesInProgram}\n programTitle={programData?.title ?? ''}\n discountData={discountData}\n />\n <ProgramProgressTabs counts={{ inProgress: inProgressCourseCount, remaining: remainingCourseCount, completed: completedCourseCount }} type={programType} />\n </Col>\n </Row>\n </Container>\n </>\n );\n};\n\nexport default ProgramProgress;\n"]}
@@ -2,11 +2,11 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { useIntl } from '@openedx/frontend-base';
3
3
  import messages from './messages';
4
4
  import { UpgradeAllButton } from './UpgradeButton';
5
- const ProgramProgressInfo = ({ allCoursesCompleted, totalCoursesInProgram, programTitle, }) => {
5
+ const ProgramProgressInfo = ({ allCoursesCompleted, totalCoursesInProgram, programTitle, discountData }) => {
6
6
  const { formatMessage } = useIntl();
7
7
  return (_jsx("div", { className: "pb-4.5", children: allCoursesCompleted
8
8
  ? (_jsxs(_Fragment, { children: [_jsx("h3", { children: formatMessage(messages.programProgressCompleteHeader) }), _jsx("p", { children: formatMessage(messages.programProgressCompleteText, { programTitle }) })] }))
9
- : (_jsxs(_Fragment, { children: [_jsx("h3", { className: "program-journey-header font-weight-bold", children: formatMessage(messages.programProgressIncompleteHeader) }), _jsx("p", { className: "program-journey-text", "data-testid": "program-incomplete-info-text", children: formatMessage(messages.programProgressIncompleteText, { totalCoursesInProgram }) }), _jsx(UpgradeAllButton, {})] })) }));
9
+ : (_jsxs(_Fragment, { children: [_jsx("h3", { className: "program-journey-header font-weight-bold", children: formatMessage(messages.programProgressIncompleteHeader) }), _jsx("p", { className: "program-journey-text", "data-testid": "program-incomplete-info-text", children: formatMessage(messages.programProgressIncompleteText, { totalCoursesInProgram }) }), (discountData === null || discountData === void 0 ? void 0 : discountData.currency) && typeof (discountData === null || discountData === void 0 ? void 0 : discountData.totalInclTax) === 'number' && typeof (discountData === null || discountData === void 0 ? void 0 : discountData.totalInclTaxExclDiscounts) === 'number' && (_jsx(UpgradeAllButton, {}))] })) }));
10
10
  };
11
11
  export default ProgramProgressInfo;
12
12
  //# sourceMappingURL=ProgramProgressInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgramProgressInfo.js","sourceRoot":"","sources":["../../../../src/containers/ProgramDashboard/ProgramProgress/ProgramProgressInfo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,mBAAmB,GAAuC,CAAC,EAC/D,mBAAmB,EAAE,qBAAqB,EAAE,YAAY,GACzD,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,OAAO,CACL,cAAK,SAAS,EAAC,QAAQ,YACpB,mBAAmB;YAClB,CAAC,CAAC,CACE,8BACE,uBAAK,aAAa,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAM,EAChE,sBAAI,aAAa,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,CAAC,GAAK,IAC7E,CACJ;YACH,CAAC,CAAC,CACE,8BACE,aAAI,SAAS,EAAC,yCAAyC,YAAE,aAAa,CAAC,QAAQ,CAAC,+BAA+B,CAAC,GAAM,EACtH,YAAG,SAAS,EAAC,sBAAsB,iBAAa,8BAA8B,YAC3E,aAAa,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,qBAAqB,EAAE,CAAC,GAC/E,EACJ,KAAC,gBAAgB,KAAG,IACnB,CACJ,GACD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import React from 'react';\nimport { useIntl } from '@openedx/frontend-base';\nimport { ProgramProgressInfoProps } from '../data/types';\nimport messages from './messages';\n\nimport { UpgradeAllButton } from './UpgradeButton';\n\nconst ProgramProgressInfo: React.FC<ProgramProgressInfoProps> = ({\n allCoursesCompleted, totalCoursesInProgram, programTitle,\n}) => {\n const { formatMessage } = useIntl();\n return (\n <div className=\"pb-4.5\">\n {allCoursesCompleted\n ? (\n <>\n <h3>{formatMessage(messages.programProgressCompleteHeader)}</h3>\n <p>{formatMessage(messages.programProgressCompleteText, { programTitle })}</p>\n </>\n )\n : (\n <>\n <h3 className=\"program-journey-header font-weight-bold\">{formatMessage(messages.programProgressIncompleteHeader)}</h3>\n <p className=\"program-journey-text\" data-testid=\"program-incomplete-info-text\">\n {formatMessage(messages.programProgressIncompleteText, { totalCoursesInProgram })}\n </p>\n <UpgradeAllButton />\n </>\n )}\n </div>\n );\n};\n\nexport default ProgramProgressInfo;\n"]}
1
+ {"version":3,"file":"ProgramProgressInfo.js","sourceRoot":"","sources":["../../../../src/containers/ProgramDashboard/ProgramProgress/ProgramProgressInfo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,mBAAmB,GAAuC,CAAC,EAC/D,mBAAmB,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EACvE,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,OAAO,CACL,cAAK,SAAS,EAAC,QAAQ,YACpB,mBAAmB;YAClB,CAAC,CAAC,CACE,8BACE,uBAAK,aAAa,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAM,EAChE,sBAAI,aAAa,CAAC,QAAQ,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,CAAC,GAAK,IAC7E,CACJ;YACH,CAAC,CAAC,CACE,8BACE,aAAI,SAAS,EAAC,yCAAyC,YAAE,aAAa,CAAC,QAAQ,CAAC,+BAA+B,CAAC,GAAM,EACtH,YAAG,SAAS,EAAC,sBAAsB,iBAAa,8BAA8B,YAC3E,aAAa,CAAC,QAAQ,CAAC,6BAA6B,EAAE,EAAE,qBAAqB,EAAE,CAAC,GAC/E,EACH,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,KAAI,OAAO,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,CAAA,KAAK,QAAQ,IAAI,OAAO,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,yBAAyB,CAAA,KAAK,QAAQ,IAAI,CAC1I,KAAC,gBAAgB,KAAG,CACrB,IACA,CACJ,GACD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import React from 'react';\nimport { useIntl } from '@openedx/frontend-base';\nimport { ProgramProgressInfoProps } from '../data/types';\nimport messages from './messages';\n\nimport { UpgradeAllButton } from './UpgradeButton';\n\nconst ProgramProgressInfo: React.FC<ProgramProgressInfoProps> = ({\n allCoursesCompleted, totalCoursesInProgram, programTitle, discountData\n}) => {\n const { formatMessage } = useIntl();\n return (\n <div className=\"pb-4.5\">\n {allCoursesCompleted\n ? (\n <>\n <h3>{formatMessage(messages.programProgressCompleteHeader)}</h3>\n <p>{formatMessage(messages.programProgressCompleteText, { programTitle })}</p>\n </>\n )\n : (\n <>\n <h3 className=\"program-journey-header font-weight-bold\">{formatMessage(messages.programProgressIncompleteHeader)}</h3>\n <p className=\"program-journey-text\" data-testid=\"program-incomplete-info-text\">\n {formatMessage(messages.programProgressIncompleteText, { totalCoursesInProgram })}\n </p>\n {discountData?.currency && typeof discountData?.totalInclTax === 'number' && typeof discountData?.totalInclTaxExclDiscounts === 'number' && (\n <UpgradeAllButton />\n )}\n </>\n )}\n </div>\n );\n};\n\nexport default ProgramProgressInfo;\n"]}
@@ -16,14 +16,11 @@ const UpgradeAllButton = () => {
16
16
  return null;
17
17
  }
18
18
  const { discountData } = programProgressData.programData;
19
- if (discountData) {
20
- const { currency, isDiscounted, totalInclTaxExclDiscounts, totalInclTax, } = discountData;
21
- if (isDiscounted) {
22
- return (_jsxs(_Fragment, { children: [_jsx("span", { className: "list-price", children: _jsx(FormattedNumber, { value: totalInclTaxExclDiscounts, style: "currency", currency: currency, maximumFractionDigits: 2, minimumFractionDigits: 2 }) }), _jsx("span", { children: _jsx(FormattedNumber, { value: totalInclTax, style: "currency", currency: currency, maximumFractionDigits: 2, minimumFractionDigits: 2 }) })] }));
23
- }
24
- return (_jsx("span", { children: _jsx(FormattedNumber, { value: totalInclTax, style: "currency", currency: currency, maximumFractionDigits: 2, minimumFractionDigits: 2 }) }));
19
+ if (!discountData) {
20
+ return null;
25
21
  }
26
- return null;
22
+ const { currency, totalInclTaxExclDiscounts, totalInclTax, } = discountData;
23
+ return (_jsxs(_Fragment, { children: [_jsx("span", { className: "list-price", children: _jsx(FormattedNumber, { value: totalInclTaxExclDiscounts, style: "currency", currency: currency, maximumFractionDigits: 2, minimumFractionDigits: 2 }) }), _jsx("span", { children: _jsx(FormattedNumber, { value: totalInclTax, style: "currency", currency: currency, maximumFractionDigits: 2, minimumFractionDigits: 2 }) })] }));
27
24
  };
28
25
  return (_jsxs(Button, { as: "a", className: "upgrade-all-button", href: urls && urls.buyButtonUrl, "data-testid": "upgrade-all-button", variant: "brand", children: [_jsx("span", { children: formatMessage(messages.upgradeAllRemainingCoursesButtonText) }), getAllRemainingCoursesPrice() && (_jsx("span", { className: "all-remaining-courses-price", children: getAllRemainingCoursesPrice() }))] }));
29
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UpgradeAllButton.js","sourceRoot":"","sources":["../../../../../src/containers/ProgramDashboard/ProgramProgress/UpgradeButton/UpgradeAllButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,gBAAgB,GAAO,GAAG,EAAE;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAsB,CAAC;IAEjD,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAElD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;IAErC,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC;QAEzD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,yBAAyB,EACzB,YAAY,GACb,GAAG,YAAY,CAAC;YAEjB,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CACL,8BACE,eAAM,SAAS,EAAC,YAAY,YAC1B,KAAC,eAAe,IACd,KAAK,EAAE,yBAAyB,EAChC,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,CAAC,EACxB,qBAAqB,EAAE,CAAC,GACxB,GACG,EACP,yBACE,KAAC,eAAe,IACd,KAAK,EAAE,YAAY,EACnB,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,CAAC,EACxB,qBAAqB,EAAE,CAAC,GACxB,GACG,IACN,CACJ,CAAC;YACJ,CAAC;YACD,OAAO,CACL,yBACE,KAAC,eAAe,IACd,KAAK,EAAE,YAAY,EACnB,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,CAAC,EACxB,qBAAqB,EAAE,CAAC,GACxB,GACG,CACR,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,MAAM,IACL,EAAE,EAAC,GAAG,EACN,SAAS,EAAC,oBAAoB,EAC9B,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,iBACnB,oBAAoB,EAChC,OAAO,EAAC,OAAO,aAEf,yBACG,aAAa,CAAC,QAAQ,CAAC,oCAAoC,CAAC,GACxD,EACN,2BAA2B,EAAE,IAAI,CAChC,eAAM,SAAS,EAAC,6BAA6B,YAC1C,2BAA2B,EAAE,GACzB,CACR,IACM,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import { FC } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { Button } from '@openedx/paragon';\nimport { FormattedNumber, useIntl, camelCaseObject } from '@openedx/frontend-base';\n\nimport { useProgramProgressData } from '@src/data/hooks/queryHooks';\nimport './index.scss';\nimport messages from './messages';\n\nconst UpgradeAllButton: FC = () => {\n const { uuid } = useParams() as { uuid: string };\n\n const { data } = useProgramProgressData(uuid);\n const programProgressData = camelCaseObject(data);\n\n const { formatMessage } = useIntl();\n const { urls } = programProgressData;\n\n const getAllRemainingCoursesPrice = () => {\n if (!programProgressData.programData) {\n return null;\n }\n const { discountData } = programProgressData.programData;\n\n if (discountData) {\n const {\n currency,\n isDiscounted,\n totalInclTaxExclDiscounts,\n totalInclTax,\n } = discountData;\n\n if (isDiscounted) {\n return (\n <>\n <span className=\"list-price\">\n <FormattedNumber\n value={totalInclTaxExclDiscounts}\n style=\"currency\"\n currency={currency}\n maximumFractionDigits={2}\n minimumFractionDigits={2}\n />\n </span>\n <span>\n <FormattedNumber\n value={totalInclTax}\n style=\"currency\"\n currency={currency}\n maximumFractionDigits={2}\n minimumFractionDigits={2}\n />\n </span>\n </>\n );\n }\n return (\n <span>\n <FormattedNumber\n value={totalInclTax}\n style=\"currency\"\n currency={currency}\n maximumFractionDigits={2}\n minimumFractionDigits={2}\n />\n </span>\n );\n }\n return null;\n };\n\n return (\n <Button\n as=\"a\"\n className=\"upgrade-all-button\"\n href={urls && urls.buyButtonUrl}\n data-testid=\"upgrade-all-button\"\n variant=\"brand\"\n >\n <span>\n {formatMessage(messages.upgradeAllRemainingCoursesButtonText)}\n </span>\n {getAllRemainingCoursesPrice() && (\n <span className=\"all-remaining-courses-price\">\n {getAllRemainingCoursesPrice()}\n </span>\n )}\n </Button>\n );\n};\n\nexport default UpgradeAllButton;\n"]}
1
+ {"version":3,"file":"UpgradeAllButton.js","sourceRoot":"","sources":["../../../../../src/containers/ProgramDashboard/ProgramProgress/UpgradeButton/UpgradeAllButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,cAAc,CAAC;AACtB,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,gBAAgB,GAAO,GAAG,EAAE;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,EAAsB,CAAC;IAEjD,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAElD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;IAErC,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC;QACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EACJ,QAAQ,EACR,yBAAyB,EACzB,YAAY,GACb,GAAG,YAAY,CAAC;QAEjB,OAAO,CACL,8BACE,eAAM,SAAS,EAAC,YAAY,YAC1B,KAAC,eAAe,IACd,KAAK,EAAE,yBAAyB,EAChC,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,CAAC,EACxB,qBAAqB,EAAE,CAAC,GACxB,GACG,EACP,yBACE,KAAC,eAAe,IACd,KAAK,EAAE,YAAY,EACnB,KAAK,EAAC,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,CAAC,EACxB,qBAAqB,EAAE,CAAC,GACxB,GACG,IACN,CACJ,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,MAAM,IACL,EAAE,EAAC,GAAG,EACN,SAAS,EAAC,oBAAoB,EAC9B,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,iBACnB,oBAAoB,EAChC,OAAO,EAAC,OAAO,aAEf,yBACG,aAAa,CAAC,QAAQ,CAAC,oCAAoC,CAAC,GACxD,EACN,2BAA2B,EAAE,IAAI,CAChC,eAAM,SAAS,EAAC,6BAA6B,YAC1C,2BAA2B,EAAE,GACzB,CACR,IACM,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import { FC } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { Button } from '@openedx/paragon';\nimport { FormattedNumber, useIntl, camelCaseObject } from '@openedx/frontend-base';\n\nimport { useProgramProgressData } from '@src/data/hooks/queryHooks';\nimport './index.scss';\nimport messages from './messages';\n\nconst UpgradeAllButton: FC = () => {\n const { uuid } = useParams() as { uuid: string };\n\n const { data } = useProgramProgressData(uuid);\n const programProgressData = camelCaseObject(data);\n\n const { formatMessage } = useIntl();\n const { urls } = programProgressData;\n\n const getAllRemainingCoursesPrice = () => {\n if (!programProgressData.programData) {\n return null;\n }\n const { discountData } = programProgressData.programData;\n if (!discountData) {\n return null;\n }\n\n const {\n currency,\n totalInclTaxExclDiscounts,\n totalInclTax,\n } = discountData;\n\n return (\n <>\n <span className=\"list-price\">\n <FormattedNumber\n value={totalInclTaxExclDiscounts}\n style=\"currency\"\n currency={currency}\n maximumFractionDigits={2}\n minimumFractionDigits={2}\n />\n </span>\n <span>\n <FormattedNumber\n value={totalInclTax}\n style=\"currency\"\n currency={currency}\n maximumFractionDigits={2}\n minimumFractionDigits={2}\n />\n </span>\n </>\n );\n };\n\n return (\n <Button\n as=\"a\"\n className=\"upgrade-all-button\"\n href={urls && urls.buyButtonUrl}\n data-testid=\"upgrade-all-button\"\n variant=\"brand\"\n >\n <span>\n {formatMessage(messages.upgradeAllRemainingCoursesButtonText)}\n </span>\n {getAllRemainingCoursesPrice() && (\n <span className=\"all-remaining-courses-price\">\n {getAllRemainingCoursesPrice()}\n </span>\n )}\n </Button>\n );\n};\n\nexport default UpgradeAllButton;\n"]}
@@ -1,5 +1,5 @@
1
1
  import { getSiteConfig } from '@openedx/frontend-base';
2
2
  export const getApiUrl = () => (`${getSiteConfig().lmsBaseUrl}/api`);
3
- export const programProgressUrl = (uuid) => `${getApiUrl()}/dashboard/v0/programs/${encodeURIComponent(uuid)}/progress_details/`;
3
+ export const programProgressUrl = (uuid) => `${getApiUrl()}/subscription/programs/${encodeURIComponent(uuid)}/`;
4
4
  export const programsApiUrl = () => `${getApiUrl()}/subscription/programs/dashboard/`;
5
5
  //# sourceMappingURL=urls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../../src/data/services/subs/urls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACzI,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,EAAE,mCAAmC,CAAC","sourcesContent":["import { getSiteConfig } from '@openedx/frontend-base';\n\nexport const getApiUrl = () => (`${getSiteConfig().lmsBaseUrl}/api`);\n\nexport const programProgressUrl = (uuid: string) => `${getApiUrl()}/dashboard/v0/programs/${encodeURIComponent(uuid)}/progress_details/`;\nexport const programsApiUrl = () => `${getApiUrl()}/subscription/programs/dashboard/`;\n"]}
1
+ {"version":3,"file":"urls.js","sourceRoot":"","sources":["../../../../src/data/services/subs/urls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;AACxH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,SAAS,EAAE,mCAAmC,CAAC","sourcesContent":["import { getSiteConfig } from '@openedx/frontend-base';\n\nexport const getApiUrl = () => (`${getSiteConfig().lmsBaseUrl}/api`);\n\nexport const programProgressUrl = (uuid: string) => `${getApiUrl()}/subscription/programs/${encodeURIComponent(uuid)}/`;\nexport const programsApiUrl = () => `${getApiUrl()}/subscription/programs/dashboard/`;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/frontend-app-subscription-learner-dashboard",
3
- "version": "1.8.4",
3
+ "version": "1.8.5",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",