Skip to content

Commit 77ed57c

Browse files
feat: fixed delete button
1 parent 7e81b52 commit 77ed57c

File tree

3 files changed

+10
-13
lines changed

3 files changed

+10
-13
lines changed

src/editors/containers/VideoEditor/components/VideoSettingsModal/components/VideoSourceWidget/hooks.jsx

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,13 @@ export const sourceHooks = ({ dispatch, previousVideoId, setAlert }) => ({
3939

4040
export const fallbackHooks = ({ fallbackVideos, dispatch }) => ({
4141
addFallbackVideo: () => dispatch(actions.video.updateField({ fallbackVideos: [...fallbackVideos, ''] })),
42-
/**
43-
* Deletes the first occurrence of the given videoUrl from the fallbackVideos list
44-
* @param {string} videoUrl - the video URL to delete
45-
*/
46-
deleteFallbackVideo: (videoUrl) => {
47-
const index = fallbackVideos.findIndex(video => video === videoUrl);
48-
const updatedFallbackVideos = [
49-
...fallbackVideos.slice(0, index),
50-
...fallbackVideos.slice(index + 1),
51-
];
42+
43+
deleteFallbackVideo: (videoIndex) => {
44+
const updatedFallbackVideos = fallbackVideos.reduce((result, currentItem, index) => {
45+
if (index === videoIndex) { return result; }
46+
return [...result, currentItem];
47+
}, []);
48+
5249
dispatch(actions.video.updateField({ fallbackVideos: updatedFallbackVideos }));
5350
},
5451
});

src/editors/containers/VideoEditor/components/VideoSettingsModal/components/VideoSourceWidget/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,13 @@ const VideoSourceWidget = () => {
107107
onBlur={fallbackVideos.onBlur(index)}
108108
/>
109109
<IconButtonWithTooltip
110-
key={`top-delete-${videoUrl}`}
111110
tooltipPlacement="top"
112111
tooltipContent={intl.formatMessage(messages.deleteFallbackVideo)}
113112
src={DeleteOutline}
114113
iconAs={Icon}
115114
alt={intl.formatMessage(messages.deleteFallbackVideo)}
116-
onClick={() => deleteFallbackVideo(videoUrl)}
115+
onClick={() => deleteFallbackVideo(index)}
116+
data-testid="delete-fallback-video"
117117
/>
118118
</Form.Group>
119119
</Form.Row>

src/editors/containers/VideoEditor/components/VideoSettingsModal/components/VideoSourceWidget/index.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ describe('VideoSourceWidget', () => {
150150
expect(screen.getAllByText('Video URL').length).toBe(3); // 1 main + 2 fallback
151151
const deleteButtons = screen.getAllByRole('button', { name: /delete/i });
152152
fireEvent.click(deleteButtons[0]);
153-
expect(deleteFallbackVideo).toHaveBeenCalledWith('url1');
153+
expect(deleteFallbackVideo).toHaveBeenCalledWith(0);
154154
});
155155

156156
it('calls addFallbackVideo when add button is clicked', () => {

0 commit comments

Comments
 (0)