diff --git a/src/client/actions/airdcpp.actions.tsx b/src/client/actions/airdcpp.actions.tsx
index bc19c78..afca6f4 100644
--- a/src/client/actions/airdcpp.actions.tsx
+++ b/src/client/actions/airdcpp.actions.tsx
@@ -117,6 +117,7 @@ export const downloadAirDCPPItem =
instanceId: string,
resultId: string,
comicObjectId: string,
+ comicObject: any,
ADCPPSocket: any,
credentials: any,
): void =>
@@ -129,6 +130,7 @@ export const downloadAirDCPPItem =
true,
);
}
+ console.log(comicObject)
let bundleDBImportResult = {};
const downloadResult = await ADCPPSocket.post(
`search/${instanceId}/results/${resultId}/download`,
@@ -143,7 +145,7 @@ export const downloadAirDCPPItem =
dispatch({
type: LS_SINGLE_IMPORT,
meta: { remote: true },
- data: { downloadStatus, comicObjectId },
+ data: { downloadStatus, comicObjectId, comicObject },
});
}
count += 1;
@@ -160,7 +162,7 @@ export const downloadAirDCPPItem =
(item) => item.id,
);
}
-
+ console.log(comicObjectId)
if (!isNil(downloadResult)) {
bundleDBImportResult = await axios({
method: "POST",
diff --git a/src/client/actions/fileops.actions.tsx b/src/client/actions/fileops.actions.tsx
index f3adfe5..33db13b 100644
--- a/src/client/actions/fileops.actions.tsx
+++ b/src/client/actions/fileops.actions.tsx
@@ -132,9 +132,12 @@ export const getComicBooks = (options) => async (dispatch) => {
* @returns Nothing.
* @param payload
*/
-export const importToDB = (payload?: any) => (dispatch) => {
+export const importToDB = (sourceName: string, payload?: any) => (dispatch) => {
try {
const comicBookMetadata = {
+ rawFileDetails: {
+ name: "",
+ },
importStatus: {
isImported: true,
tagged: false,
@@ -143,7 +146,7 @@ export const importToDB = (payload?: any) => (dispatch) => {
},
},
sourcedMetadata: payload || null,
- acquisition: { wanted: true },
+ acquisition: { source: { wanted: true, name: sourceName } },
};
dispatch({
type: IMS_CV_METADATA_IMPORT_CALL_IN_PROGRESS,
@@ -153,7 +156,7 @@ export const importToDB = (payload?: any) => (dispatch) => {
url: `${LIBRARY_SERVICE_BASE_URI}/rawImportToDb`,
method: "POST",
data: comicBookMetadata,
- transformResponse: (r: string) => JSON.parse(r),
+ // transformResponse: (r: string) => JSON.parse(r),
})
.then((response) => {
const { data } = response;
diff --git a/src/client/assets/img/cvlogo.svg b/src/client/assets/img/cvlogo.svg
index 55423b9..0cf1d87 100644
--- a/src/client/assets/img/cvlogo.svg
+++ b/src/client/assets/img/cvlogo.svg
@@ -1,5 +1,5 @@
diff --git a/src/client/assets/img/locglogo.svg b/src/client/assets/img/locglogo.svg
index 8461007..4c79de3 100644
--- a/src/client/assets/img/locglogo.svg
+++ b/src/client/assets/img/locglogo.svg
@@ -1,7 +1,7 @@
diff --git a/src/client/assets/scss/App.scss b/src/client/assets/scss/App.scss
index 888ef78..52d76d5 100644
--- a/src/client/assets/scss/App.scss
+++ b/src/client/assets/scss/App.scss
@@ -245,6 +245,7 @@ pre {
flex: 1 1 auto;
display: flex;
.card-image {
+ // leaving this here... for posterity
img.image {
border-top-left-radius: 8px;
border-bottom-left-radius: 8px;
@@ -255,6 +256,18 @@ pre {
object-fit: cover;
flex: 1 1 auto;
}
+ img.cropped-image {
+ width: 70px;
+ border-top-left-radius: 8px;
+ border-bottom-left-radius: 8px;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ height: 64px;
+ object-fit: cover;
+ object-position: 100% 0;
+ // flex: 1 1 auto;
+
+ }
}
}
.card-content {
diff --git a/src/client/components/Carda.tsx b/src/client/components/Carda.tsx
index 461f280..2d975bd 100644
--- a/src/client/components/Carda.tsx
+++ b/src/client/components/Carda.tsx
@@ -25,7 +25,7 @@ const renderCard = (props): ReactElement => {
{props.hasDetails && (
@@ -34,9 +34,6 @@ const renderCard = (props): ReactElement => {
-
-
-
);
case "vertical":
return (
diff --git a/src/client/components/ComicDetail/AcquisitionPanel.tsx b/src/client/components/ComicDetail/AcquisitionPanel.tsx
index 0ba20f2..7454983 100644
--- a/src/client/components/ComicDetail/AcquisitionPanel.tsx
+++ b/src/client/components/ComicDetail/AcquisitionPanel.tsx
@@ -19,12 +19,15 @@ import { AirDCPPSocketContext } from "../../context/AirDCPPSocket";
interface IAcquisitionPanelProps {
query: any;
comicObjectid: any;
+ comicObject: any;
+ userSettings: any;
}
export const AcquisitionPanel = (
props: IAcquisitionPanelProps,
): ReactElement => {
- const issueName = props.query.issue.name;
+ const issueName = props.query.issue.name || "";
+ const { userSettings } = props;
const sanitizedIssueName = issueName.replace(/[^a-zA-Z0-9 ]/g, " ");
// Selectors for picking state
@@ -41,11 +44,11 @@ export const AcquisitionPanel = (
(state: RootState) => state.airdcpp.searchInstance,
);
- const userSettings = useSelector((state: RootState) => state.settings.data);
+ // const userSettings = useSelector((state: RootState) => state.settings.data);
const { ADCPPSocket } = useContext(AirDCPPSocketContext);
const dispatch = useDispatch();
const [dcppQuery, setDcppQuery] = useState({});
-
+ console.log(ADCPPSocket);
useEffect(() => {
if (!isNil(userSettings.directConnect)) {
// AirDC++ search query
@@ -89,12 +92,13 @@ export const AcquisitionPanel = (
// download via AirDC++
const downloadDCPPResult = useCallback(
- (searchInstanceId, resultId, comicBookObjectId) => {
+ (searchInstanceId, resultId, comicBookObjectId, comicObject) => {
dispatch(
downloadAirDCPPItem(
searchInstanceId,
resultId,
comicBookObjectId,
+ comicObject,
ADCPPSocket,
{
username: `${userSettings.directConnect.client.host.username}`,
@@ -293,6 +297,7 @@ export const AcquisitionPanel = (
searchInstance.id,
result.id,
props.comicObjectid,
+ props.comicObject,
)
}
>
diff --git a/src/client/components/ComicDetail/ComicDetail.tsx b/src/client/components/ComicDetail/ComicDetail.tsx
index 7060654..0f155b5 100644
--- a/src/client/components/ComicDetail/ComicDetail.tsx
+++ b/src/client/components/ComicDetail/ComicDetail.tsx
@@ -31,9 +31,6 @@ import SlidingPane from "react-sliding-pane";
import Modal from "react-modal";
import ComicViewer from "react-comic-viewer";
-import { getSettings } from "../../actions/settings.actions";
-import { AirDCPPSocketContext } from "../../context/AirDCPPSocket";
-import AirDCPPSocket from "../../services/DcppSearchService";
import { extractComicArchive } from "../../actions/fileops.actions";
import { determineCoverFile } from "../../shared/utils/metadata.utils";
@@ -68,8 +65,7 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => {
(state: RootState) => state.fileOps.extractedComicBookArchive,
);
const { comicObjectId } = useParams<{ comicObjectId: string }>();
- const userSettings = useSelector((state: RootState) => state.settings.data);
- const { ADCPPSocket, setADCPPSocket } = useContext(AirDCPPSocketContext);
+
const dispatch = useDispatch();
const openModal = useCallback((filePath) => {
@@ -86,24 +82,6 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => {
setIsOpen(false);
}, []);
- useEffect(() => {
- dispatch(getSettings());
- }, [page, dispatch]);
-
- useEffect(() => {
- if (isEmpty(ADCPPSocket) && !isNil(userSettings.directConnect)) {
- setADCPPSocket(
- new AirDCPPSocket({
- protocol: `${userSettings.directConnect.client.host.protocol}`,
- hostname: `${userSettings.directConnect.client.host.hostname}`,
- }),
- );
- }
- }, [userSettings]);
-
- // destructure props
- console.log(ADCPPSocket)
-
// sliding panel init
const contentForSlidingPanel = {
CVMatches: {
@@ -147,7 +125,7 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => {
rawFileDetails,
inferredMetadata,
sourcedMetadata: { comicvine, locg, comicInfo },
- },
+ }, userSettings,
} = data;
// check for the availability of CV metadata
@@ -207,7 +185,13 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => {
icon: ,
name: "Acquisition",
content: (
-