diff --git a/package-lock.json b/package-lock.json
index 1f2c4274..16cab0ba 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4070,9 +4070,9 @@
}
},
"@edx/paragon": {
- "version": "16.24.0",
- "resolved": "https://registry.npmjs.org/@edx/paragon/-/paragon-16.24.0.tgz",
- "integrity": "sha512-LRm7acHjnYc7bTRLy0+LVYVS18Khk09YSNvHAx5/yOhXLK3lrtwNDOmERdnrsL/MURlSPACfzBnHTmG4NpfTpw==",
+ "version": "17.0.0",
+ "resolved": "https://registry.npmjs.org/@edx/paragon/-/paragon-17.0.0.tgz",
+ "integrity": "sha512-ysj3dQPIGTf+kztoLqP8geLt3fzNSRPIn6k9KTQD0dvl6f28R8C3V/kgfH4HoCaVbvpImeuyaGyYo/4cBmoOoA==",
"requires": {
"@fortawesome/fontawesome-svg-core": "^1.2.30",
"@fortawesome/free-solid-svg-icons": "^5.14.0",
@@ -8277,11 +8277,6 @@
"fill-range": "^7.0.1"
}
},
- "breakjs": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/breakjs/-/breakjs-1.0.0.tgz",
- "integrity": "sha1-7INToGhi60OWLergkHLuZqTNhFk="
- },
"browser-process-hrtime": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
@@ -20604,16 +20599,6 @@
"warning": "^4.0.3"
}
},
- "react-break": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/react-break/-/react-break-1.3.2.tgz",
- "integrity": "sha512-gm5paFth+ac+Ag35l1X0/V/XmdQn+Y+YggNInqaVXGHBrsODCBu8aXQpOsilYl+MfY6TL3eCJpkwuX1FVhDcpg==",
- "requires": {
- "babel-runtime": "^6.10.0",
- "breakjs": "^1.0.0",
- "prop-types": "^15.6.0"
- }
- },
"react-clientside-effect": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz",
diff --git a/package.json b/package.json
index 3588d7a5..587e7fbc 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,7 @@
"@edx/frontend-enterprise-utils": "1.1.1",
"@edx/frontend-lib-special-exams": "1.15.5",
"@edx/frontend-platform": "1.14.3",
- "@edx/paragon": "16.24.0",
+ "@edx/paragon": "17.0.0",
"@edx/frontend-component-header": "^2.4.2",
"@fortawesome/fontawesome-svg-core": "1.2.36",
"@fortawesome/free-brands-svg-icons": "5.15.4",
@@ -51,11 +51,9 @@
"lodash.camelcase": "4.3.0",
"prop-types": "15.7.2",
"react": "17.0.2",
- "react-break": "1.3.2",
"react-dom": "17.0.2",
"react-helmet": "6.1.0",
"react-redux": "7.2.6",
- "react-responsive": "8.2.0",
"react-router": "5.2.1",
"react-router-dom": "5.3.0",
"react-share": "4.4.0",
diff --git a/src/course-home/progress-tab/ProgressTab.jsx b/src/course-home/progress-tab/ProgressTab.jsx
index d9a22c4d..1a3fe824 100644
--- a/src/course-home/progress-tab/ProgressTab.jsx
+++ b/src/course-home/progress-tab/ProgressTab.jsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { layoutGenerator } from 'react-break';
import { useSelector } from 'react-redux';
+import { breakpoints, useWindowSize } from '@edx/paragon';
import CertificateStatus from './certificate-status/CertificateStatus';
import CourseCompletion from './course-completion/CourseCompletion';
@@ -23,13 +23,15 @@ function ProgressTab() {
const applyLockedOverlay = gradesFeatureIsFullyLocked ? 'locked-overlay' : '';
- const layout = layoutGenerator({
- mobile: 0,
- desktop: 992,
- });
+ const windowWidth = useWindowSize().width;
+ if (windowWidth === undefined) {
+ // Bail because we don't want to load
{intl.formatMessage(messages.completed)}
-{intl.formatMessage(messages.earned)} {intl.formatMessage(messages.share)}
diff --git a/src/courseware/course/course-exit/CourseCelebration.jsx b/src/courseware/course/course-exit/CourseCelebration.jsx index 71a18b8e..e1907701 100644 --- a/src/courseware/course/course-exit/CourseCelebration.jsx +++ b/src/courseware/course/course-exit/CourseCelebration.jsx @@ -5,10 +5,15 @@ import { faLinkedinIn } from '@fortawesome/free-brands-svg-icons'; import { FormattedDate, FormattedMessage, injectIntl, intlShape, } from '@edx/frontend-platform/i18n'; -import { layoutGenerator } from 'react-break'; import { Helmet } from 'react-helmet'; import { useDispatch, useSelector } from 'react-redux'; -import { Alert, Button, Hyperlink } from '@edx/paragon'; +import { + Alert, + breakpoints, + Button, + Hyperlink, + useWindowSize, +} from '@edx/paragon'; import { CheckCircle } from '@edx/paragon/icons'; import { getConfig } from '@edx/frontend-platform'; import { getAuthenticatedUser } from '@edx/frontend-platform/auth'; @@ -32,14 +37,7 @@ import CourseRecommendations from './CourseRecommendations'; const LINKEDIN_BLUE = '#2867B2'; function CourseCelebration({ intl }) { - const layout = layoutGenerator({ - mobile: 0, - tablet: 768, - }); - - const OnMobile = layout.is('mobile'); - const OnAtLeastTablet = layout.isAtLeast('tablet'); - + const wideScreen = useWindowSize().width >= breakpoints.medium.minWidth; const { courseId } = useSelector(state => state.courseware); const dispatch = useDispatch(); const { @@ -273,21 +271,21 @@ function CourseCelebration({ intl }) { />{intl.formatMessage(messages.streakBody)}
-
-
-
}
+ {wideScreen &&
}