Refactoring

This commit is contained in:
Xinos 2023-08-16 21:42:05 +07:00
parent fc2a9336dc
commit b0bc29227e
6 changed files with 18 additions and 17 deletions

View File

@ -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}

View File

@ -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",

View File

@ -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 (

View File

@ -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 (

View File

@ -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 (

View File

@ -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>
); );
} }