diff --git a/common/djangoapps/student/views/dashboard.py b/common/djangoapps/student/views/dashboard.py index b7e1bd9772..513956d101 100644 --- a/common/djangoapps/student/views/dashboard.py +++ b/common/djangoapps/student/views/dashboard.py @@ -785,6 +785,14 @@ def student_dashboard(request): enr for enr in course_enrollments if entitlement.enrollment_course_run.course_id != enr.course_id ] + # Collect all program types the user is enrolled in + enrolled_program_types = [] + if getattr(settings, 'ENABLE_DEMOGRAPHICS_COLLECTION', False): + enrolled_program_types = { + _program.get('type_attrs', {}).get('slug') + for _program in meter.engaged_programs + if _program.get('type_attrs', {}).get('slug') is not None + } context = { 'urls': urls, 'programs_data': programs_data, @@ -834,6 +842,7 @@ def student_dashboard(request): 'recovery_email_message': recovery_email_message, 'recovery_email_activation_message': recovery_email_activation_message, 'show_load_all_courses_link': show_load_all_courses_link(user, course_limit, course_enrollments), + 'enrolled_program_types': enrolled_program_types, # TODO START: clean up as part of REVEM-199 (START) 'course_info': get_dashboard_course_info(user, course_enrollments), # TODO START: clean up as part of REVEM-199 (END) diff --git a/lms/static/sass/base/_build.scss b/lms/static/sass/base/_build.scss index a36bffce87..3aa8501618 100644 --- a/lms/static/sass/base/_build.scss +++ b/lms/static/sass/base/_build.scss @@ -7,10 +7,20 @@ @import 'bootstrap/variables'; @import 'bootstrap/scss/functions'; @import 'bootstrap/scss/variables'; +@import 'bootstrap/scss/mixins/background-variant'; @import 'bootstrap/scss/mixins/box-shadow'; @import 'bootstrap/scss/mixins/breakpoints'; +@import 'bootstrap/scss/mixins/float'; @import 'bootstrap/scss/mixins/grid'; +@import 'bootstrap/scss/mixins/hover'; @import 'bootstrap/scss/mixins/reset-text'; +@import 'bootstrap/scss/mixins/screen-reader'; +@import 'bootstrap/scss/mixins/text-truncate'; +@import 'bootstrap/scss/mixins/text-emphasis'; +@import 'bootstrap/scss/mixins/text-hide'; +@import 'bootstrap/scss/mixins/visibility'; +@import 'bootstrap/scss/utilities'; + // Bootstrap components @import 'bootstrap/scss/popover'; diff --git a/lms/static/sass/elements/_system-feedback.scss b/lms/static/sass/elements/_system-feedback.scss index 07fd02912e..27602c9460 100644 --- a/lms/static/sass/elements/_system-feedback.scss +++ b/lms/static/sass/elements/_system-feedback.scss @@ -120,7 +120,7 @@ box-shadow: none; border-top: 1px solid #579cc5; padding: 20px 20px 20px 40px; - margin: -16px 0 5px 0; + margin: -16px 0 10px 0; } .fa-close { diff --git a/lms/static/sass/multicourse/_dashboard.scss b/lms/static/sass/multicourse/_dashboard.scss index f6551b2df9..de7cc4ada3 100644 --- a/lms/static/sass/multicourse/_dashboard.scss +++ b/lms/static/sass/multicourse/_dashboard.scss @@ -525,6 +525,8 @@ order: 2; .wrapper-find-courses { + margin-bottom: $baseline * 0.5; + .course-advertise { @include clearfix(); @@ -576,31 +578,9 @@ } } - .wrapper-coaching { - border: 1px solid $border-color-l3; - margin: 20px 0; - - .coaching-signup { - padding: 20px; - - .coaching-prompt { - font-size: 20px; - line-height: 28px; - font-weight: bold; - } - - .coaching-link .btn-neutral { - display: block; - text-align: center; - margin: 20px 20px 0; - border-radius: 20px; - padding: 10px; - border: 1px solid theme-color('primary'); - } - } - } - .profile-sidebar { + margin-bottom: $baseline * 0.5; + ul { padding: 0; border: 1px solid theme-color("light"); @@ -609,7 +589,6 @@ // Responsive behavior @include media-breakpoint-down(md) { - margin: 0 $baseline $baseline*2; padding: 0; max-width: 100%; } diff --git a/themes/edx.org/lms/static/images/quote_prompt.png b/themes/edx.org/lms/static/images/quote_prompt.png new file mode 100644 index 0000000000..d183adb69c Binary files /dev/null and b/themes/edx.org/lms/static/images/quote_prompt.png differ diff --git a/themes/edx.org/lms/static/sass/partials/lms/theme/_dashboard.scss b/themes/edx.org/lms/static/sass/partials/lms/theme/_dashboard.scss new file mode 100644 index 0000000000..5cc422202d --- /dev/null +++ b/themes/edx.org/lms/static/sass/partials/lms/theme/_dashboard.scss @@ -0,0 +1,58 @@ +.dashboard { + .demographics-banner { + background-color: #23419f; + border-radius: 12px; + @media (min-width: 1200px) { + height: 64px; + } + .demographics-banner-icon { + height: 140px; + } + .demographics-banner-prompt { + font-size: 24px; + line-height: 24px; + } + .demographics-banner-btn { + color: #23419f; + border-radius: 20px; + font-size: 14px; + min-width: 150px; + /* Below are to override the overly-broad `button` selectors in lms/static/sass/shared/_forms.scss */ + box-shadow: unset; + text-shadow: unset; + font: unset; + letter-spacing: unset; + background-image: unset; + + .fa-thumbs-up { + font-size: 24px; + } + } + } + .side-container { + .wrapper-coaching { + border: 1px solid $gray-500; + margin-bottom: $baseline * 0.5; + + .coaching-signup { + padding: 20px; + + .coaching-prompt { + font-size: 20px; + line-height: 28px; + font-weight: bold; + } + + + .coaching-link .btn-neutral { + display: block; + text-align: center; + margin: 20px 20px 0; + border-radius: 20px; + padding: 10px; + border: 1px solid theme-color('primary'); + } + } + } + } +} diff --git a/themes/edx.org/lms/static/sass/partials/lms/theme/_extras.scss b/themes/edx.org/lms/static/sass/partials/lms/theme/_extras.scss index c57107fe37..1f104fa2e0 100644 --- a/themes/edx.org/lms/static/sass/partials/lms/theme/_extras.scss +++ b/themes/edx.org/lms/static/sass/partials/lms/theme/_extras.scss @@ -7,6 +7,7 @@ // rules into modular pieces. @import 'certificates'; +@import 'dashboard'; // Ensure the header matches the edx.org marketing site header diff --git a/themes/edx.org/lms/templates/dashboard.html b/themes/edx.org/lms/templates/dashboard.html index 47b53c41e0..4538d6cd42 100644 --- a/themes/edx.org/lms/templates/dashboard.html +++ b/themes/edx.org/lms/templates/dashboard.html @@ -140,6 +140,26 @@ from student.models import CourseEnrollment
+ <% + MB_SLUG = "microbachelors" + enrolled_in_mb_program = MB_SLUG in enrolled_program_types + account_mfe_url = getattr(settings, 'ACCOUNT_MICROFRONTEND_URL', '') or '' + %> + % if getattr(settings, 'ENABLE_DEMOGRAPHICS_COLLECTION', False) and enrolled_in_mb_program: + +
+ +
+ ${_("Want to make edX better for everyone?")} +
+ +
+
+ % endif

${_("My Courses")}