);
};
diff --git a/src/containers/Dashboard/index.scss b/src/containers/Dashboard/index.scss
index 6dd1e29..e69de29 100644
--- a/src/containers/Dashboard/index.scss
+++ b/src/containers/Dashboard/index.scss
@@ -1,4 +0,0 @@
-#course-list-heading-container {
- display: flex;
- justify-content: space-between;
-}
diff --git a/src/containers/LearnerDashboardHeader/AuthenticatedUserDropdown.jsx b/src/containers/LearnerDashboardHeader/AuthenticatedUserDropdown.jsx
index 71845a9..5991927 100644
--- a/src/containers/LearnerDashboardHeader/AuthenticatedUserDropdown.jsx
+++ b/src/containers/LearnerDashboardHeader/AuthenticatedUserDropdown.jsx
@@ -7,6 +7,7 @@ import { AppContext } from '@edx/frontend-platform/react';
import { AvatarButton, Dropdown } from '@edx/paragon';
import { hooks as appHooks } from 'data/redux';
+import { useIsCollapsed } from './hooks';
import messages from './messages';
export const AuthenticatedUserDropdown = ({ username }) => {
@@ -14,49 +15,58 @@ export const AuthenticatedUserDropdown = ({ username }) => {
const { authenticatedUser } = React.useContext(AppContext);
const { profileImage } = authenticatedUser;
const dashboard = appHooks.useEnterpriseDashboardData();
- console.log({ dashboard });
+ const isCollapsed = useIsCollapsed();
+
return (
- <>
-
);
};
diff --git a/src/containers/LearnerDashboardHeader/GreetingBanner.jsx b/src/containers/LearnerDashboardHeader/GreetingBanner.jsx
index 7d49ef6..6c40d19 100644
--- a/src/containers/LearnerDashboardHeader/GreetingBanner.jsx
+++ b/src/containers/LearnerDashboardHeader/GreetingBanner.jsx
@@ -1,4 +1,6 @@
import React from 'react';
+import classNames from 'classnames';
+import PropTypes from 'prop-types';
import { getConfig } from '@edx/frontend-platform';
import { FormattedMessage } from '@edx/frontend-platform/i18n';
@@ -6,7 +8,7 @@ import { Image } from '@edx/paragon';
import messages from './messages';
-export const GreetingBanner = () => {
+export const GreetingBanner = ({ size }) => {
let greetMessage;
const hour = new Date().getHours();
@@ -18,20 +20,37 @@ export const GreetingBanner = () => {
greetMessage = messages.goodMorning;
}
+ const isSmall = size === 'small';
+
return (
-
+
-
-
-
-
+
+ {isSmall
+ ? (
+
+
+
+ ) : (
+
+
+
+ )}
);
};
+GreetingBanner.propTypes = {
+ size: PropTypes.oneOf('small', 'large').isRequired,
+};
export default GreetingBanner;
diff --git a/src/containers/LearnerDashboardHeader/hooks.js b/src/containers/LearnerDashboardHeader/hooks.js
new file mode 100644
index 0000000..fa52e5d
--- /dev/null
+++ b/src/containers/LearnerDashboardHeader/hooks.js
@@ -0,0 +1,10 @@
+import React from 'react';
+import { useWindowSize, breakpoints } from '@edx/paragon';
+
+export const useIsCollapsed = () => {
+ const { width } = useWindowSize();
+ const isCollapsed = React.useMemo(() => (width <= breakpoints.large.maxWidth), [width]);
+ return isCollapsed;
+};
+
+export default { useIsCollapsed };
diff --git a/src/containers/LearnerDashboardHeader/index.jsx b/src/containers/LearnerDashboardHeader/index.jsx
index 46bef23..63f3ae3 100644
--- a/src/containers/LearnerDashboardHeader/index.jsx
+++ b/src/containers/LearnerDashboardHeader/index.jsx
@@ -9,28 +9,40 @@ import AuthenticatedUserDropdown from './AuthenticatedUserDropdown';
import GreetingBanner from './GreetingBanner';
import ConfirmEmailBanner from './ConfirmEmailBanner';
+import { useIsCollapsed } from './hooks';
import messages from './messages';
import './index.scss';
-export const LearnerDashboardHeader = () => {
+export const UserMenu = () => {
const { authenticatedUser } = useContext(AppContext);
+ return authenticatedUser ? (
) : null;
+};
+
+export const LearnerDashboardHeader = () => {
const { formatMessage } = useIntl();
+ const isCollapsed = useIsCollapsed();
+
return (
-
+
+ >
);
};
diff --git a/src/containers/LearnerDashboardHeader/index.scss b/src/containers/LearnerDashboardHeader/index.scss
index 0f1e7f8..a2210db 100644
--- a/src/containers/LearnerDashboardHeader/index.scss
+++ b/src/containers/LearnerDashboardHeader/index.scss
@@ -1,4 +1,10 @@
-.greetings-slash-container {
+.greetings-slash-container-small {
+ height: 4px;
+ width: 40px;
+ transform-origin: center;
+ transform: rotate(-70deg);
+}
+.greetings-slash-container-large {
height: 8px;
width: 120px;
transform-origin: center;
diff --git a/src/containers/LearnerDashboardHeader/messages.js b/src/containers/LearnerDashboardHeader/messages.js
index aba74eb..117d6d5 100644
--- a/src/containers/LearnerDashboardHeader/messages.js
+++ b/src/containers/LearnerDashboardHeader/messages.js
@@ -16,6 +16,11 @@ const messages = defineMessages({
defaultMessage: 'Profile',
description: 'The text for the user menu Profile navigation link.',
},
+ viewPrograms: {
+ id: 'leanerDashboard.menu.viewPrograms.label',
+ defaultMessage: 'View Programs',
+ description: 'The text for the user menu View Programs navigation link.',
+ },
account: {
id: 'leanerDashboard.menu.account.label',
defaultMessage: 'Account',
diff --git a/src/containers/RelatedProgramsModal/__snapshots__/index.test.jsx.snap b/src/containers/RelatedProgramsModal/__snapshots__/index.test.jsx.snap
index 3dc42c9..eec07b1 100644
--- a/src/containers/RelatedProgramsModal/__snapshots__/index.test.jsx.snap
+++ b/src/containers/RelatedProgramsModal/__snapshots__/index.test.jsx.snap
@@ -29,49 +29,58 @@ exports[`RelatedProgramsModal snapshot: closed 1`] = `
Are you looking to expand your knowledge? Enrolling in a Program lets you take a series of courses in the subject that you're interested in
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
`;
@@ -105,49 +114,58 @@ exports[`RelatedProgramsModal snapshot: open 1`] = `
Are you looking to expand your knowledge? Enrolling in a Program lets you take a series of courses in the subject that you're interested in
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
`;
diff --git a/src/containers/RelatedProgramsModal/components/ProgramCard.jsx b/src/containers/RelatedProgramsModal/components/ProgramCard.jsx
index 16e6ddd..fdcdde3 100644
--- a/src/containers/RelatedProgramsModal/components/ProgramCard.jsx
+++ b/src/containers/RelatedProgramsModal/components/ProgramCard.jsx
@@ -23,7 +23,7 @@ export const ProgramCard = ({ data }) => {
);
return (
{formatMessage(messages.description)}
-
- {relatedPrograms.map((programData) => (
-
- ))}
-
+
+
+ {relatedPrograms.map((programData) => (
+
+
+
+ ))}
+
+
);
diff --git a/src/containers/WidgetSidebar/index.jsx b/src/containers/WidgetSidebar/index.jsx
index 4b72b0f..c1b8e63 100644
--- a/src/containers/WidgetSidebar/index.jsx
+++ b/src/containers/WidgetSidebar/index.jsx
@@ -11,26 +11,15 @@ import './index.scss';
export const WidgetSidebar = () => (
-
- {/*

-
-
-
-
-
-
-
- */}
-
-
+
-
+
-
+
diff --git a/src/containers/WidgetSidebar/index.scss b/src/containers/WidgetSidebar/index.scss
index 71ae8fc..fdf826a 100644
--- a/src/containers/WidgetSidebar/index.scss
+++ b/src/containers/WidgetSidebar/index.scss
@@ -1,8 +1,12 @@
@import "@edx/paragon/scss/core/core";
.widget-sidebar {
margin-top: map-get($spacers, 5);
- width: 400px;
- flex-shrink: 0;
padding-left: map-get($spacers, 2);
padding-right: map-get($spacers, 2);
}
+
+@include media-breakpoint-down(md) {
+ .widget-sidebar {
+ display: none;
+ }
+}