From 40967de5d2f41f43269ddf2122f072cce1dafb79 Mon Sep 17 00:00:00 2001 From: oak Date: Thu, 24 Oct 2024 20:40:57 +0300 Subject: [PATCH] media can be deleted only from media selector --- src/components/common/singleMediaViewAndSelect.tsx | 3 +++ .../managers/archive/createArchive/createArchive.tsx | 1 + .../managers/archive/listArchive/listArchive.tsx | 1 + .../managers/hero/entities/doubleAdd/doubleAdd.tsx | 2 ++ src/components/managers/hero/entities/mainAdd/mainAdd.tsx | 1 + .../managers/hero/entities/singleAdd/singleAdd.tsx | 1 + .../genericProductComponent/mediaView/mediaView.tsx | 2 ++ src/features/interfaces/mediaSelectorInterfaces.ts | 4 ++++ src/features/mediaSelector/listMedia.tsx | 7 ++++--- src/features/mediaSelector/mediaSelector.tsx | 2 ++ src/features/mediaSelector/mediaSelectorLayout.tsx | 2 ++ src/features/mediaSelector/mediaSelectorModal.tsx | 2 ++ 12 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/components/common/singleMediaViewAndSelect.tsx b/src/components/common/singleMediaViewAndSelect.tsx index 8846ed4..d666b15 100644 --- a/src/components/common/singleMediaViewAndSelect.tsx +++ b/src/components/common/singleMediaViewAndSelect.tsx @@ -11,6 +11,7 @@ interface SingleMediaView { isAddingProduct?: boolean; aspectRatio?: string[]; hideVideos?: boolean; + isDeleteAccepted?: boolean; saveSelectedMedia: (newSelectedMedia: common_MediaFull[]) => void; } @@ -20,6 +21,7 @@ export const SingleMediaViewAndSelect: FC = ({ isAddingProduct, aspectRatio, hideVideos, + isDeleteAccepted, saveSelectedMedia, }) => { return ( @@ -38,6 +40,7 @@ export const SingleMediaViewAndSelect: FC = ({ allowMultiple={false} aspectRatio={aspectRatio} hideVideos={hideVideos} + isDeleteAccepted={isDeleteAccepted} saveSelectedMedia={saveSelectedMedia} /> diff --git a/src/components/managers/archive/createArchive/createArchive.tsx b/src/components/managers/archive/createArchive/createArchive.tsx index a8b12c7..f4c7928 100644 --- a/src/components/managers/archive/createArchive/createArchive.tsx +++ b/src/components/managers/archive/createArchive/createArchive.tsx @@ -180,6 +180,7 @@ export const CreateArchive: FC = ({ fetchArchive, showMessage }) saveSelectedMedia={mediaPreview} aspectRatio={['1:1', '3:4', '4:3']} hideVideos={true} + isDeleteAccepted={false} /> {mediaItem.map((media, id) => ( diff --git a/src/components/managers/archive/listArchive/listArchive.tsx b/src/components/managers/archive/listArchive/listArchive.tsx index aa3398e..311ee14 100644 --- a/src/components/managers/archive/listArchive/listArchive.tsx +++ b/src/components/managers/archive/listArchive/listArchive.tsx @@ -294,6 +294,7 @@ export const ListArchive: FC = ({ saveSelectedMedia={handleMediaPreview(entry.archive?.id)} aspectRatio={['1:1', '3:4', '4:3']} hideVideos={true} + isDeleteAccepted={false} /> )} diff --git a/src/components/managers/hero/entities/doubleAdd/doubleAdd.tsx b/src/components/managers/hero/entities/doubleAdd/doubleAdd.tsx index 4b720f6..4e9c64b 100644 --- a/src/components/managers/hero/entities/doubleAdd/doubleAdd.tsx +++ b/src/components/managers/hero/entities/doubleAdd/doubleAdd.tsx @@ -26,6 +26,7 @@ export const DoubleAdd: FC = ({ saveDoubleMedia && saveDoubleMedia(selectedMedia, 'left', index) } @@ -68,6 +69,7 @@ export const DoubleAdd: FC = ({ saveDoubleMedia && saveDoubleMedia(selectedMedia, 'right', index) } diff --git a/src/components/managers/hero/entities/mainAdd/mainAdd.tsx b/src/components/managers/hero/entities/mainAdd/mainAdd.tsx index 54850f8..392cd59 100644 --- a/src/components/managers/hero/entities/mainAdd/mainAdd.tsx +++ b/src/components/managers/hero/entities/mainAdd/mainAdd.tsx @@ -20,6 +20,7 @@ export const MainAdd: FC = ({ index, entity, link, sav saveMedia && saveMedia(selectedMedia, index)} /> {`${errors}.entities.${index}.mainAdd..singleAdd.mediaId` && ( diff --git a/src/components/managers/hero/entities/singleAdd/singleAdd.tsx b/src/components/managers/hero/entities/singleAdd/singleAdd.tsx index 9d77747..2219a4d 100644 --- a/src/components/managers/hero/entities/singleAdd/singleAdd.tsx +++ b/src/components/managers/hero/entities/singleAdd/singleAdd.tsx @@ -25,6 +25,7 @@ export const SingleAdd: FC = ({ saveMedia && saveMedia(selectedMedia, index)} /> {`${errors}.entities.${index}.singleAdd.mediaId` && ( diff --git a/src/components/managers/products/genericProductComponent/mediaView/mediaView.tsx b/src/components/managers/products/genericProductComponent/mediaView/mediaView.tsx index 7547436..f846fcc 100644 --- a/src/components/managers/products/genericProductComponent/mediaView/mediaView.tsx +++ b/src/components/managers/products/genericProductComponent/mediaView/mediaView.tsx @@ -79,6 +79,7 @@ export const MediaView: FC = ({ } isEditMode={isEditMode} isAddingProduct={isAddingProduct} + isDeleteAccepted={false} aspectRatio={['4:5']} hideVideos={true} saveSelectedMedia={uploadThumbnailInProduct} @@ -120,6 +121,7 @@ export const MediaView: FC = ({ diff --git a/src/features/interfaces/mediaSelectorInterfaces.ts b/src/features/interfaces/mediaSelectorInterfaces.ts index 9cd5b5b..61caf24 100644 --- a/src/features/interfaces/mediaSelectorInterfaces.ts +++ b/src/features/interfaces/mediaSelectorInterfaces.ts @@ -7,6 +7,7 @@ export interface MediaSelectorLayoutProps { allowMultiple: boolean; aspectRatio?: string[]; hideVideos?: boolean; + isDeleteAccepted?: boolean; saveSelectedMedia: (newSelectedMedia: common_MediaFull[]) => void; } @@ -14,6 +15,7 @@ export interface MediaSelectorModalProps { allowMultiple: boolean; aspectRatio?: string[]; hideVideos?: boolean; + isDeleteAccepted?: boolean; closeMediaSelector: () => void; saveSelectedMedia: (newSelectedMedia: common_MediaFull[]) => void; } @@ -24,6 +26,7 @@ export interface MediaSelectorInterface { enableModal?: boolean aspectRatio?: string[] hideVideos?: boolean + isDeleteAccepted?: boolean; select: (imageUrl: common_MediaFull, allowMultiple: boolean) => void } @@ -37,6 +40,7 @@ export interface MediaSelectorMediaListProps { croppedImage: string | null aspectRatio?: string[] hideVideos?: boolean + isDeleteAccepted?: boolean; setCroppedImage: (img: string | null) => void select: (imageUrl: common_MediaFull, allowMultiple: boolean) => void; setMedia: React.Dispatch>; diff --git a/src/features/mediaSelector/listMedia.tsx b/src/features/mediaSelector/listMedia.tsx index 4940cf4..e435f68 100644 --- a/src/features/mediaSelector/listMedia.tsx +++ b/src/features/mediaSelector/listMedia.tsx @@ -28,13 +28,14 @@ export const MediaList: FC = ({ selectedMedia, enableModal = false, croppedImage, + aspectRatio, + hideVideos = false, + isDeleteAccepted = true, setCroppedImage, select, setMedia, sortedAndFilteredMedia, handleUploadMedia, - aspectRatio, - hideVideos = false, }) => { const { isSnackBarOpen, snackBarMessage, snackBarSeverity, showMessage, closeSnackBar } = useMediaSelector(); @@ -190,7 +191,7 @@ export const MediaList: FC = ({ /> )} - {hoveredMediaId === media.id && ( + {hoveredMediaId === media.id && isDeleteAccepted && ( handleDeleteFile(media.id, e)} diff --git a/src/features/mediaSelector/mediaSelector.tsx b/src/features/mediaSelector/mediaSelector.tsx index d477c58..f065404 100644 --- a/src/features/mediaSelector/mediaSelector.tsx +++ b/src/features/mediaSelector/mediaSelector.tsx @@ -15,6 +15,7 @@ export const MediaSelector: FC = ({ enableModal, aspectRatio, hideVideos, + isDeleteAccepted, select, }) => { const { @@ -113,6 +114,7 @@ export const MediaSelector: FC = ({ croppedImage={croppedImage} aspectRatio={aspectRatio} hideVideos={hideVideos} + isDeleteAccepted={isDeleteAccepted} setCroppedImage={setCroppedImage} select={select} setMedia={setMedia} diff --git a/src/features/mediaSelector/mediaSelectorLayout.tsx b/src/features/mediaSelector/mediaSelectorLayout.tsx index e2faad7..05e31bc 100644 --- a/src/features/mediaSelector/mediaSelectorLayout.tsx +++ b/src/features/mediaSelector/mediaSelectorLayout.tsx @@ -8,6 +8,7 @@ export const MediaSelectorLayout: FC = ({ allowMultiple, aspectRatio, hideVideos, + isDeleteAccepted, saveSelectedMedia, }) => { const [mediaSelectorVisibility, setMediaSelectorVisibility] = useState(false); @@ -28,6 +29,7 @@ export const MediaSelectorLayout: FC = ({ aspectRatio={aspectRatio} hideVideos={hideVideos} allowMultiple={allowMultiple} + isDeleteAccepted={isDeleteAccepted} saveSelectedMedia={saveSelectedMedia} closeMediaSelector={handleMediaSelectorVisibility} /> diff --git a/src/features/mediaSelector/mediaSelectorModal.tsx b/src/features/mediaSelector/mediaSelectorModal.tsx index bef7b50..9324b5b 100644 --- a/src/features/mediaSelector/mediaSelectorModal.tsx +++ b/src/features/mediaSelector/mediaSelectorModal.tsx @@ -11,6 +11,7 @@ export const MediaSelectorModal: FC = ({ allowMultiple, aspectRatio, hideVideos, + isDeleteAccepted, closeMediaSelector, saveSelectedMedia, }) => { @@ -64,6 +65,7 @@ export const MediaSelectorModal: FC = ({ allowMultiple={allowMultiple} aspectRatio={aspectRatio} hideVideos={hideVideos} + isDeleteAccepted={isDeleteAccepted} selectedMedia={selectedMedia} select={select} />