-
+
);
}
LockPaywall.propTypes = {
diff --git a/src/courseware/course/sequence/lock-paywall/LockPaywall.scss b/src/courseware/course/sequence/lock-paywall/LockPaywall.scss
new file mode 100644
index 00000000..f07f1d04
--- /dev/null
+++ b/src/courseware/course/sequence/lock-paywall/LockPaywall.scss
@@ -0,0 +1,12 @@
+
+// Temporary CSS intervention until paragon list items will support icons (PAR-429)
+.fa-li {
+ left: -31px !important;
+ padding-right: 22px;
+}
+
+ @media only screen and (min-width: 992px) and (max-width: 1100px) {
+ .list-div {
+ width: 62%;
+ }
+}
diff --git a/src/i18n/messages/ar.json b/src/i18n/messages/ar.json
index 0403a503..953000be 100644
--- a/src/i18n/messages/ar.json
+++ b/src/i18n/messages/ar.json
@@ -101,12 +101,22 @@
"learning.proctoringPanel.onboardingButtonNotOpen": "Onboarding Opens: {releaseDate}",
"learning.proctoringPanel.reviewRequirementsButton": "Review instructions and system requirements",
"learning.outline.sequence-due": "{description} في{assignmentDue}",
+ "progress.completion.donut.label": "completed",
+ "progress.completion.body": "This represents how much of the course content you have completed. Note that some content may not yet be released.",
+ "progress.completion.tooltip.locked": "Content that you have completed.",
+ "progress.completion.header": "Course completion",
+ "progress.completion.tooltip": "Content that you have access to and have not completed.",
+ "progress.completion.tooltip.complete": "Content that is locked and available only to those who upgrade.",
+ "progress.completion.donut.percentComplete": "You have completed {percent}% of content in this course.",
+ "progress.completion.donut.percentIncomplete": "You have not completed {percent}% of content in this course that you have access to.",
+ "progress.completion.donut.percentLocked": "{percent}% of content in this course is locked and available only for those who upgrade.",
"progress.ungradedAlert": "For progress on ungraded aspects of the course, view your {outlineLink}.",
"progress.footnotes.droppableAssignments": "The lowest {numDroppable, plural, one{# {assignmentType} score} other{# {assignmentType} scores}} will be dropped.",
"progress.assignmentType": "Assignment type",
"progress.footnotes.backToContent": "Back to content",
"progress.courseOutline": "Course Outline",
"progress.detailedGrades": "Detailed grades",
+ "progress.detailedGrades.emptyTable": "You currently have no graded problem scores.",
"progress.footnotes.title": "Grade summary footnotes",
"progress.gradeSummary": "Grade summary",
"progress.gradeSummary.tooltip": "Your course assignment's weight is determined by your instructor. By multiplying your score by the weight for that assignment type, your weighted grade is calculated. Your weighted grade is what's used to determine if you pass the course.",
@@ -233,6 +243,10 @@
"learn.contentLock.content.locked": "محتوى مغلق",
"learn.contentLock.complete.prerequisite": "يجب استيفاء المتطلبات الأساسية: '{priceqSectionName}' للوصول إلى هذا المحتوى.",
"learn.contentLock.goToSection": "انتقل إلى قسم المتطلبات الأساسية",
+ "gatedContent.paragraph.bulletOne": "Earn a {verifiedCertLink} of completion to showcase on your resume",
+ "gatedContent.paragraph.bulletTwo": "Unlock access to all course activities, including {gradedAssignments}",
+ "gatedContent.paragraph.bulletThree": "{fullAccess} to course content and materials, even after the course ends",
+ "gatedContent.paragraph.bulletFour": "Support our {nonProfit} mission at edX",
"learn.lockPaywall.title": "Graded assignments are locked",
"learn.lockPaywall.content": "Upgrade to gain access to locked features like this one and get the most out of your course.",
"learn.lockPaywall.upgrade.link": "Upgrade for {currencySymbol}{price}",
@@ -278,7 +292,7 @@
"learn.course.tabs.navigation.overflow.menu": "المزيد...",
"learning.offer.screenReaderPrices": "السعر الأصلي: {originalPrice}, سعر الخصم: {discountedPrice}",
"learning.upgradeButton.screenReaderInlinePrices": "السعر الأصلي: {originalPrice}",
- "learning.upgradeButton.buttonText": "قم بالترقية ({pricing})",
+ "learning.upgradeButton.buttonText": "Upgrade for {pricing}",
"masquerade-widget.userName.error.generic": "حدث خطأ؛ يرجى المحاولة مرة أخرى.",
"masquerade-widget.userName.input.placeholder": "اسم المستخدم أو البريد الإلكتروني",
"masquerade-widget.userName.input.label": "عرف كهذا المستخدم",
diff --git a/src/i18n/messages/es_419.json b/src/i18n/messages/es_419.json
index 5fdcec92..143aff88 100644
--- a/src/i18n/messages/es_419.json
+++ b/src/i18n/messages/es_419.json
@@ -101,12 +101,22 @@
"learning.proctoringPanel.onboardingButtonNotOpen": "Apertura de la integración: {releaseDate}",
"learning.proctoringPanel.reviewRequirementsButton": "Revisar las instrucciones y los requisitos del sistema",
"learning.outline.sequence-due": "Fecha límite para {description}: {assignmentDue}",
+ "progress.completion.donut.label": "completed",
+ "progress.completion.body": "This represents how much of the course content you have completed. Note that some content may not yet be released.",
+ "progress.completion.tooltip.locked": "Content that you have completed.",
+ "progress.completion.header": "Course completion",
+ "progress.completion.tooltip": "Content that you have access to and have not completed.",
+ "progress.completion.tooltip.complete": "Content that is locked and available only to those who upgrade.",
+ "progress.completion.donut.percentComplete": "You have completed {percent}% of content in this course.",
+ "progress.completion.donut.percentIncomplete": "You have not completed {percent}% of content in this course that you have access to.",
+ "progress.completion.donut.percentLocked": "{percent}% of content in this course is locked and available only for those who upgrade.",
"progress.ungradedAlert": "For progress on ungraded aspects of the course, view your {outlineLink}.",
"progress.footnotes.droppableAssignments": "The lowest {numDroppable, plural, one{# {assignmentType} score} other{# {assignmentType} scores}} will be dropped.",
"progress.assignmentType": "Assignment type",
"progress.footnotes.backToContent": "Back to content",
"progress.courseOutline": "Course Outline",
"progress.detailedGrades": "Detailed grades",
+ "progress.detailedGrades.emptyTable": "You currently have no graded problem scores.",
"progress.footnotes.title": "Grade summary footnotes",
"progress.gradeSummary": "Grade summary",
"progress.gradeSummary.tooltip": "Your course assignment's weight is determined by your instructor. By multiplying your score by the weight for that assignment type, your weighted grade is calculated. Your weighted grade is what's used to determine if you pass the course.",
@@ -233,15 +243,19 @@
"learn.contentLock.content.locked": "Contenido Bloqueado",
"learn.contentLock.complete.prerequisite": "Debe completar el prerrequisito: '{prereqSectionName}'para acceder a este contenido.",
"learn.contentLock.goToSection": "Ir a la Sección de Prerrequisitos",
- "learn.lockPaywall.title": "Graded assignments are locked",
- "learn.lockPaywall.content": "Upgrade to gain access to locked features like this one and get the most out of your course.",
- "learn.lockPaywall.upgrade.link": "Upgrade for {currencySymbol}{price}",
+ "gatedContent.paragraph.bulletOne": "Obtén un {verifiedCertLink} de finalización para compartirlo en tu currículum",
+ "gatedContent.paragraph.bulletTwo": "Desbloquea el acceso a todas las actividades del curso, incluidas las {gradedAssignments}",
+ "gatedContent.paragraph.bulletThree": "{fullAccess} al contenido y los materiales del curso, incluso después de que finalice",
+ "gatedContent.paragraph.bulletFour": "Apoya nuestra {nonProfit} en edX",
+ "learn.lockPaywall.title": "Las tareas calificadas están bloqueadas",
+ "learn.lockPaywall.content": "Cámbiate a la opción verificada para obtener acceso a funciones bloqueadas como esta y aprovechar al máximo tu curso.",
+ "learn.lockPaywall.upgrade.link": "Opción verificada {currencySymbol}{price}",
"learn.lockPaywall.example.alt": "Certificado de ejemplo",
- "learn.lockPaywall.list.intro": "When you upgrade, you:",
- "learn.lockPaywall.list.bullet1.linktext": "verified certificate",
- "learn.lockPaywall.list.bullet2.boldtext": "graded assignments",
- "learn.lockPaywall.list.bullet3.boldtext": "Full access",
- "learn.lockPaywall.list.bullet4.boldtext": "non-profit",
+ "learn.lockPaywall.list.intro": "Cuando te cambias a la opción verificada, tú:",
+ "learn.lockPaywall.list.bullet1.linktext": "certificado verificado",
+ "learn.lockPaywall.list.bullet2.boldtext": "tareas calificadas",
+ "learn.lockPaywall.list.bullet3.boldtext": "Acceso completo",
+ "learn.lockPaywall.list.bullet4.boldtext": "misión sin fines de lucro",
"learn.loading.content.lock": "Cargando la mensajería de contenido bloqueado...",
"learn.loading.learning.sequence": "Cargando la secuencia de aprendizaje...",
"learn.course.load.failure": "Hubo un error al cargar este curso.",
@@ -278,7 +292,7 @@
"learn.course.tabs.navigation.overflow.menu": "Más...",
"learning.offer.screenReaderPrices": "Precio original: {originalPrice}; precio con descuento: {discountedPrice}",
"learning.upgradeButton.screenReaderInlinePrices": "Precio original: {originalPrice}",
- "learning.upgradeButton.buttonText": "Mejora ({precio})",
+ "learning.upgradeButton.buttonText": "Upgrade for {pricing}",
"masquerade-widget.userName.error.generic": "Se ha producido un error. Inténtalo de nuevo.",
"masquerade-widget.userName.input.placeholder": "Nombre de usuario o correo electrónico",
"masquerade-widget.userName.input.label": "Hazte pasar por este usuario",
diff --git a/src/i18n/messages/fr.json b/src/i18n/messages/fr.json
index b84ccb5e..39ed1680 100644
--- a/src/i18n/messages/fr.json
+++ b/src/i18n/messages/fr.json
@@ -101,12 +101,22 @@
"learning.proctoringPanel.onboardingButtonNotOpen": "Onboarding Opens: {releaseDate}",
"learning.proctoringPanel.reviewRequirementsButton": "Review instructions and system requirements",
"learning.outline.sequence-due": "{description} due {assignmentDue}",
+ "progress.completion.donut.label": "completed",
+ "progress.completion.body": "This represents how much of the course content you have completed. Note that some content may not yet be released.",
+ "progress.completion.tooltip.locked": "Content that you have completed.",
+ "progress.completion.header": "Course completion",
+ "progress.completion.tooltip": "Content that you have access to and have not completed.",
+ "progress.completion.tooltip.complete": "Content that is locked and available only to those who upgrade.",
+ "progress.completion.donut.percentComplete": "You have completed {percent}% of content in this course.",
+ "progress.completion.donut.percentIncomplete": "You have not completed {percent}% of content in this course that you have access to.",
+ "progress.completion.donut.percentLocked": "{percent}% of content in this course is locked and available only for those who upgrade.",
"progress.ungradedAlert": "For progress on ungraded aspects of the course, view your {outlineLink}.",
"progress.footnotes.droppableAssignments": "The lowest {numDroppable, plural, one{# {assignmentType} score} other{# {assignmentType} scores}} will be dropped.",
"progress.assignmentType": "Assignment type",
"progress.footnotes.backToContent": "Back to content",
"progress.courseOutline": "Course Outline",
"progress.detailedGrades": "Detailed grades",
+ "progress.detailedGrades.emptyTable": "You currently have no graded problem scores.",
"progress.footnotes.title": "Grade summary footnotes",
"progress.gradeSummary": "Grade summary",
"progress.gradeSummary.tooltip": "Your course assignment's weight is determined by your instructor. By multiplying your score by the weight for that assignment type, your weighted grade is calculated. Your weighted grade is what's used to determine if you pass the course.",
@@ -233,6 +243,10 @@
"learn.contentLock.content.locked": "Content Locked",
"learn.contentLock.complete.prerequisite": "You must complete the prerequisite: '{prereqSectionName}' to access this content.",
"learn.contentLock.goToSection": "Go To Prerequisite Section",
+ "gatedContent.paragraph.bulletOne": "Earn a {verifiedCertLink} of completion to showcase on your resume",
+ "gatedContent.paragraph.bulletTwo": "Unlock access to all course activities, including {gradedAssignments}",
+ "gatedContent.paragraph.bulletThree": "{fullAccess} to course content and materials, even after the course ends",
+ "gatedContent.paragraph.bulletFour": "Support our {nonProfit} mission at edX",
"learn.lockPaywall.title": "Graded assignments are locked",
"learn.lockPaywall.content": "Upgrade to gain access to locked features like this one and get the most out of your course.",
"learn.lockPaywall.upgrade.link": "Upgrade for {currencySymbol}{price}",
@@ -278,7 +292,7 @@
"learn.course.tabs.navigation.overflow.menu": "More...",
"learning.offer.screenReaderPrices": "Original price: {originalPrice}, discount price: {discountedPrice}",
"learning.upgradeButton.screenReaderInlinePrices": "Original price: {originalPrice}",
- "learning.upgradeButton.buttonText": "Upgrade ({pricing})",
+ "learning.upgradeButton.buttonText": "Upgrade for {pricing}",
"masquerade-widget.userName.error.generic": "An error has occurred; please try again.",
"masquerade-widget.userName.input.placeholder": "Username or email",
"masquerade-widget.userName.input.label": "Masquerade as this user",
diff --git a/src/i18n/messages/zh_CN.json b/src/i18n/messages/zh_CN.json
index b84ccb5e..39ed1680 100644
--- a/src/i18n/messages/zh_CN.json
+++ b/src/i18n/messages/zh_CN.json
@@ -101,12 +101,22 @@
"learning.proctoringPanel.onboardingButtonNotOpen": "Onboarding Opens: {releaseDate}",
"learning.proctoringPanel.reviewRequirementsButton": "Review instructions and system requirements",
"learning.outline.sequence-due": "{description} due {assignmentDue}",
+ "progress.completion.donut.label": "completed",
+ "progress.completion.body": "This represents how much of the course content you have completed. Note that some content may not yet be released.",
+ "progress.completion.tooltip.locked": "Content that you have completed.",
+ "progress.completion.header": "Course completion",
+ "progress.completion.tooltip": "Content that you have access to and have not completed.",
+ "progress.completion.tooltip.complete": "Content that is locked and available only to those who upgrade.",
+ "progress.completion.donut.percentComplete": "You have completed {percent}% of content in this course.",
+ "progress.completion.donut.percentIncomplete": "You have not completed {percent}% of content in this course that you have access to.",
+ "progress.completion.donut.percentLocked": "{percent}% of content in this course is locked and available only for those who upgrade.",
"progress.ungradedAlert": "For progress on ungraded aspects of the course, view your {outlineLink}.",
"progress.footnotes.droppableAssignments": "The lowest {numDroppable, plural, one{# {assignmentType} score} other{# {assignmentType} scores}} will be dropped.",
"progress.assignmentType": "Assignment type",
"progress.footnotes.backToContent": "Back to content",
"progress.courseOutline": "Course Outline",
"progress.detailedGrades": "Detailed grades",
+ "progress.detailedGrades.emptyTable": "You currently have no graded problem scores.",
"progress.footnotes.title": "Grade summary footnotes",
"progress.gradeSummary": "Grade summary",
"progress.gradeSummary.tooltip": "Your course assignment's weight is determined by your instructor. By multiplying your score by the weight for that assignment type, your weighted grade is calculated. Your weighted grade is what's used to determine if you pass the course.",
@@ -233,6 +243,10 @@
"learn.contentLock.content.locked": "Content Locked",
"learn.contentLock.complete.prerequisite": "You must complete the prerequisite: '{prereqSectionName}' to access this content.",
"learn.contentLock.goToSection": "Go To Prerequisite Section",
+ "gatedContent.paragraph.bulletOne": "Earn a {verifiedCertLink} of completion to showcase on your resume",
+ "gatedContent.paragraph.bulletTwo": "Unlock access to all course activities, including {gradedAssignments}",
+ "gatedContent.paragraph.bulletThree": "{fullAccess} to course content and materials, even after the course ends",
+ "gatedContent.paragraph.bulletFour": "Support our {nonProfit} mission at edX",
"learn.lockPaywall.title": "Graded assignments are locked",
"learn.lockPaywall.content": "Upgrade to gain access to locked features like this one and get the most out of your course.",
"learn.lockPaywall.upgrade.link": "Upgrade for {currencySymbol}{price}",
@@ -278,7 +292,7 @@
"learn.course.tabs.navigation.overflow.menu": "More...",
"learning.offer.screenReaderPrices": "Original price: {originalPrice}, discount price: {discountedPrice}",
"learning.upgradeButton.screenReaderInlinePrices": "Original price: {originalPrice}",
- "learning.upgradeButton.buttonText": "Upgrade ({pricing})",
+ "learning.upgradeButton.buttonText": "Upgrade for {pricing}",
"masquerade-widget.userName.error.generic": "An error has occurred; please try again.",
"masquerade-widget.userName.input.placeholder": "Username or email",
"masquerade-widget.userName.input.label": "Masquerade as this user",
diff --git a/src/index.scss b/src/index.scss
index b330fffc..8e8f03fa 100755
--- a/src/index.scss
+++ b/src/index.scss
@@ -368,6 +368,7 @@
@import 'course-home/dates-tab/Day.scss';
@import 'course-home/outline-tab/widgets/UpgradeCard.scss';
@import 'course-home/outline-tab/widgets/ProctoringInfoPanel.scss';
+@import 'course-home/progress-tab/course-completion/CompletionDonutChart.scss';
@import 'courseware/course/course-exit/CourseRecommendationsExp/course_recommendations.exp';
/** [MM-P2P] Experiment */