diff --git a/src/discussions/topics/messages.js b/src/discussions/topics/messages.js index fed8696d..6645e818 100644 --- a/src/discussions/topics/messages.js +++ b/src/discussions/topics/messages.js @@ -31,6 +31,11 @@ const messages = defineMessages({ defaultMessage: 'Archived', description: 'Heading for displaying topics that are archived.', }, + unnamedTopicCategories: { + id: 'discussions.topics.unnamed.label', + defaultMessage: 'Unnamed Topic', + description: 'Text to display in place of topic name if topic name is empty', + }, }); export default messages; diff --git a/src/discussions/topics/topic-group/TopicGroupBase.jsx b/src/discussions/topics/topic-group/TopicGroupBase.jsx index 9a52cb4e..9fae7223 100644 --- a/src/discussions/topics/topic-group/TopicGroupBase.jsx +++ b/src/discussions/topics/topic-group/TopicGroupBase.jsx @@ -4,10 +4,13 @@ import PropTypes from 'prop-types'; import { useSelector } from 'react-redux'; import { Link } from 'react-router-dom'; +import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; + import { Routes } from '../../../data/constants'; import { DiscussionContext } from '../../common/context'; import { discussionsPath } from '../../utils'; import { selectTopicFilter } from '../data/selectors'; +import messages from '../messages'; import Topic, { topicShape } from './topic/Topic'; function TopicGroupBase({ @@ -15,6 +18,7 @@ function TopicGroupBase({ groupTitle, linkToGroup, topics, + intl, }) { const { courseId } = useContext(DiscussionContext); const filter = useSelector(selectTopicFilter); @@ -42,7 +46,7 @@ function TopicGroupBase({ data-category-id={groupId} data-testid="topic-group" > - {linkToGroup + {linkToGroup && groupId ? ( ) : ( - {groupTitle} + {groupTitle || intl.formatMessage(messages.unnamedTopicCategories)} )} {topicElements} @@ -68,10 +72,11 @@ TopicGroupBase.propTypes = { groupTitle: PropTypes.string.isRequired, topics: PropTypes.arrayOf(topicShape).isRequired, linkToGroup: PropTypes.bool, + intl: intlShape.isRequired, }; TopicGroupBase.defaultProps = { linkToGroup: true, }; -export default TopicGroupBase; +export default injectIntl(TopicGroupBase);