🐂 Queue pause/resume functionality

This commit is contained in:
2023-08-21 17:55:26 -04:00
parent 8c6890a044
commit 0c2cbb6937
3 changed files with 9 additions and 5 deletions

View File

@@ -40,7 +40,7 @@ import { success } from "react-notification-system-redux";
import { isNil, map } from "lodash"; import { isNil, map } from "lodash";
export const getServiceStatus = (serviceName?: string) => async dispatch => { export const getServiceStatus = (serviceName?: string) => async (dispatch) => {
axios axios
.request({ .request({
url: `${LIBRARY_SERVICE_BASE_URI}/getHealthInformation`, url: `${LIBRARY_SERVICE_BASE_URI}/getHealthInformation`,

View File

@@ -43,7 +43,7 @@ export const Import = (props: IProps): ReactElement => {
const libraryQueueImportStatus = useSelector( const libraryQueueImportStatus = useSelector(
(state: RootState) => state.fileOps.IMSCallInProgress, (state: RootState) => state.fileOps.IMSCallInProgress,
); );
const [isImportQueuePaused, setImportQueueStatus] = useState(false); const [isImportQueuePaused, setImportQueueStatus] = useState(undefined);
const initiateImport = useCallback(() => { const initiateImport = useCallback(() => {
if (typeof props.path !== "undefined") { if (typeof props.path !== "undefined") {
dispatch(fetchComicBookMetadata(props.path)); dispatch(fetchComicBookMetadata(props.path));
@@ -52,9 +52,9 @@ export const Import = (props: IProps): ReactElement => {
const toggleImport = useCallback(() => { const toggleImport = useCallback(() => {
setImportQueueStatus(!isImportQueuePaused); setImportQueueStatus(!isImportQueuePaused);
if (isImportQueuePaused === false) { if (isImportQueuePaused === true) {
dispatch(toggleImportQueueStatus({ action: "resume" })); dispatch(toggleImportQueueStatus({ action: "resume" }));
} else if (isImportQueuePaused === true) { } else if (isImportQueuePaused === false) {
dispatch(toggleImportQueueStatus({ action: "pause" })); dispatch(toggleImportQueueStatus({ action: "pause" }));
} }
}, [isImportQueuePaused]); }, [isImportQueuePaused]);
@@ -143,7 +143,7 @@ export const Import = (props: IProps): ReactElement => {
className="button is-warning is-light" className="button is-warning is-light"
onClick={toggleImport} onClick={toggleImport}
> >
{!isImportQueuePaused ? pauseIconText : playIconText} {isImportQueuePaused ? pauseIconText : playIconText}
</button> </button>
</div> </div>
</td> </td>

View File

@@ -177,6 +177,10 @@ function fileOpsReducer(state = initialState, action) {
}; };
} }
case "LS_IMPORT_QUEUE_DRAINED": {
console.log("Queue drained");
}
case COMICBOOK_EXTRACTION_SUCCESS: { case COMICBOOK_EXTRACTION_SUCCESS: {
const comicBookPages: string[] = []; const comicBookPages: string[] = [];
map(action.result.files, (page) => { map(action.result.files, (page) => {