🪢 Unwrangling state vars for global search vs local

This commit is contained in:
2022-08-18 00:10:31 -07:00
parent 5f59456c8b
commit 9bbf2efc3c
6 changed files with 50 additions and 14 deletions

View File

@@ -31,6 +31,7 @@ import {
LS_TOGGLE_IMPORT_QUEUE, LS_TOGGLE_IMPORT_QUEUE,
SS_SEARCH_FAILED, SS_SEARCH_FAILED,
SS_SEARCH_RESULTS_FETCHED_SPECIAL, SS_SEARCH_RESULTS_FETCHED_SPECIAL,
WANTED_COMICS_FETCHED,
} from "../constants/action-types"; } from "../constants/action-types";
import { success } from "react-notification-system-redux"; import { success } from "react-notification-system-redux";
import { removeLeadingPeriod } from "../shared/utils/formatting.utils"; import { removeLeadingPeriod } from "../shared/utils/formatting.utils";
@@ -288,21 +289,40 @@ export const searchIssue = (query, options) => async (dispatch) => {
method: "POST", method: "POST",
data: { ...query, ...options }, data: { ...query, ...options },
}); });
console.log("options", options);
if (response.data.code === 404) { if (response.data.code === 404) {
dispatch({ dispatch({
type: SS_SEARCH_FAILED, type: SS_SEARCH_FAILED,
data: response.data, data: response.data,
}); });
} }
dispatch({
type: SS_SEARCH_RESULTS_FETCHED, switch (options.trigger) {
data: response.data.body, case "wantedComicsPage":
}); dispatch({
dispatch({ type: WANTED_COMICS_FETCHED,
type: SS_SEARCH_RESULTS_FETCHED_SPECIAL, data: response.data.body,
data: response.data.body, });
}); break;
case "globalSearchBar":
dispatch({
type: SS_SEARCH_RESULTS_FETCHED_SPECIAL,
data: response.data.body,
});
break;
case "libraryPage":
dispatch({
type: SS_SEARCH_RESULTS_FETCHED,
data: response.data.body,
});
break;
default:
break;
}
}; };
export const analyzeImage = export const analyzeImage =
(imageFilePath: string | Buffer) => async (dispatch) => { (imageFilePath: string | Buffer) => async (dispatch) => {

View File

@@ -31,6 +31,7 @@ export const SearchBar = (data: ISearchBarProps): ReactElement => {
from: 0, from: 0,
}, },
type: "volumeName", type: "volumeName",
trigger: "globalSearchBar"
}, },
), ),
); );

View File

@@ -18,13 +18,14 @@ const LibraryContainer = (): ReactElement => {
from: 0, from: 0,
}, },
type: "all", type: "all",
trigger: "libraryPage"
}, },
), ),
); );
}, []); }, []);
const searchResults = useSelector( const searchResults = useSelector(
(state: RootState) => state.fileOps.librarySearchResults, (state: RootState) => state.fileOps.libraryComics,
); );
const searchError = useSelector( const searchError = useSelector(
(state: RootState) => state.fileOps.librarySearchError, (state: RootState) => state.fileOps.librarySearchError,

View File

@@ -8,7 +8,7 @@ import MetadataPanel from "../shared/MetadataPanel";
export const WantedComics = (props): ReactElement => { export const WantedComics = (props): ReactElement => {
const wantedComics = useSelector( const wantedComics = useSelector(
(state: RootState) => state.fileOps.librarySearchResultsFormatted, (state: RootState) => state.fileOps.wantedComics,
); );
const dispatch = useDispatch(); const dispatch = useDispatch();
useEffect(() => { useEffect(() => {
@@ -23,6 +23,7 @@ export const WantedComics = (props): ReactElement => {
from: 0, from: 0,
}, },
type: "wanted", type: "wanted",
trigger: "wantedComicsPage"
}, },
), ),
); );

View File

@@ -44,7 +44,7 @@ const initialState = {
extractedComicBookArchive: [], extractedComicBookArchive: [],
recentComics: [], recentComics: [],
wantedComics: [], wantedComics: [],
librarySearchResults: [], libraryComics: [],
librarySearchResultsFormatted: [], librarySearchResultsFormatted: [],
librarySearchResultCount: 0, librarySearchResultCount: 0,
libraryQueueResults: [], libraryQueueResults: [],
@@ -190,12 +190,13 @@ function fileOpsReducer(state = initialState, action) {
case SS_SEARCH_RESULTS_FETCHED: { case SS_SEARCH_RESULTS_FETCHED: {
return { return {
...state, ...state,
librarySearchResults: action.data, libraryComics: action.data,
SSCallInProgress: false, SSCallInProgress: false,
}; };
} }
case SS_SEARCH_RESULTS_FETCHED_SPECIAL: { case SS_SEARCH_RESULTS_FETCHED_SPECIAL: {
const foo = []; const foo = [];
console.log(action.data.hits)
if (!isUndefined(action.data.hits)) { if (!isUndefined(action.data.hits)) {
map(action.data.hits.hits, ({ _source }) => { map(action.data.hits.hits, ({ _source }) => {
foo.push(_source); foo.push(_source);
@@ -207,6 +208,19 @@ function fileOpsReducer(state = initialState, action) {
SSCallInProgress: false, SSCallInProgress: false,
}; };
} }
case WANTED_COMICS_FETCHED: {
const foo = [];
if (!isUndefined(action.data.hits)) {
map(action.data.hits.hits, ({ _source }) => {
foo.push(_source);
});
}
return {
...state,
wantedComics: foo,
SSCallInProgress: false,
};
}
case SS_SEARCH_FAILED: { case SS_SEARCH_FAILED: {
return { return {

View File

@@ -2,7 +2,6 @@ import { Socket } from "airdcpp-apisocket";
class AirDCPPSocket { class AirDCPPSocket {
constructor(configuration) { constructor(configuration) {
console.log(configuration);
let socketProtocol = ""; let socketProtocol = "";
if (configuration.protocol === "https") { if (configuration.protocol === "https") {
socketProtocol = "wss"; socketProtocol = "wss";