From 150f80412e45a603fb8f8f9eef8e3888405b014e Mon Sep 17 00:00:00 2001 From: Mehak Nasir Date: Thu, 6 Oct 2022 16:44:32 +0500 Subject: [PATCH] fix: unnamed topic crash handled on fe --- src/discussions/topics/messages.js | 5 +++++ src/discussions/topics/topic-group/TopicGroupBase.jsx | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) 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);