diff --git a/src/client/actions/airdcpp.actions.tsx b/src/client/actions/airdcpp.actions.tsx
index 0f99fc2..e7f092f 100644
--- a/src/client/actions/airdcpp.actions.tsx
+++ b/src/client/actions/airdcpp.actions.tsx
@@ -265,7 +265,6 @@ export const getTransfers =
true,
);
}
- console.log(ADCPPSocket);
const foo = await ADCPPSocket.get("queue/bundles/1/50", {});
console.log(foo);
} catch (err) {
diff --git a/src/client/assets/scss/App.scss b/src/client/assets/scss/App.scss
index 52d76d5..a36489d 100644
--- a/src/client/assets/scss/App.scss
+++ b/src/client/assets/scss/App.scss
@@ -58,6 +58,11 @@ pre {
.navbar {
border-bottom: 1px solid #f2f1f9;
+ .download-progress-meter {
+ margin-left: -300px;
+ min-width: 500px;
+
+ }
}
.navbar-item.is-mega {
diff --git a/src/client/components/App.tsx b/src/client/components/App.tsx
index e90dd19..093b70b 100644
--- a/src/client/components/App.tsx
+++ b/src/client/components/App.tsx
@@ -1,5 +1,5 @@
-import React, { ReactElement, useState } from "react";
-import { useSelector } from "react-redux";
+import React, { ReactElement, useContext, useEffect, useState } from "react";
+import { useDispatch, useSelector } from "react-redux";
import Dashboard from "./Dashboard/Dashboard";
import Import from "./Import";
@@ -18,7 +18,11 @@ import { Routes, Route } from "react-router-dom";
import Navbar from "./Navbar";
import "../assets/scss/App.scss";
import Notifications from "react-notification-system-redux";
-import { AirDCPPSocketContext } from "../context/AirDCPPSocket";
+import {
+ AirDCPPSocketContextProvider,
+ AirDCPPSocketContext,
+} from "../context/AirDCPPSocket";
+import { isNil } from "lodash";
//Optional styling
const style = {
@@ -66,10 +70,26 @@ const style = {
export const App = (): ReactElement => {
const notifications = useSelector((state: RootState) => state.notifications);
- const [ADCPPSocket, setADCPPSocket] = useState({});
+ const airDCPPConfiguration = useContext(AirDCPPSocketContext);
+ const { AirDCPPSocket } = airDCPPConfiguration;
+ useEffect(() => {
+ const addQueueListener = async () => {
+ if (!isNil(AirDCPPSocket)) {
+ await AirDCPPSocket.addListener(
+ "queue",
+ "queue_bundle_added",
+ async (data) => console.log("JEMEN:", data),
+ );
+ console.log(
+ "[AirDCPP]: Listener registered - listening to queue bundle changes",
+ );
+ }
+ };
+ addQueueListener();
+ }, [AirDCPPSocket]);
return (
-
+
{
} />
} />
} />
- } />
+ } />
} />
{
} />
-
+
);
};
diff --git a/src/client/components/ComicDetail/AcquisitionPanel.tsx b/src/client/components/ComicDetail/AcquisitionPanel.tsx
index 7454983..aab76fd 100644
--- a/src/client/components/ComicDetail/AcquisitionPanel.tsx
+++ b/src/client/components/ComicDetail/AcquisitionPanel.tsx
@@ -20,14 +20,14 @@ interface IAcquisitionPanelProps {
query: any;
comicObjectid: any;
comicObject: any;
- userSettings: any;
+ settings: any;
}
export const AcquisitionPanel = (
props: IAcquisitionPanelProps,
): ReactElement => {
const issueName = props.query.issue.name || "";
- const { userSettings } = props;
+ // const { settings } = props;
const sanitizedIssueName = issueName.replace(/[^a-zA-Z0-9 ]/g, " ");
// Selectors for picking state
@@ -44,23 +44,21 @@ export const AcquisitionPanel = (
(state: RootState) => state.airdcpp.searchInstance,
);
- // const userSettings = useSelector((state: RootState) => state.settings.data);
- const { ADCPPSocket } = useContext(AirDCPPSocketContext);
+ // const settings = useSelector((state: RootState) => state.settings.data);
+ const airDCPPConfiguration = useContext(AirDCPPSocketContext);
+ const { AirDCPPSocket, settings } = airDCPPConfiguration;
const dispatch = useDispatch();
const [dcppQuery, setDcppQuery] = useState({});
- console.log(ADCPPSocket);
+ console.log(airDCPPConfiguration)
useEffect(() => {
- if (!isNil(userSettings.directConnect)) {
+ if (!isNil(settings)) {
// AirDC++ search query
const dcppSearchQuery = {
query: {
pattern: `${sanitizedIssueName.replace(/#/g, "")}`,
extensions: ["cbz", "cbr", "cb7"],
},
- hub_urls: map(
- userSettings.directConnect.client.hubs,
- (item) => item.value,
- ),
+ hub_urls: map(settings.directConnect.client.hubs, (item) => item.value),
priority: 5,
};
setDcppQuery(dcppSearchQuery);
@@ -74,20 +72,17 @@ export const AcquisitionPanel = (
pattern: `${searchQuery.issueName}`,
extensions: ["cbz", "cbr", "cb7"],
},
- hub_urls: map(
- userSettings.directConnect.client.hubs,
- (item) => item.value,
- ),
+ hub_urls: map(settings.directConnect.client.hubs, (item) => item.value),
priority: 5,
};
dispatch(
- search(manualQuery, ADCPPSocket, {
- username: `${userSettings.directConnect.client.host.username}`,
- password: `${userSettings.directConnect.client.host.password}`,
+ search(manualQuery, AirDCPPSocket, {
+ username: `${settings.directConnect.client.host.username}`,
+ password: `${settings.directConnect.client.host.password}`,
}),
);
},
- [dispatch, ADCPPSocket],
+ [dispatch, AirDCPPSocket],
);
// download via AirDC++
@@ -99,18 +94,18 @@ export const AcquisitionPanel = (
resultId,
comicBookObjectId,
comicObject,
- ADCPPSocket,
+ AirDCPPSocket,
{
- username: `${userSettings.directConnect.client.host.username}`,
- password: `${userSettings.directConnect.client.host.password}`,
+ username: `${settings.directConnect.client.host.username}`,
+ password: `${settings.directConnect.client.host.password}`,
},
),
);
// this is to update the download count badge on the downloads tab
dispatch(
- getBundlesForComic(comicBookObjectId, ADCPPSocket, {
- username: `${userSettings.directConnect.client.host.username}`,
- password: `${userSettings.directConnect.client.host.password}`,
+ getBundlesForComic(comicBookObjectId, AirDCPPSocket, {
+ username: `${settings.directConnect.client.host.username}`,
+ password: `${settings.directConnect.client.host.password}`,
}),
);
},
@@ -119,7 +114,7 @@ export const AcquisitionPanel = (
return (
<>
- {!isEmpty(ADCPPSocket) ? (
+ {!isEmpty(AirDCPPSocket) ? (