@edx/frontend-app-subscription-learner-dashboard 1.9.0 → 1.11.0

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.
Files changed (57) hide show
  1. package/dist/assets/Unlimited.svg +23 -0
  2. package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js +4 -4
  3. package/dist/containers/CourseCard/components/CourseCardActions/BeginCourseButton.js.map +1 -1
  4. package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js +4 -4
  5. package/dist/containers/CourseCard/components/CourseCardActions/ResumeButton.js.map +1 -1
  6. package/dist/containers/CourseCard/components/CourseCardActions/index.js +3 -2
  7. package/dist/containers/CourseCard/components/CourseCardActions/index.js.map +1 -1
  8. package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js +2 -2
  9. package/dist/containers/CourseCard/components/CourseCardBanners/CertificateBanner.js.map +1 -1
  10. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js +2 -2
  11. package/dist/containers/CourseCard/components/CourseCardBanners/CreditBanner/hooks.js.map +1 -1
  12. package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js +2 -2
  13. package/dist/containers/CourseCard/components/CourseCardBanners/EntitlementBanner.js.map +1 -1
  14. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js +3 -0
  15. package/dist/containers/CourseCard/components/CourseCardDetails/hooks.js.map +1 -1
  16. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js +2 -2
  17. package/dist/containers/CourseCard/components/CourseCardMenu/hooks.js.map +1 -1
  18. package/dist/containers/CourseFilterControls/CourseFilterControls.js +3 -3
  19. package/dist/containers/CourseFilterControls/CourseFilterControls.js.map +1 -1
  20. package/dist/containers/CoursesPanel/NoCoursesView/index.js +2 -2
  21. package/dist/containers/CoursesPanel/NoCoursesView/index.js.map +1 -1
  22. package/dist/containers/CoursesPanel/index.js +4 -3
  23. package/dist/containers/CoursesPanel/index.js.map +1 -1
  24. package/dist/containers/Dashboard/index.js +3 -3
  25. package/dist/containers/Dashboard/index.js.map +1 -1
  26. package/dist/data/hooks/index.d.ts +2 -2
  27. package/dist/data/hooks/index.js +2 -2
  28. package/dist/data/hooks/index.js.map +1 -1
  29. package/dist/data/hooks/queryHooks.d.ts +165 -2
  30. package/dist/data/hooks/queryHooks.js +34 -8
  31. package/dist/data/hooks/queryHooks.js.map +1 -1
  32. package/dist/data/hooks/queryKeys.d.ts +2 -1
  33. package/dist/data/hooks/queryKeys.js +2 -1
  34. package/dist/data/hooks/queryKeys.js.map +1 -1
  35. package/dist/data/services/subs/api.d.ts +2 -0
  36. package/dist/data/services/subs/api.js +11 -0
  37. package/dist/data/services/subs/api.js.map +1 -1
  38. package/dist/data/services/subs/index.d.ts +1 -1
  39. package/dist/data/services/subs/index.js +1 -1
  40. package/dist/data/services/subs/index.js.map +1 -1
  41. package/dist/data/services/subs/urls.d.ts +3 -0
  42. package/dist/data/services/subs/urls.js +10 -0
  43. package/dist/data/services/subs/urls.js.map +1 -1
  44. package/dist/hooks/useCourseData.js +2 -2
  45. package/dist/hooks/useCourseData.js.map +1 -1
  46. package/dist/hooks/useIsMasquerading.js +2 -2
  47. package/dist/hooks/useIsMasquerading.js.map +1 -1
  48. package/dist/messages.d.ts +25 -0
  49. package/dist/messages.js +25 -0
  50. package/dist/messages.js.map +1 -1
  51. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js +2 -2
  52. package/dist/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js.map +1 -1
  53. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js +2 -2
  54. package/dist/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js.map +1 -1
  55. package/dist/widgets/LearnerDashboardHeader/app.js +31 -0
  56. package/dist/widgets/LearnerDashboardHeader/app.js.map +1 -1
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,qBAAqB,EAAE;QACrB,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE,YAAY;KAC7B;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,oCAAoC;QACjD,cAAc,EAAE,wBAAwB;KACzC;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n 'subs-dash.loadingSR': {\n id: 'subs-dash.loadingSR',\n description: 'Page loading screen-reader text',\n defaultMessage: 'Loading...',\n },\n 'subs-dash.title': {\n id: 'subs-dash.title',\n description: 'Page title: Subscription Dashboard',\n defaultMessage: 'Subscription Dashboard',\n },\n});\n\nexport default messages;\n"]}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,cAAc,CAAC;IAC9B,qBAAqB,EAAE;QACrB,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE,YAAY;KAC7B;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,oCAAoC;QACjD,cAAc,EAAE,wBAAwB;KACzC;IACD,6BAA6B,EAAE;QAC7B,EAAE,EAAE,6BAA6B;QACjC,cAAc,EAAE,yBAAyB;QACzC,WAAW,EAAE,4BAA4B;KAC1C;IACD,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,uBAAuB;KACrC;IACD,4BAA4B,EAAE;QAC5B,EAAE,EAAE,4BAA4B;QAChC,cAAc,EAAE,YAAY;QAC5B,WAAW,EAAE,wBAAwB;KACtC;IACD,+BAA+B,EAAE;QAC/B,EAAE,EAAE,+BAA+B;QACnC,cAAc,EAAE,eAAe;QAC/B,WAAW,EAAE,2BAA2B;KACzC;IACD,uBAAuB,EAAE;QACvB,EAAE,EAAE,uBAAuB;QAC3B,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,kBAAkB;KAChC;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n 'subs-dash.loadingSR': {\n id: 'subs-dash.loadingSR',\n description: 'Page loading screen-reader text',\n defaultMessage: 'Loading...',\n },\n 'subs-dash.title': {\n id: 'subs-dash.title',\n description: 'Page title: Subscription Dashboard',\n defaultMessage: 'Subscription Dashboard',\n },\n 'header.user.menu.lastCourse': {\n id: 'header.user.menu.lastCourse',\n defaultMessage: 'Resume your last course',\n description: 'Link to resume last course',\n },\n 'header.user.menu.dashboard': {\n id: 'header.user.menu.dashboard',\n defaultMessage: 'Dashboard',\n description: 'Link to the Dashboard',\n },\n 'header.user.menu.myCourses': {\n id: 'header.user.menu.myCourses',\n defaultMessage: 'My courses',\n description: 'Link to the My Courses',\n },\n 'header.user.menu.orderHistory': {\n id: 'header.user.menu.orderHistory',\n defaultMessage: 'Order History',\n description: 'Link to the Order History',\n },\n 'header.user.menu.help': {\n id: 'header.user.menu.help',\n defaultMessage: 'Help',\n description: 'Link to the Help',\n },\n});\n\nexport default messages;\n"]}
@@ -1,8 +1,8 @@
1
1
  import { useState } from 'react';
2
- import { useInitializeLearnerHome, useSendConfirmEmail } from '../../../data/hooks';
2
+ import { useInitializeSubsDashboard, useSendConfirmEmail } from '../../../data/hooks';
3
3
  export const useConfirmEmailBannerData = () => {
4
4
  var _a, _b;
5
- const { data: learnerData } = useInitializeLearnerHome();
5
+ const { data: learnerData } = useInitializeSubsDashboard();
6
6
  const isNeeded = ((_a = learnerData === null || learnerData === void 0 ? void 0 : learnerData.emailConfirmation) === null || _a === void 0 ? void 0 : _a.isNeeded) || false;
7
7
  const sendEmailUrl = ((_b = learnerData === null || learnerData === void 0 ? void 0 : learnerData.emailConfirmation) === null || _b === void 0 ? void 0 : _b.sendEmailUrl) || '';
8
8
  const { mutate: sendConfirmEmail } = useSendConfirmEmail(sendEmailUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;;IAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,0CAAE,QAAQ,KAAI,KAAK,CAAC;IACnE,MAAM,YAAY,GAAG,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,0CAAE,YAAY,KAAI,EAAE,CAAC;IACxE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,OAAO;QACL,QAAQ;QACR,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,2BAA2B;KAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,yBAAyB,CAAC","sourcesContent":["import { useState } from 'react';\n\nimport { useInitializeLearnerHome, useSendConfirmEmail } from '@src/data/hooks';\n\nexport const useConfirmEmailBannerData = () => {\n const { data: learnerData } = useInitializeLearnerHome();\n const isNeeded = learnerData?.emailConfirmation?.isNeeded || false;\n const sendEmailUrl = learnerData?.emailConfirmation?.sendEmailUrl || '';\n const { mutate: sendConfirmEmail } = useSendConfirmEmail(sendEmailUrl);\n const [showPageBanner, setShowPageBanner] = useState(isNeeded);\n const [showConfirmModal, setShowConfirmModal] = useState(false);\n const closePageBanner = () => setShowPageBanner(false);\n const closeConfirmModal = () => setShowConfirmModal(false);\n const openConfirmModal = () => setShowConfirmModal(true);\n\n const openConfirmModalButtonClick = () => {\n sendConfirmEmail();\n openConfirmModal();\n closePageBanner();\n };\n\n const userConfirmEmailButtonClick = () => {\n closeConfirmModal();\n closePageBanner();\n };\n return {\n isNeeded,\n showPageBanner,\n closePageBanner,\n showConfirmModal,\n closeConfirmModal,\n openConfirmModalButtonClick,\n userConfirmEmailButtonClick,\n };\n};\n\nexport default useConfirmEmailBannerData;\n"]}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/widgets/LearnerDashboardHeader/ConfirmEmailBanner/hooks.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;;IAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,0BAA0B,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,0CAAE,QAAQ,KAAI,KAAK,CAAC;IACnE,MAAM,YAAY,GAAG,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,0CAAE,YAAY,KAAI,EAAE,CAAC;IACxE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACvE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,iBAAiB,EAAE,CAAC;QACpB,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,OAAO;QACL,QAAQ;QACR,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,2BAA2B;QAC3B,2BAA2B;KAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,yBAAyB,CAAC","sourcesContent":["import { useState } from 'react';\n\nimport { useInitializeSubsDashboard, useSendConfirmEmail } from '@src/data/hooks';\n\nexport const useConfirmEmailBannerData = () => {\n const { data: learnerData } = useInitializeSubsDashboard();\n const isNeeded = learnerData?.emailConfirmation?.isNeeded || false;\n const sendEmailUrl = learnerData?.emailConfirmation?.sendEmailUrl || '';\n const { mutate: sendConfirmEmail } = useSendConfirmEmail(sendEmailUrl);\n const [showPageBanner, setShowPageBanner] = useState(isNeeded);\n const [showConfirmModal, setShowConfirmModal] = useState(false);\n const closePageBanner = () => setShowPageBanner(false);\n const closeConfirmModal = () => setShowConfirmModal(false);\n const openConfirmModal = () => setShowConfirmModal(true);\n\n const openConfirmModalButtonClick = () => {\n sendConfirmEmail();\n openConfirmModal();\n closePageBanner();\n };\n\n const userConfirmEmailButtonClick = () => {\n closeConfirmModal();\n closePageBanner();\n };\n return {\n isNeeded,\n showPageBanner,\n closePageBanner,\n showConfirmModal,\n closeConfirmModal,\n openConfirmModalButtonClick,\n userConfirmEmailButtonClick,\n };\n};\n\nexport default useConfirmEmailBannerData;\n"]}
@@ -1,13 +1,13 @@
1
1
  import { useState, useMemo } from 'react';
2
2
  import { useIntl } from '@openedx/frontend-base';
3
3
  import { useMasquerade } from '../../../data/context';
4
- import { useInitializeLearnerHome } from '../../../data/hooks';
4
+ import { useInitializeSubsDashboard } from '../../../data/hooks';
5
5
  import messages from './messages';
6
6
  export const useMasqueradeBarData = ({ authenticatedUser, }) => {
7
7
  const { formatMessage } = useIntl();
8
8
  const [masqueradeInput, setMasqueradeInput] = useState('');
9
9
  const { masqueradeUser, setMasqueradeUser } = useMasquerade();
10
- const { isError, error, isPending, } = useInitializeLearnerHome();
10
+ const { isError, error, isPending, } = useInitializeSubsDashboard();
11
11
  const handleMasqueradeInputChange = (e) => setMasqueradeInput(e.target.value);
12
12
  const handleClearMasquerade = () => {
13
13
  setMasqueradeUser(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,iBAAiB,GAClB,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,CAAC;IAC9D,MAAM,EACJ,OAAO,EAAE,KAAK,EAAE,SAAS,GAC1B,GAAG,wBAAwB,EAAE,CAAC;IAE/B,MAAM,2BAA2B,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC;IAC9E,MAAM,qBAAqB,GAAG,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC;IAC5D,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC;IAClE,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;;QAC1C,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,CAAA,MAAA,KAAK,CAAC,gBAAgB,0CAAE,eAAe,MAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5B,OAAO;QACL,aAAa,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa;QAC/C,cAAc;QACd,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;QACtB,eAAe;QACf,sBAAsB;QACtB,qBAAqB;QACrB,2BAA2B;QAC3B,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import { useState, useMemo } from 'react';\nimport { useIntl } from '@openedx/frontend-base';\n\nimport { useMasquerade } from '../../../data/context';\nimport { useInitializeLearnerHome } from '../../../data/hooks';\n\nimport messages from './messages';\n\nexport const useMasqueradeBarData = ({\n authenticatedUser,\n}) => {\n const { formatMessage } = useIntl();\n const [masqueradeInput, setMasqueradeInput] = useState('');\n const { masqueradeUser, setMasqueradeUser } = useMasquerade();\n const {\n isError, error, isPending,\n } = useInitializeLearnerHome();\n\n const handleMasqueradeInputChange = (e) => setMasqueradeInput(e.target.value);\n const handleClearMasquerade = () => {\n setMasqueradeUser(undefined);\n setMasqueradeInput('');\n };\n const handleMasqueradeSubmit = (user) => (e) => {\n setMasqueradeUser(user);\n e.preventDefault();\n };\n\n const isMasqueradingFailed = !!masqueradeUser && !!masqueradeInput && isError;\n const isMasqueradingPending = !!masqueradeUser && isPending;\n const isMasquerading = !!masqueradeUser && !isError && !isPending;\n const masqueradeErrorMessage = useMemo(() => {\n if (masqueradeUser && error) {\n return (error.customAttributes?.httpErrorStatus === 404 ? messages.NoStudentFound : messages.UnknownError);\n }\n return null;\n }, [error, masqueradeUser]);\n\n return {\n canMasquerade: authenticatedUser?.administrator,\n isMasquerading,\n isMasqueradingFailed,\n isMasqueradingPending,\n masqueradeErrorMessage,\n masqueradeInput,\n handleMasqueradeSubmit,\n handleClearMasquerade,\n handleMasqueradeInputChange,\n formatMessage,\n };\n};\n\nexport default useMasqueradeBarData;\n"]}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/widgets/LearnerDashboardHeader/MasqueradeBar/hooks.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,iBAAiB,GAClB,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,aAAa,EAAE,CAAC;IAC9D,MAAM,EACJ,OAAO,EAAE,KAAK,EAAE,SAAS,GAC1B,GAAG,0BAA0B,EAAE,CAAC;IAEjC,MAAM,2BAA2B,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC;IAC9E,MAAM,qBAAqB,GAAG,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC;IAC5D,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC;IAClE,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;;QAC1C,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,CAAA,MAAA,KAAK,CAAC,gBAAgB,0CAAE,eAAe,MAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5B,OAAO;QACL,aAAa,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa;QAC/C,cAAc;QACd,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;QACtB,eAAe;QACf,sBAAsB;QACtB,qBAAqB;QACrB,2BAA2B;QAC3B,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import { useState, useMemo } from 'react';\nimport { useIntl } from '@openedx/frontend-base';\n\nimport { useMasquerade } from '../../../data/context';\nimport { useInitializeSubsDashboard } from '../../../data/hooks';\n\nimport messages from './messages';\n\nexport const useMasqueradeBarData = ({\n authenticatedUser,\n}) => {\n const { formatMessage } = useIntl();\n const [masqueradeInput, setMasqueradeInput] = useState('');\n const { masqueradeUser, setMasqueradeUser } = useMasquerade();\n const {\n isError, error, isPending,\n } = useInitializeSubsDashboard();\n\n const handleMasqueradeInputChange = (e) => setMasqueradeInput(e.target.value);\n const handleClearMasquerade = () => {\n setMasqueradeUser(undefined);\n setMasqueradeInput('');\n };\n const handleMasqueradeSubmit = (user) => (e) => {\n setMasqueradeUser(user);\n e.preventDefault();\n };\n\n const isMasqueradingFailed = !!masqueradeUser && !!masqueradeInput && isError;\n const isMasqueradingPending = !!masqueradeUser && isPending;\n const isMasquerading = !!masqueradeUser && !isError && !isPending;\n const masqueradeErrorMessage = useMemo(() => {\n if (masqueradeUser && error) {\n return (error.customAttributes?.httpErrorStatus === 404 ? messages.NoStudentFound : messages.UnknownError);\n }\n return null;\n }, [error, masqueradeUser]);\n\n return {\n canMasquerade: authenticatedUser?.administrator,\n isMasquerading,\n isMasqueradingFailed,\n isMasqueradingPending,\n masqueradeErrorMessage,\n masqueradeInput,\n handleMasqueradeSubmit,\n handleClearMasquerade,\n handleMasqueradeInputChange,\n formatMessage,\n };\n};\n\nexport default useMasqueradeBarData;\n"]}
@@ -7,6 +7,7 @@ import DiscoverLinkMenuItem from './DiscoverLinkMenuItem';
7
7
  import ProgramsLinkMenuItem from './ProgramsLinkMenuItem';
8
8
  import SupportLinkMenuItem from './SupportLinkMenuItem';
9
9
  import OrderHistoryLinkMenuItem from './OrderHistoryLinkMenuItem';
10
+ import messages from '../../messages';
10
11
  const app = {
11
12
  appId: 'org.openedx.frontend.app.learnerDashboard.header',
12
13
  slots: [
@@ -56,6 +57,36 @@ const app = {
56
57
  callback: () => getAppConfig(appId).ORDER_HISTORY_URL ? true : false,
57
58
  }
58
59
  },
60
+ {
61
+ slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',
62
+ id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuOrderHistory.v1',
63
+ op: WidgetOperationTypes.PREPEND,
64
+ element: (_jsx(LinkMenuItem, { label: messages['header.user.menu.orderHistory'].defaultMessage, role: "org.openedx.frontend.role.account", variant: "dropdownItem" }))
65
+ },
66
+ {
67
+ slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',
68
+ id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuHelp.v1',
69
+ op: WidgetOperationTypes.PREPEND,
70
+ element: (_jsx(LinkMenuItem, { label: messages['header.user.menu.help'].defaultMessage, role: "org.openedx.frontend.role.account", variant: "dropdownItem" }))
71
+ },
72
+ {
73
+ slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',
74
+ id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuMyCourses.v1',
75
+ op: WidgetOperationTypes.PREPEND,
76
+ element: (_jsx(LinkMenuItem, { label: messages['header.user.menu.myCourses'].defaultMessage, role: "org.openedx.frontend.role.account", variant: "dropdownItem" }))
77
+ },
78
+ {
79
+ slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',
80
+ id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuDashboard.v1',
81
+ op: WidgetOperationTypes.PREPEND,
82
+ element: (_jsx(LinkMenuItem, { label: messages['header.user.menu.dashboard'].defaultMessage, role: "org.openedx.frontend.role.account", variant: "dropdownItem" }))
83
+ },
84
+ {
85
+ slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',
86
+ id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuLastCourse.v1',
87
+ op: WidgetOperationTypes.PREPEND,
88
+ element: (_jsx(LinkMenuItem, { label: messages['header.user.menu.lastCourse'].defaultMessage, role: "org.openedx.frontend.role.account", variant: "dropdownItem" }))
89
+ },
59
90
  ]
60
91
  };
61
92
  export default app;
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardHeader/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAO,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE/F,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,GAAG,GAAQ;IACf,KAAK,EAAE,kDAAkD;IACzD,KAAK,EAAE;QACL;YACE,MAAM,EAAE,0CAA0C;YAClD,EAAE,EAAE,oEAAoE;YACxE,EAAE,EAAE,oBAAoB,CAAC,OAAO;YAChC,SAAS,EAAE,kBAAkB;SAC9B;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,mEAAmE;YACvE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CACP,KAAC,YAAY,IACX,KAAK,EAAE,KAAC,WAAW,KAAG,EACtB,GAAG,EAAC,GAAG,EACP,OAAO,EAAC,SAAS,GACjB,CACH;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,oEAAoE;YACxE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CACP,KAAC,oBAAoB,IACnB,OAAO,EAAC,SAAS,GACjB,CACH;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,eAAe,KAAK,IAAI;aAC7D;SACF;QACD;YACE,MAAM,EAAE,kDAAkD;YAC1D,EAAE,EAAE,oEAAoE;YACxE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CACP,KAAC,oBAAoB,IACnB,OAAO,EAAC,SAAS,GACjB,CACH;SACF;QACD;YACE,MAAM,EAAE,oDAAoD;YAC5D,EAAE,EAAE,mEAAmE;YACvE,EAAE,EAAE,oBAAoB,CAAC,MAAM;YAC/B,OAAO,EAAE,CACP,KAAC,mBAAmB,IAClB,OAAO,EAAC,SAAS,GACjB,CACH;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;aAC/D;SACF;QACD;YACE,MAAM,EAAE,uDAAuD;YAC/D,EAAE,EAAE,wEAAwE;YAC5E,EAAE,EAAE,oBAAoB,CAAC,aAAa;YACtC,SAAS,EAAE,sEAAsE;YACjF,OAAO,EAAE,CACP,KAAC,wBAAwB,IACvB,OAAO,EAAC,SAAS,GACjB,CACH;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;aACrE;SACF;KACF;CACF,CAAC;AAEF,eAAe,GAAG,CAAC","sourcesContent":["import { App, LinkMenuItem, WidgetOperationTypes, getAppConfig } from '@openedx/frontend-base';\n\nimport { appId } from '../../constants';\n\nimport ConfirmEmailBanner from './ConfirmEmailBanner';\nimport CoursesLink from './CoursesLink';\nimport DiscoverLinkMenuItem from './DiscoverLinkMenuItem';\nimport ProgramsLinkMenuItem from './ProgramsLinkMenuItem';\nimport SupportLinkMenuItem from './SupportLinkMenuItem';\nimport OrderHistoryLinkMenuItem from './OrderHistoryLinkMenuItem';\n\nconst app: App = {\n appId: 'org.openedx.frontend.app.learnerDashboard.header',\n slots: [\n {\n slotId: 'org.openedx.frontend.slot.header.main.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerConfirmEmail.v1',\n op: WidgetOperationTypes.PREPEND,\n component: ConfirmEmailBanner,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkCourses.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <LinkMenuItem\n label={<CoursesLink />}\n url=\"/\"\n variant=\"navLink\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkPrograms.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <ProgramsLinkMenuItem\n variant=\"navLink\"\n />\n ),\n condition: {\n callback: () => getAppConfig(appId).ENABLE_PROGRAMS === true,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkDiscover.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <DiscoverLinkMenuItem\n variant=\"navLink\"\n />\n ),\n },\n {\n slotId: 'org.openedx.frontend.slot.header.secondaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkSupport.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <SupportLinkMenuItem\n variant=\"navLink\"\n />\n ),\n condition: {\n callback: () => getAppConfig(appId).SUPPORT_URL ? true : false,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkOrderHistory.v1',\n op: WidgetOperationTypes.INSERT_BEFORE,\n relatedId: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuLogout.v1',\n element: (\n <OrderHistoryLinkMenuItem\n variant=\"navLink\"\n />\n ),\n condition: {\n callback: () => getAppConfig(appId).ORDER_HISTORY_URL ? true : false,\n }\n },\n ]\n};\n\nexport default app;\n"]}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/widgets/LearnerDashboardHeader/app.tsx"],"names":[],"mappings":"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","sourcesContent":["import { App, LinkMenuItem, WidgetOperationTypes, getAppConfig } from '@openedx/frontend-base';\n\nimport { appId } from '../../constants';\n\nimport ConfirmEmailBanner from './ConfirmEmailBanner';\nimport CoursesLink from './CoursesLink';\nimport DiscoverLinkMenuItem from './DiscoverLinkMenuItem';\nimport ProgramsLinkMenuItem from './ProgramsLinkMenuItem';\nimport SupportLinkMenuItem from './SupportLinkMenuItem';\nimport OrderHistoryLinkMenuItem from './OrderHistoryLinkMenuItem';\nimport messages from '@src/messages';\n\nconst app: App = {\n appId: 'org.openedx.frontend.app.learnerDashboard.header',\n slots: [\n {\n slotId: 'org.openedx.frontend.slot.header.main.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerConfirmEmail.v1',\n op: WidgetOperationTypes.PREPEND,\n component: ConfirmEmailBanner,\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkCourses.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <LinkMenuItem\n label={<CoursesLink />}\n url=\"/\"\n variant=\"navLink\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkPrograms.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <ProgramsLinkMenuItem\n variant=\"navLink\"\n />\n ),\n condition: {\n callback: () => getAppConfig(appId).ENABLE_PROGRAMS === true,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.primaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkDiscover.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <DiscoverLinkMenuItem\n variant=\"navLink\"\n />\n ),\n },\n {\n slotId: 'org.openedx.frontend.slot.header.secondaryLinks.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkSupport.v1',\n op: WidgetOperationTypes.APPEND,\n element: (\n <SupportLinkMenuItem\n variant=\"navLink\"\n />\n ),\n condition: {\n callback: () => getAppConfig(appId).SUPPORT_URL ? true : false,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerLinkOrderHistory.v1',\n op: WidgetOperationTypes.INSERT_BEFORE,\n relatedId: 'org.openedx.frontend.widget.header.desktopAuthenticatedMenuLogout.v1',\n element: (\n <OrderHistoryLinkMenuItem\n variant=\"navLink\"\n />\n ),\n condition: {\n callback: () => getAppConfig(appId).ORDER_HISTORY_URL ? true : false,\n }\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuOrderHistory.v1',\n op: WidgetOperationTypes.PREPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.orderHistory'].defaultMessage}\n role=\"org.openedx.frontend.role.account\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuHelp.v1',\n op: WidgetOperationTypes.PREPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.help'].defaultMessage}\n role=\"org.openedx.frontend.role.account\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuMyCourses.v1',\n op: WidgetOperationTypes.PREPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.myCourses'].defaultMessage}\n role=\"org.openedx.frontend.role.account\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuDashboard.v1',\n op: WidgetOperationTypes.PREPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.dashboard'].defaultMessage}\n role=\"org.openedx.frontend.role.account\"\n variant=\"dropdownItem\"\n />\n )\n },\n {\n slotId: 'org.openedx.frontend.slot.header.authenticatedMenu.v1',\n id: 'org.openedx.frontend.widget.learnerDashboard.headerAuthenticatedMenuLastCourse.v1',\n op: WidgetOperationTypes.PREPEND,\n element: (\n <LinkMenuItem\n label={messages['header.user.menu.lastCourse'].defaultMessage}\n role=\"org.openedx.frontend.role.account\"\n variant=\"dropdownItem\"\n />\n )\n },\n ]\n};\n\nexport default app;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/frontend-app-subscription-learner-dashboard",
3
- "version": "1.9.0",
3
+ "version": "1.11.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",