diff --git a/src/client/actions/fileops.actions.tsx b/src/client/actions/fileops.actions.tsx index 7c80ec7..399b09c 100644 --- a/src/client/actions/fileops.actions.tsx +++ b/src/client/actions/fileops.actions.tsx @@ -194,6 +194,7 @@ export const fetchVolumeGroups = () => async (dispatch) => { }; export const fetchComicVineMatches = (searchPayload, issueSearchQuery, seriesSearchQuery?) => async (dispatch) => { + console.log(issueSearchQuery); try { dispatch({ type: CV_API_CALL_IN_PROGRESS, @@ -223,7 +224,6 @@ export const fetchComicVineMatches = }, }) .then((response) => { - console.log(response); let matches: any = []; if ( !isNil(response.data.results) && @@ -233,7 +233,6 @@ export const fetchComicVineMatches = } else { matches = response.data.map((match) => match); } - console.log(matches); dispatch({ type: CV_SEARCH_SUCCESS, searchResults: matches, diff --git a/src/client/components/AirDCPPSettings/AirDCPPSettingsForm.tsx b/src/client/components/AirDCPPSettings/AirDCPPSettingsForm.tsx index b2aea7e..62b5d15 100644 --- a/src/client/components/AirDCPPSettings/AirDCPPSettingsForm.tsx +++ b/src/client/components/AirDCPPSettings/AirDCPPSettingsForm.tsx @@ -21,8 +21,8 @@ export const AirDCPPSettingsForm = (): ReactElement => { catch { return null; } - } + const onSubmit = useCallback(async (values) => { try { airDCPPSettings.setSettings(values); diff --git a/src/client/components/ComicDetail/ActionMenu/Menu.tsx b/src/client/components/ComicDetail/ActionMenu/Menu.tsx index f7c7a48..829081e 100644 --- a/src/client/components/ComicDetail/ActionMenu/Menu.tsx +++ b/src/client/components/ComicDetail/ActionMenu/Menu.tsx @@ -18,7 +18,6 @@ export const Menu = (props): ReactElement => { } else if (!isEmpty(data.sourcedMetadata)) { issueSearchQuery = refineQuery(data.sourcedMetadata.comicvine.name); } - dispatch(fetchComicVineMatches(data, issueSearchQuery, seriesSearchQuery)); setSlidingPanelContentId("CVMatches"); setVisible(true); diff --git a/src/client/components/ComicDetail/ComicDetail.tsx b/src/client/components/ComicDetail/ComicDetail.tsx index 92f79a7..fa3ffc1 100644 --- a/src/client/components/ComicDetail/ComicDetail.tsx +++ b/src/client/components/ComicDetail/ComicDetail.tsx @@ -5,6 +5,7 @@ import Card from "../Carda"; import { ComicVineMatchPanel } from "./ComicVineMatchPanel"; import { RawFileDetails } from "./RawFileDetails"; +import { ComicVineSearchForm } from "../ComicVineSearchForm"; import TabControls from "./TabControls"; import { EditMetadataPanel } from "./EditMetadataPanel"; @@ -40,6 +41,15 @@ type ComicDetailProps = {}; */ export const ComicDetail = (data: ComicDetailProps): ReactElement => { + const { + data: { + _id, + rawFileDetails, + inferredMetadata, + sourcedMetadata: { comicvine, locg, comicInfo }, + }, + userSettings, + } = data; const [page, setPage] = useState(1); const [visible, setVisible] = useState(false); const [slidingPanelContentId, setSlidingPanelContentId] = useState(""); @@ -67,9 +77,10 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => { dispatch(extractComicArchive(filePath)); }, []); - const afterOpenModal = useCallback(() => { + const afterOpenModal = useCallback((things) => { // references are now sync'd and can be accessed. // subtitle.style.color = "#f00"; + console.log(things); }, []); const closeModal = useCallback(() => { @@ -79,9 +90,21 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => { // sliding panel init const contentForSlidingPanel = { CVMatches: { - content: () => { - if (!comicVineAPICallProgress) { - return ( + content: (props) => ( + <> +
+
+ +
+
+

Searching for:

+ {inferredMetadata.issue ? ( +
+ {inferredMetadata.issue.name} + # {inferredMetadata.issue.number} +
+ ) : null} + {!comicVineAPICallProgress ? ( { comicVineSearchResults, comicObjectId, }} - /> - ); - } else { - return ( -
+ />) : (
{ visible={comicVineAPICallProgress} />
-
- ); - } - }, +
)} + ), }, + + editComicBookMetadata: { content: () => , }, }; - const { - data: { - _id, - rawFileDetails, - inferredMetadata, - sourcedMetadata: { comicvine, locg, comicInfo }, - }, - userSettings, - } = data; + // check for the availability of CV metadata const isComicBookMetadataAvailable = diff --git a/src/client/components/ComicDetail/ComicVineMatchPanel.tsx b/src/client/components/ComicDetail/ComicVineMatchPanel.tsx index d51a0a9..23e12b4 100644 --- a/src/client/components/ComicDetail/ComicVineMatchPanel.tsx +++ b/src/client/components/ComicDetail/ComicVineMatchPanel.tsx @@ -10,38 +10,8 @@ export const ComicVineMatchPanel = (comicVineData): ReactElement => { comicVineAPICallProgress, comicVineSearchResults, } = comicVineData.props; - console.log(comicVineData); return ( <> - {!isEmpty(comicVineSearchQueryObject) && ( -
-
- -

Searching against:

-
-
-
- Title - - {comicVineSearchQueryObject.issue.inferredIssueDetails.name} - -
-
-
-
- Number - - { - comicVineSearchQueryObject.issue.inferredIssueDetails - .number - } - -
-
-
-
-
- )}
{!isEmpty(comicVineSearchResults) && ( + * * ) */ -export const ComicVineSearchForm = () => { - const onSubmit = () => { - return true; - }; +export const ComicVineSearchForm = (data) => { + const dispatch = useDispatch(); + const onSubmit = useCallback((value) => { + const userInititatedQuery = { + inferredIssueDetails: { + name: value.issueName, + number: value.issueNumber, + subtitle: "", + year: value.issueYear, + } + } + dispatch(fetchComicVineMatches(data, userInititatedQuery)); + }, []); const validate = () => { return true; }; @@ -28,7 +38,7 @@ export const ComicVineSearchForm = () => { render={({ handleSubmit }) => (
- +
@@ -64,6 +74,23 @@ export const ComicVineSearchForm = () => {

)} + +
+ + {(props) => ( +

+ + + + +

+ )} +
+
@@ -89,16 +116,7 @@ export const ComicVineSearchForm = () => { /> ); - return ( - - - - ); + return ; }; export default ComicVineSearchForm;