From c3d96622e827fcb4f7815ded1ee12e5a992abe0b Mon Sep 17 00:00:00 2001 From: Varsha Menon <46579265+varshamenon4@users.noreply.github.com> Date: Thu, 23 May 2024 11:27:10 -0400 Subject: [PATCH] feat: update courseware search button (#1382) --- .../CoursewareSearchToggle.jsx | 11 +++--- src/course-home/courseware-search/messages.js | 35 ++++++++++-------- src/course-tabs/CourseTabsNavigation.jsx | 36 ++++++++++--------- src/course-tabs/course-tabs-navigation.scss | 22 +++++++++--- 4 files changed, 64 insertions(+), 40 deletions(-) diff --git a/src/course-home/courseware-search/CoursewareSearchToggle.jsx b/src/course-home/courseware-search/CoursewareSearchToggle.jsx index 89ef8619..76e000d7 100644 --- a/src/course-home/courseware-search/CoursewareSearchToggle.jsx +++ b/src/course-home/courseware-search/CoursewareSearchToggle.jsx @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; import { injectIntl, intlShape } from '@edx/frontend-platform/i18n'; -import { Button, Icon } from '@openedx/paragon'; -import { Search } from '@openedx/paragon/icons'; +import { Button } from '@openedx/paragon'; +import { ManageSearch } from '@openedx/paragon/icons'; import { useDispatch } from 'react-redux'; import messages from './messages'; import { useCoursewareSearchFeatureFlag, useCoursewareSearchParams } from './hooks'; @@ -25,16 +25,17 @@ const CoursewareSearchToggle = ({ if (!enabled) { return null; } return ( -
+
); diff --git a/src/course-home/courseware-search/messages.js b/src/course-home/courseware-search/messages.js index 96449f22..dbdac4c4 100644 --- a/src/course-home/courseware-search/messages.js +++ b/src/course-home/courseware-search/messages.js @@ -2,79 +2,84 @@ import { defineMessages } from '@edx/frontend-platform/i18n'; const messages = defineMessages({ searchOpenAction: { - id: 'learn.coursewareSerch.openAction', + id: 'learn.coursewareSearch.openAction', defaultMessage: 'Search within this course', description: 'Aria-label for a button that will pop up Courseware Search.', }, + contentSearchButton: { + id: 'learn.coursewareSearch.contentSearchButton', + defaultMessage: 'Content search', + description: 'Text for a button that will pop up Courseware Search.', + }, searchSubmitLabel: { - id: 'learn.coursewareSerch.submitLabel', + id: 'learn.coursewareSearch.submitLabel', defaultMessage: 'Search', description: 'Button label that will submit Courseware Search.', }, searchClearAction: { - id: 'learn.coursewareSerch.clearAction', + id: 'learn.coursewareSearch.clearAction', defaultMessage: 'Clear search', description: 'Button label that will the current Courseware Search input.', }, searchCloseAction: { - id: 'learn.coursewareSerch.closeAction', + id: 'learn.coursewareSearch.closeAction', defaultMessage: 'Close the search form', description: 'Aria-label for a button that will close Courseware Search.', }, searchModuleTitle: { - id: 'learn.coursewareSerch.searchModuleTitle', + id: 'learn.coursewareSearch.searchModuleTitle', defaultMessage: 'Search this course', description: 'Title for the Courseware Search module.', }, searchBarPlaceholderText: { - id: 'learn.coursewareSerch.searchBarPlaceholderText', + id: 'learn.coursewareSearch.searchBarPlaceholderText', defaultMessage: 'Search', description: 'Placeholder text for the Courseware Search input control', }, loading: { - id: 'learn.coursewareSerch.loading', + id: 'learn.coursewareSearch.loading', defaultMessage: 'Searching...', description: 'Screen reader text to use on the spinner while the search is performing.', }, searchResultsNone: { - id: 'learn.coursewareSerch.searchResultsNone', + id: 'learn.coursewareSearch.searchResultsNone', defaultMessage: 'No results found.', description: 'Text to show when the Courseware Search found no results matching the criteria.', }, searchResultsLabel: { - id: 'learn.coursewareSerch.searchResultsLabel', + id: 'learn.coursewareSearch.searchResultsLabel', defaultMessage: 'Results for "{keyword}":', description: 'Text to show above the search results response list.', }, searchResultsError: { - id: 'learn.coursewareSerch.searchResultsError', + id: 'learn.coursewareSearch.searchResultsError', defaultMessage: 'There was an error on the search process. Please try again in a few minutes. If the problem persists, please contact the support team.', description: 'Error message to show to the users when there\'s an error with the endpoint or the returned payload format.', }, // These are translations for labeling the filters 'filter:all': { - id: 'learn.coursewareSerch.filter:all', + id: 'learn.coursewareSearch.filter:all', defaultMessage: 'All content', description: 'Label for the search results filter that shows all content (no filter).', }, 'filter:text': { - id: 'learn.coursewareSerch.filter:text', + id: 'learn.coursewareSearch.filter:text', defaultMessage: 'Text', description: 'Label for the search results filter that shows results with text content.', }, 'filter:video': { - id: 'learn.coursewareSerch.filter:video', + id: 'learn.coursewareSearch.filter:video', defaultMessage: 'Video', description: 'Label for the search results filter that shows results with video content.', }, 'filter:sequence': { - id: 'learn.coursewareSerch.filter:sequence', + id: 'learn.coursewareSearch.filter:sequence', defaultMessage: 'Section', description: 'Label for the search results filter that shows results with section content.', }, 'filter:other': { - id: 'learn.coursewareSerch.filter:other', + id: 'learn.coursewareSearch.filter:other', defaultMessage: 'Other', description: 'Label for the search results filter that shows results with other content.', }, diff --git a/src/course-tabs/CourseTabsNavigation.jsx b/src/course-tabs/CourseTabsNavigation.jsx index 63640ebe..3aefb349 100644 --- a/src/course-tabs/CourseTabsNavigation.jsx +++ b/src/course-tabs/CourseTabsNavigation.jsx @@ -16,23 +16,27 @@ const CourseTabsNavigation = ({ return (
- - {tabs.map(({ url, title, slug }) => ( - +
+ - {title} - - ))} - -
-
- + {tabs.map(({ url, title, slug }) => ( + + {title} + + ))} + +
+
+ +
+
{show && }
diff --git a/src/course-tabs/course-tabs-navigation.scss b/src/course-tabs/course-tabs-navigation.scss index 2f79d591..bf132d66 100644 --- a/src/course-tabs/course-tabs-navigation.scss +++ b/src/course-tabs/course-tabs-navigation.scss @@ -16,9 +16,23 @@ } } - &__search-toggle { - position: absolute; - top: .05rem; - right: 0; + .nav-bar { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + gap: 10px; } + + .nav-menu { + flex: 1; + } + + .search-toggle { + flex-grow: 0; + text-align: right; + white-space: nowrap; + margin-bottom: 10px; + } + + }