From 6646c8ed0f314a63d94d627236681a3d7b0a98d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Ch=C3=A1vez?= Date: Wed, 27 Aug 2025 19:29:24 -0500 Subject: [PATCH] style: Fixing nits about sync units [FC-0097] (#2319) * Stay visible the sync icon in the course outline * Update the message in the sync unit/subsection/section modal * Add a tooltip to the edit and sync button. --- src/course-libraries/ReviewTabContent.tsx | 2 +- src/course-outline/card-header/CardHeader.tsx | 24 ++++++++++--------- src/course-outline/card-header/messages.js | 4 ++-- .../section-card/SectionCard.test.tsx | 4 ++-- .../subsection-card/SubsectionCard.test.tsx | 4 ++-- .../unit-card/UnitCard.test.tsx | 4 ++-- .../component-comparison/messages.ts | 2 +- 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/course-libraries/ReviewTabContent.tsx b/src/course-libraries/ReviewTabContent.tsx index 9bafb8f75..03bbe6f2d 100644 --- a/src/course-libraries/ReviewTabContent.tsx +++ b/src/course-libraries/ReviewTabContent.tsx @@ -172,7 +172,7 @@ const ItemReviewList = ({ downstreamBlockId: info.usageKey, upstreamBlockId: outOfSyncItemsByKey[info.usageKey].upstreamKey, upstreamBlockVersionSynced: outOfSyncItemsByKey[info.usageKey].versionSynced, - isContainer: info.blockType === 'vertical' || info.blockType === 'sequencial' || info.blockType === 'chapter', + isContainer: info.blockType === 'vertical' || info.blockType === 'sequential' || info.blockType === 'chapter', }); }, [outOfSyncItemsByKey]); diff --git a/src/course-outline/card-header/CardHeader.tsx b/src/course-outline/card-header/CardHeader.tsx index 11929f62a..ed894036c 100644 --- a/src/course-outline/card-header/CardHeader.tsx +++ b/src/course-outline/card-header/CardHeader.tsx @@ -10,6 +10,7 @@ import { Hyperlink, Icon, IconButton, + IconButtonWithTooltip, useToggle, } from '@openedx/paragon'; import { @@ -175,19 +176,11 @@ const CardHeader = ({ ) : ( <> {titleComponent} - {readyToSync && ( - - )} - {intl.formatMessage(messages.altButtonRename)}} iconAs={EditIcon} onClick={onClickEdit} // @ts-ignore @@ -203,6 +196,15 @@ const CardHeader = ({ )} {extraActionsComponent} + {readyToSync && ( + {intl.formatMessage(messages.readyToSyncButtonAlt)}} + onClick={onClickSync} + /> + )} ', () => { // Should open compare preview modal expect(screen.getByRole('heading', { name: /preview changes: section name/i })).toBeInTheDocument(); - expect(screen.getByText('Preview not available')).toBeInTheDocument(); + expect(screen.getByText('Preview not available for container changes at this time')).toBeInTheDocument(); // Click on accept changes const acceptChangesButton = screen.getByText(/accept changes/i); @@ -250,7 +250,7 @@ describe('', () => { // Should open compare preview modal expect(screen.getByRole('heading', { name: /preview changes: section name/i })).toBeInTheDocument(); - expect(screen.getByText('Preview not available')).toBeInTheDocument(); + expect(screen.getByText('Preview not available for container changes at this time')).toBeInTheDocument(); // Click on ignore changes const ignoreChangesButton = screen.getByRole('button', { name: /ignore changes/i }); diff --git a/src/course-outline/subsection-card/SubsectionCard.test.tsx b/src/course-outline/subsection-card/SubsectionCard.test.tsx index 54bee7fa6..35582c817 100644 --- a/src/course-outline/subsection-card/SubsectionCard.test.tsx +++ b/src/course-outline/subsection-card/SubsectionCard.test.tsx @@ -338,7 +338,7 @@ describe('', () => { // Should open compare preview modal expect(screen.getByRole('heading', { name: /preview changes: subsection name/i })).toBeInTheDocument(); - expect(screen.getByText('Preview not available')).toBeInTheDocument(); + expect(screen.getByText('Preview not available for container changes at this time')).toBeInTheDocument(); // Click on accept changes const acceptChangesButton = screen.getByText(/accept changes/i); @@ -358,7 +358,7 @@ describe('', () => { // Should open compare preview modal expect(screen.getByRole('heading', { name: /preview changes: subsection name/i })).toBeInTheDocument(); - expect(screen.getByText('Preview not available')).toBeInTheDocument(); + expect(screen.getByText('Preview not available for container changes at this time')).toBeInTheDocument(); // Click on ignore changes const ignoreChangesButton = screen.getByRole('button', { name: /ignore changes/i }); diff --git a/src/course-outline/unit-card/UnitCard.test.tsx b/src/course-outline/unit-card/UnitCard.test.tsx index 490100855..5792ee603 100644 --- a/src/course-outline/unit-card/UnitCard.test.tsx +++ b/src/course-outline/unit-card/UnitCard.test.tsx @@ -198,7 +198,7 @@ describe('', () => { // Should open compare preview modal expect(screen.getByRole('heading', { name: /preview changes: unit name/i })).toBeInTheDocument(); - expect(screen.getByText('Preview not available')).toBeInTheDocument(); + expect(screen.getByText('Preview not available for container changes at this time')).toBeInTheDocument(); // Click on accept changes const acceptChangesButton = screen.getByText(/accept changes/i); @@ -218,7 +218,7 @@ describe('', () => { // Should open compare preview modal expect(screen.getByRole('heading', { name: /preview changes: unit name/i })).toBeInTheDocument(); - expect(screen.getByText('Preview not available')).toBeInTheDocument(); + expect(screen.getByText('Preview not available for container changes at this time')).toBeInTheDocument(); // Click on ignore changes const ignoreChangesButton = screen.getByRole('button', { name: /ignore changes/i }); diff --git a/src/library-authoring/component-comparison/messages.ts b/src/library-authoring/component-comparison/messages.ts index 322eaee3a..8da23e3d2 100644 --- a/src/library-authoring/component-comparison/messages.ts +++ b/src/library-authoring/component-comparison/messages.ts @@ -19,7 +19,7 @@ const messages = defineMessages({ }, previewNotAvailable: { id: 'course-authoring.library-authoring.component-comparison.preview-not-available', - defaultMessage: 'Preview not available', + defaultMessage: 'Preview not available for container changes at this time', description: 'Message shown when preview is not available.', }, });