import React, { ReactElement, useCallback, useState } from "react"; import { useSelector, useDispatch } from "react-redux"; import { DnD } from "../../DnD"; import { isEmpty } from "lodash"; import Sticky from "react-stickynode"; import SlidingPane from "react-sliding-pane"; import { extractComicArchive } from "../../../actions/fileops.actions"; import { analyzeImage } from "../../../actions/fileops.actions"; import { Canvas } from "../../shared/Canvas"; export const ArchiveOperations = (props): ReactElement => { const { data } = props; const isComicBookExtractionInProgress = useSelector( (state: RootState) => state.fileOps.comicBookExtractionInProgress, ); const extractedComicBookArchive = useSelector( (state: RootState) => state.fileOps.extractedComicBookArchive.analysis, ); const imageAnalysisResult = useSelector((state: RootState) => { return state.fileOps.imageAnalysisResults; }); const dispatch = useDispatch(); const unpackComicArchive = useCallback(() => { dispatch( extractComicArchive(data.rawFileDetails.filePath, { type: "full", purpose: "analysis", imageResizeOptions: { baseWidth: 275, }, }), ); }, []); // sliding panel config const [visible, setVisible] = useState(false); const [slidingPanelContentId, setSlidingPanelContentId] = useState(""); // current image const [currentImage, setCurrentImage] = useState([]); // sliding panel init const contentForSlidingPanel = { imageAnalysis: { content: () => { return (
{currentImage}
{!isEmpty(imageAnalysisResult) ? (
) : null}
{JSON.stringify(imageAnalysisResult.analyzedData, null, 2)}