Refactoring
This commit is contained in:
parent
fc2a9336dc
commit
b0bc29227e
@ -1,14 +1,16 @@
|
|||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
import { FaCheck } from "react-icons/fa";
|
import { FaDownload } from "react-icons/fa";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
import Resource from "../widget/resource";
|
import Resource from "../widget/resource";
|
||||||
import Error from "../widget/error";
|
import Error from "../widget/error";
|
||||||
|
|
||||||
|
const params = new URLSearchParams({ method: "apt.enumerateUpgraded" }).toString();
|
||||||
|
const useApi = () => useSWR(`/api/widgets/openmediavault?${params}`);
|
||||||
|
|
||||||
export default function Uptime({ expanded }) {
|
export default function Uptime({ expanded }) {
|
||||||
const { t, i18n } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const params = { lang: i18n.language, method: "apt.enumerateUpgraded" };
|
const { data, error } = useApi();
|
||||||
const { data, error } = useSWR(`/api/widgets/openmediavault?${new URLSearchParams(params).toString()}`);
|
|
||||||
|
|
||||||
if (error || data?.error) {
|
if (error || data?.error) {
|
||||||
return <Error />;
|
return <Error />;
|
||||||
@ -20,7 +22,7 @@ export default function Uptime({ expanded }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Resource
|
<Resource
|
||||||
icon={FaCheck}
|
icon={FaDownload}
|
||||||
value={t("openmediavault.updatesAvailable")}
|
value={t("openmediavault.updatesAvailable")}
|
||||||
expandedValue={t("openmediavault.packageCount", { value: data.response.length })}
|
expandedValue={t("openmediavault.packageCount", { value: data.response.length })}
|
||||||
expanded={expanded}
|
expanded={expanded}
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import { getPrivateWidgetOptions } from "utils/config/widget-helpers";
|
|||||||
|
|
||||||
export default async function handler(req, res) {
|
export default async function handler(req, res) {
|
||||||
const { index, method } = req.query;
|
const { index, method } = req.query;
|
||||||
|
|
||||||
const [{ options }] = await getPrivateWidgetOptions("openmediavault", index);
|
const [{ options }] = await getPrivateWidgetOptions("openmediavault", index);
|
||||||
const widget = {
|
const widget = {
|
||||||
type: "openmediavault",
|
type: "openmediavault",
|
||||||
|
|||||||
@ -20,13 +20,13 @@ const items = [
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { data, error } = useWidgetAPI(service.widget);
|
const { data, error } = useWidgetAPI(service.widget);
|
||||||
|
|
||||||
if (error) {
|
if (error || data?.error) {
|
||||||
return <Container service={service} error={error} />;
|
return <Container service={service} error={error || data?.error} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
const itemsWithData = items.map((item) => ({
|
const itemsWithData = items.map((item) => ({
|
||||||
...item,
|
...item,
|
||||||
number: data?.response?.data ? item.getNumber(data?.response?.data) : null,
|
number: data?.response?.data ? item.getNumber(data.response.data) : null,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -25,13 +25,13 @@ const items = [
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { data, error } = useWidgetAPI(service.widget);
|
const { data, error } = useWidgetAPI(service.widget);
|
||||||
|
|
||||||
if (error) {
|
if (error || data?.error) {
|
||||||
return <Container service={service} error={error} />;
|
return <Container service={service} error={error || data?.error} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
const itemsWithData = items.map((item) => ({
|
const itemsWithData = items.map((item) => ({
|
||||||
...item,
|
...item,
|
||||||
number: data?.response?.data ? item.getNumber(data?.response?.data) : null,
|
number: data?.response?.data ? item.getNumber(data.response.data) : null,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -25,13 +25,13 @@ const items = [
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { data, error } = useWidgetAPI(service.widget);
|
const { data, error } = useWidgetAPI(service.widget);
|
||||||
|
|
||||||
if (error) {
|
if (error || data?.error) {
|
||||||
return <Container service={service} error={error} />;
|
return <Container service={service} error={error || data?.error} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
const itemsWithData = items.map((item) => ({
|
const itemsWithData = items.map((item) => ({
|
||||||
...item,
|
...item,
|
||||||
number: data?.response?.output ? item.getNumber(JSON.parse(data?.response?.output || "{}")?.data) : null,
|
number: data?.response?.output ? item.getNumber(JSON.parse(data.response.output).data) : null,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -38,10 +38,10 @@ export default function Component({ service }) {
|
|||||||
}
|
}
|
||||||
}, [data]);
|
}, [data]);
|
||||||
|
|
||||||
if (error) {
|
if (error || data?.error) {
|
||||||
return (
|
return (
|
||||||
<Container>
|
<Container>
|
||||||
<Error error={error} />
|
<Error error={error || data?.error} />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user