diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/__snapshots__/index.test.jsx.snap b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/__snapshots__/index.test.jsx.snap index 22bb051c5..1455c89bd 100644 --- a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/__snapshots__/index.test.jsx.snap +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/__snapshots__/index.test.jsx.snap @@ -3,7 +3,7 @@ exports[`DurationWidget render snapshots: renders as expected with default props 1`] = `
- Total: 00:00:00 + + Total: 00:00:00 +
`; diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.js b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.js index 9a9960307..0ce17d14b 100644 --- a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.js +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.js @@ -47,7 +47,10 @@ export const durationWidget = ({ duration, updateField }) => { return null; } const total = durationString.stopTime - (durationString.startTime || 0); - return intl.formatMessage(messages.total, { total: module.durationStringFromValue(total) }); + return intl.formatMessage( + subtitle ? messages.custom : messages.total, + { total: module.durationStringFromValue(total) }, + ); }, }; }; diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.test.js b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.test.js index 782558829..8442005b1 100644 --- a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.test.js +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/hooks.test.js @@ -120,10 +120,20 @@ describe('Video Settings DurationWidget hooks', () => { startTime: '00:00:00', stopTime: '00:00:10', }, - subtitle: true, + subtitle: false, intl, })).toEqual(messages.total); }); + describe('returns custom message when at least stopTime is set and subtitle is true', () => { + expect(testMethod.getTotalLabel({ + durationString: { + startTime: '00:00:00', + stopTime: '00:00:10', + }, + subtitle: true, + intl, + })).toEqual(messages.custom); + }); }); }); }); diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx index 7b2b1144c..3cb4a2577 100644 --- a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.jsx @@ -11,6 +11,8 @@ import CollapsibleFormWidget from '../CollapsibleFormWidget'; import hooks from './hooks'; import messages from '../messages'; +import './index.scss'; + /** * Collapsible Form widget controlling video start and end times * Also displays the total run time of the video. @@ -69,12 +71,14 @@ export const DurationWidget = ({ -
- {getTotalLabel({ - durationString: duration, - subtitle: false, - intl, - })} +
+ + {getTotalLabel({ + durationString: duration, + subtitle: false, + intl, + })} +
); diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.scss b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.scss new file mode 100644 index 000000000..cc105bb19 --- /dev/null +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/DurationWidget/index.scss @@ -0,0 +1,5 @@ +@import "@edx/paragon/scss/core/core"; + +.total-label { + border: 1px solid $gray-500; +} diff --git a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/messages.js b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/messages.js index 727012ea0..2daece6bf 100644 --- a/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/messages.js +++ b/src/editors/containers/VideoEditor/components/VideoSettingsModal/components/messages.js @@ -57,6 +57,11 @@ export const messages = { defaultMessage: 'Total: {total}', description: 'Text describing a video with custom start time and custom stop time, or just a custom stop time', }, + custom: { + id: 'authoring.videoeditor.duration.custom', + defaultMessage: 'Custom: {total}', + description: 'Text describing a video with custom start time and custom stop time, or just a custom stop time for a collapsed widget', + }, }; export default messages;