🔧 Fix for save/delete functionality on AirDCPP settings form

This commit is contained in:
2022-06-20 00:34:46 -07:00
parent 9cec1c40a8
commit 34e475d3cc
3 changed files with 16 additions and 18 deletions

View File

@@ -1,10 +1,10 @@
import React, { ReactElement, useCallback, useContext, useEffect } from "react"; import React, { ReactElement, useCallback, useContext } from "react";
import { Form, Field } from "react-final-form"; import { Form, Field } from "react-final-form";
import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
import { saveSettings, deleteSettings } from "../../actions/settings.actions"; import { saveSettings, deleteSettings } from "../../actions/settings.actions";
import { AirDCPPSettingsConfirmation } from "./AirDCPPSettingsConfirmation"; import { AirDCPPSettingsConfirmation } from "./AirDCPPSettingsConfirmation";
import { AirDCPPSocketContext } from "../../context/AirDCPPSocket"; import { AirDCPPSocketContext } from "../../context/AirDCPPSocket";
import { isUndefined, isEmpty, isNil } from "lodash"; import { isUndefined, isEmpty } from "lodash";
export const AirDCPPSettingsForm = (): ReactElement => { export const AirDCPPSettingsForm = (): ReactElement => {
const dispatch = useDispatch(); const dispatch = useDispatch();
@@ -22,14 +22,14 @@ export const AirDCPPSettingsForm = (): ReactElement => {
} }
}, []); }, []);
const removeSettings = useCallback(async () => { const removeSettings = useCallback(async () => {
airDCPPSettings.setSettings({});
dispatch(deleteSettings()); dispatch(deleteSettings());
}, []); }, []);
const validate = async () => {}; const validate = async () => {};
console.log(airDCPPSettings.airDCPPState);
// const initFormData = !isUndefined(airDCPPSettings) const initFormData = !isUndefined(airDCPPSettings.airDCPPState.settings.directConnect)
// ? airDCPPSettings.airDCPPState.settings.directConnect.client.host ? airDCPPSettings.airDCPPState.settings.directConnect.client.host
// : {}; : {};
const initFormData = {};
return ( return (
<> <>
@@ -107,20 +107,19 @@ export const AirDCPPSettingsForm = (): ReactElement => {
</form> </form>
)} )}
/> />
{!isUndefined(airDCPPSettings.airDCPPState.socketConnectionInformation) ? ( {!isEmpty(airDCPPSettings.airDCPPState.socketConnectionInformation) ? (
<AirDCPPSettingsConfirmation <AirDCPPSettingsConfirmation
settings={airDCPPSettings.airDCPPState.socketConnectionInformation} settings={airDCPPSettings.airDCPPState.socketConnectionInformation}
/> />
) : null} ) : null}
{/* {!isUndefined(settings) && {!isEmpty(airDCPPSettings.airDCPPState.socketConnectionInformation) ? (
!isEmpty(settings.directConnect.client.airDCPPUserSettings) ? (
<p className="control mt-4"> <p className="control mt-4">
<button className="button is-danger" onClick={removeSettings}> <button className="button is-danger" onClick={removeSettings}>
Delete Delete
</button> </button>
</p> </p>
) : null} */} ) : null}
</> </>
); );
}; };

View File

@@ -1,5 +1,4 @@
import React, { ReactElement, useContext, useEffect, useState } from "react"; import React, { ReactElement, useContext, useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import Dashboard from "./Dashboard/Dashboard"; import Dashboard from "./Dashboard/Dashboard";
import Import from "./Import"; import Import from "./Import";
@@ -21,7 +20,7 @@ import {
AirDCPPSocketContextProvider, AirDCPPSocketContextProvider,
AirDCPPSocketContext, AirDCPPSocketContext,
} from "../context/AirDCPPSocket"; } from "../context/AirDCPPSocket";
import { isEmpty, isNil, isUndefined } from "lodash"; import { isEmpty, isUndefined } from "lodash";
const AirDCPPSocketComponent = (): ReactElement => { const AirDCPPSocketComponent = (): ReactElement => {
const airDCPPConfiguration = useContext(AirDCPPSocketContext); const airDCPPConfiguration = useContext(AirDCPPSocketContext);
@@ -33,7 +32,7 @@ const AirDCPPSocketComponent = (): ReactElement => {
!isUndefined(airDCPPConfiguration.airDCPPState) && !isUndefined(airDCPPConfiguration.airDCPPState) &&
!isEmpty(airDCPPConfiguration.airDCPPState.settings) !isEmpty(airDCPPConfiguration.airDCPPState.settings)
) { ) {
await AirDCPPSocket.addListener( await airDCPPConfiguration.airDCPPState.socket.addListener(
"queue", "queue",
"queue_bundle_added", "queue_bundle_added",
async (data) => console.log("JEMEN:", data), async (data) => console.log("JEMEN:", data),
@@ -44,7 +43,7 @@ const AirDCPPSocketComponent = (): ReactElement => {
} }
}; };
foo(); foo();
}, []); }, [airDCPPConfiguration]);
return <></>; return <></>;
}; };
export const App = (): ReactElement => { export const App = (): ReactElement => {

View File

@@ -1,5 +1,5 @@
import { isEmpty, isUndefined } from "lodash"; import { isEmpty } from "lodash";
import React, { createContext, useEffect, useMemo, useState } from "react"; import React, { createContext, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux"; import { useDispatch, useSelector } from "react-redux";
import { getSettings } from "../actions/settings.actions"; import { getSettings } from "../actions/settings.actions";
import AirDCPPSocket from "../services/DcppSearchService"; import AirDCPPSocket from "../services/DcppSearchService";