diff --git a/package-lock.json b/package-lock.json
index b6e6886b..60219b10 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -35,7 +35,7 @@
"react-redux": "7.2.9",
"react-router": "5.2.1",
"react-router-dom": "5.3.0",
- "react-share": "4.4.1",
+ "react-share": "^4.4.1",
"redux": "4.1.2",
"regenerator-runtime": "0.13.11",
"reselect": "4.1.7",
diff --git a/package.json b/package.json
index b16ad979..bdc6e4b4 100644
--- a/package.json
+++ b/package.json
@@ -55,7 +55,7 @@
"react-redux": "7.2.9",
"react-router": "5.2.1",
"react-router-dom": "5.3.0",
- "react-share": "4.4.1",
+ "react-share": "^4.4.1",
"redux": "4.1.2",
"regenerator-runtime": "0.13.11",
"reselect": "4.1.7",
diff --git a/src/courseware/course/sequence/Unit.jsx b/src/courseware/course/sequence/Unit.jsx
index 31a9bf93..f01975cb 100644
--- a/src/courseware/course/sequence/Unit.jsx
+++ b/src/courseware/course/sequence/Unit.jsx
@@ -15,6 +15,7 @@ import { useModel } from '../../../generic/model-store';
import PageLoading from '../../../generic/PageLoading';
import { fetchCourse } from '../../data';
import BookmarkButton from '../bookmark/BookmarkButton';
+import ShareButton from '../share/ShareButton';
import messages from './messages';
const HonorCode = React.lazy(() => import('./honor-code'));
@@ -152,6 +153,8 @@ function Unit({
isBookmarked={unit.bookmarked}
isProcessing={unit.bookmarkedUpdateState === 'loading'}
/>
+ {/* TODO: social share exp. Need to remove later */}
+ {window.expSocialShareEnabled && }
{ !mmp2p.state.isEnabled && contentTypeGatingEnabled && unit.containsContentTypeGatedContent && (
+
+ {formatMessage(messages.shareButton)}
+
+ );
+}
+
+ShareButton.propTypes = {
+ url: PropTypes.string.isRequired,
+};
+
+export default ShareButton;
diff --git a/src/courseware/course/share/messages.js b/src/courseware/course/share/messages.js
new file mode 100644
index 00000000..2ef59128
--- /dev/null
+++ b/src/courseware/course/share/messages.js
@@ -0,0 +1,21 @@
+import { defineMessages } from '@edx/frontend-platform/i18n';
+
+const messages = defineMessages({
+ shareButton: {
+ id: 'learn.sequence.share.button',
+ defaultMessage: 'Share this content',
+ description: 'share message button message',
+ },
+ shareModalTitle: {
+ id: 'learn.sequence.share.modal.title',
+ defaultMessage: 'Title',
+ description: 'share message modal title',
+ },
+ shareModalBody: {
+ id: 'learn.sequence.share.modal.body',
+ defaultMessage: 'Copy the link below to share this content.',
+ description: 'share message modal body',
+ },
+});
+
+export default messages;