🏗 Actions, reducers for Downloads

This commit is contained in:
2022-06-13 14:56:15 -07:00
parent 15c0840c63
commit 7a3e0def34
6 changed files with 29 additions and 30 deletions

View File

@@ -1,9 +1,7 @@
import React, { ReactElement, useCallback, useContext, useEffect } from "react";
import { getSettings } from "../../actions/settings.actions";
import { getTransfers } from "../../actions/airdcpp.actions";
import { useDispatch, useSelector } from "react-redux";
import { AirDCPPSocketContext } from "../../context/AirDCPPSocket";
import AirDCPPSocket from "../../services/DcppSearchService";
import { isEmpty, isUndefined } from "lodash";
interface IDownloadsProps {
@@ -11,41 +9,26 @@ interface IDownloadsProps {
}
export const Downloads = (props: IDownloadsProps): ReactElement => {
const { ADCPPSocket, setADCPPSocket } = useContext(AirDCPPSocketContext);
const airDCPPConfiguration = useContext(AirDCPPSocketContext);
const { AirDCPPSocket, settings } = airDCPPConfiguration;
const dispatch = useDispatch();
const airDCPPClientSettings = useSelector(
(state: RootState) => state.settings.data,
const AirDCPPTransfers = useSelector(
(state: RootState) => state.airdcpp.transfers,
);
useEffect(() => {
dispatch(getSettings());
}, []);
useEffect(() => {
if (!isEmpty(airDCPPClientSettings)) {
setADCPPSocket(
new AirDCPPSocket({
hostname: `${airDCPPClientSettings.directConnect.client.host.hostname}`,
protocol: `${airDCPPClientSettings.directConnect.client.host.protocol}`,
}),
);
}
}, [airDCPPClientSettings]);
console.log(airDCPPClientSettings);
// Make the call to get all transfers from AirDC++
useEffect(() => {
if (!isUndefined(ADCPPSocket) && !isEmpty(airDCPPClientSettings)) {
if (!isUndefined(AirDCPPSocket) && !isEmpty(airDCPPConfiguration)) {
dispatch(
getTransfers(ADCPPSocket, {
username: `${airDCPPClientSettings.directConnect.client.host.username}`,
password: `${airDCPPClientSettings.directConnect.client.host.password}`,
getTransfers(AirDCPPSocket, {
username: `${settings.directConnect.client.host.username}`,
password: `${settings.directConnect.client.host.password}`,
}),
);
}
}, [ADCPPSocket]);
}, [AirDCPPSocket]);
// const getAllDownloads = useCallback(() => {});
return <></>;
return <pre>{JSON.stringify(AirDCPPTransfers, null, 2)}</pre>;
};
export default Downloads;