diff --git a/src/widgets/calibreweb/component.jsx b/src/widgets/calibreweb/component.jsx
index 450297af..f680938f 100644
--- a/src/widgets/calibreweb/component.jsx
+++ b/src/widgets/calibreweb/component.jsx
@@ -8,16 +8,13 @@ export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
- const { data: booksData, error: booksError } = useWidgetAPI(widget, "books");
- const { data: authorsData, error: authorsError } = useWidgetAPI(widget, "authors");
- const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series");
+ const { data, error } = useWidgetAPI(widget, "stats");
- if (booksError || authorsError || seriesError) {
- const finalError = booksError ?? authorsError ?? seriesError;
- return ;
+ if (error) {
+ return ;
}
- if (!booksData || !authorsData || !seriesData) {
+ if (!data) {
return (
@@ -29,9 +26,9 @@ export default function Component({ service }) {
return (
-
-
-
+
+
+
);
}
diff --git a/src/widgets/calibreweb/proxy.js b/src/widgets/calibreweb/proxy.js
index 4328e43c..366833c4 100644
--- a/src/widgets/calibreweb/proxy.js
+++ b/src/widgets/calibreweb/proxy.js
@@ -1,5 +1,3 @@
-import { xml2json } from "xml-js";
-
import { formatApiCall } from "utils/proxy/api-helpers";
import { httpProxy } from "utils/proxy/http";
import getServiceWidget from "utils/config/service-helpers";
@@ -45,13 +43,7 @@ async function apiCall(widget, endpoint) {
return { status, contentType, data: null };
}
- try {
- const dataDecoded = xml2json(data.toString(), { compact: true });
- return {status, data: JSON.parse(dataDecoded), contentType};
- } catch (e) {
- logger.error("Error decoding CalibreWeb API data. Data: %s", data.toString());
- return {status, data: null, contentType};
- }
+ return {status, data: JSON.parse(data), contentType};
}
export default async function calibreWebProxyHandler(req, res) {
diff --git a/src/widgets/calibreweb/widget.js b/src/widgets/calibreweb/widget.js
index ea898dd1..a2730056 100644
--- a/src/widgets/calibreweb/widget.js
+++ b/src/widgets/calibreweb/widget.js
@@ -5,14 +5,8 @@ const widget = {
proxyHandler: calibreWebProxyHandler,
mappings: {
- books: {
- endpoint: "opds/books/letter/00",
- },
- authors: {
- endpoint: "opds/author/letter/00",
- },
- series: {
- endpoint: "opds/series/letter/00",
+ stats: {
+ endpoint: "opds/stats",
},
},
};