diff --git a/src/pages-and-resources/discussions/AppList.jsx b/src/pages-and-resources/discussions/AppList.jsx index 472246827..bb8447d6f 100644 --- a/src/pages-and-resources/discussions/AppList.jsx +++ b/src/pages-and-resources/discussions/AppList.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { CardGrid } from '@edx/paragon'; +import { CardGrid, Container } from '@edx/paragon'; import { useSelector } from 'react-redux'; import { useModels } from '../../generic/model-store'; @@ -18,6 +18,14 @@ function AppList({ const apps = useModels('apps', appIds); const features = useModels('features', featureIds); + if (apps.length === 0) { + return ( + +

{intl.formatMessage(messages.noApps)}

+
+ ); + } + return (

{intl.formatMessage(messages.heading)}

diff --git a/src/pages-and-resources/discussions/messages.js b/src/pages-and-resources/discussions/messages.js index f3d027cbc..912d92329 100644 --- a/src/pages-and-resources/discussions/messages.js +++ b/src/pages-and-resources/discussions/messages.js @@ -70,6 +70,12 @@ const messages = defineMessages({ defaultMessage: 'Partial support', description: 'A label indicating that an app only supports a subset of the possible features of a discussions app.', }, + noApps: { + id: 'authoring.discussions.noApps', + defaultMessage: 'There are no discussions providers available for your course.', + description: 'A message shown when there are no discussions providers available to be displayed.', + }, + // Legacy 'appName-legacy': { id: 'authoring.discussions.appName-legacy',