add notification on orig image load fail
This commit is contained in:
parent
42cf32c185
commit
a601205a87
@ -20,6 +20,7 @@ export const useCropModalStore = create<CropModalStore>()(
|
|||||||
{
|
{
|
||||||
name: "CropModalStore",
|
name: "CropModalStore",
|
||||||
enabled: process.env.NODE_ENV === "development",
|
enabled: process.env.NODE_ENV === "development",
|
||||||
|
trace: process.env.NODE_ENV === "development",
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@ -53,8 +54,13 @@ export const setCropModalImageUrl = (imageUrl: string | null) => useCropModalSto
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const resetToOriginalImage = () => useCropModalStore.setState(
|
export const resetToOriginalImage = (): boolean => {
|
||||||
state => ({ imageUrl: state.originalImageUrl }),
|
if (!useCropModalStore.getState().originalImageUrl) return false;
|
||||||
false,
|
|
||||||
"resetToOriginalImage"
|
useCropModalStore.setState(
|
||||||
);
|
state => ({ imageUrl: state.originalImageUrl }),
|
||||||
|
false,
|
||||||
|
"resetToOriginalImage"
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import { FC, useRef, useState } from "react";
|
|||||||
import ReactCrop, { Crop, PixelCrop } from "react-image-crop";
|
import ReactCrop, { Crop, PixelCrop } from "react-image-crop";
|
||||||
import "react-image-crop/dist/ReactCrop.css";
|
import "react-image-crop/dist/ReactCrop.css";
|
||||||
import { canvasPreview } from "./utils/canvasPreview";
|
import { canvasPreview } from "./utils/canvasPreview";
|
||||||
|
import { enqueueSnackbar } from "notistack";
|
||||||
|
|
||||||
|
|
||||||
const styleSlider: SxProps<Theme> = {
|
const styleSlider: SxProps<Theme> = {
|
||||||
@ -92,6 +93,11 @@ export const CropModal: FC<Props> = ({ onSaveImageClick }) => {
|
|||||||
closeCropModal();
|
closeCropModal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleLoadOriginalImage() {
|
||||||
|
const isSuccess = resetToOriginalImage();
|
||||||
|
if (!isSuccess) enqueueSnackbar("Не удалось восстановить оригинал. Приносим глубочайшие извинения");
|
||||||
|
}
|
||||||
|
|
||||||
const getImageSize = () => {
|
const getImageSize = () => {
|
||||||
if (cropImageElementRef.current) {
|
if (cropImageElementRef.current) {
|
||||||
const imageWidth = cropImageElementRef.current.naturalWidth;
|
const imageWidth = cropImageElementRef.current.naturalWidth;
|
||||||
@ -248,7 +254,7 @@ export const CropModal: FC<Props> = ({ onSaveImageClick }) => {
|
|||||||
}}
|
}}
|
||||||
>Сохранить</Button>
|
>Сохранить</Button>
|
||||||
<Button
|
<Button
|
||||||
onClick={resetToOriginalImage}
|
onClick={handleLoadOriginalImage}
|
||||||
disableRipple
|
disableRipple
|
||||||
sx={{
|
sx={{
|
||||||
width: "215px",
|
width: "215px",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user