added swizzin and glances service widgets
swizzin is a seedbox and made a service widget version for glances
This commit is contained in:
parent
40bd4d5dfe
commit
71b1faef12
50
src/widgets/glances/component.jsx
Normal file
50
src/widgets/glances/component.jsx
Normal file
@ -0,0 +1,50 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import Container from "components/services/widget/container";
|
||||
import Block from "components/services/widget/block";
|
||||
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||
|
||||
function convertToFahrenheit(t) {
|
||||
return t * 9/5 + 32;
|
||||
}
|
||||
|
||||
export default function GlancesStats({ service }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { widget } = service;
|
||||
|
||||
const { data: memData, error: memError } = useWidgetAPI(widget, "mem");
|
||||
const { data: tempData, error: tempError } = useWidgetAPI(widget, "temp");
|
||||
|
||||
if (memError || tempError) {
|
||||
return <Container error={memError || tempError} />;
|
||||
}
|
||||
|
||||
if (!memData || !tempData) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="Memory Usage" value="N/A" />
|
||||
<Block label="Temperature" value="N/A" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
const unit = "celsius";
|
||||
const memPercent = Math.round((memData.used / memData.total) * 100);
|
||||
const tempValue = tempData[0].value;
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="Memory" value={`${memPercent}%`} />
|
||||
<Block
|
||||
label="Temp"
|
||||
value={`${t("common.number", {
|
||||
value: unit === "celsius" ? tempValue : convertToFahrenheit(tempValue),
|
||||
style: "unit",
|
||||
unit,
|
||||
maximumFractionDigits: 1,
|
||||
})}`}
|
||||
/>
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
24
src/widgets/glances/widget.js
Normal file
24
src/widgets/glances/widget.js
Normal file
@ -0,0 +1,24 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/api/3/{endpoint}",
|
||||
proxyHandler: genericProxyHandler,
|
||||
|
||||
mappings: {
|
||||
mem: {
|
||||
endpoint: "mem",
|
||||
},
|
||||
temp: {
|
||||
endpoint: "sensors",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
36
src/widgets/swizzin/component.jsx
Normal file
36
src/widgets/swizzin/component.jsx
Normal file
@ -0,0 +1,36 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import Container from "components/services/widget/container";
|
||||
import Block from "components/services/widget/block";
|
||||
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||
|
||||
export default function SwizzinStats({ service }) {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { widget } = service;
|
||||
|
||||
const { data: ramData, error: ramError } = useWidgetAPI(widget, "ram");
|
||||
const { data: diskData, error: diskError } = useWidgetAPI(widget, "disk");
|
||||
|
||||
if (ramError || diskError) {
|
||||
return <Container error={ramError || diskError} />;
|
||||
}
|
||||
|
||||
if (!ramData || !diskData) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="RAM Free" />
|
||||
<Block label="Disk Free" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="RAM Free" value={ramData.ramfree} />
|
||||
<Block label="Disk Free" value={diskData["/mnt/media"].diskfree} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
24
src/widgets/swizzin/widget.js
Normal file
24
src/widgets/swizzin/widget.js
Normal file
@ -0,0 +1,24 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/stats/{endpoint}",
|
||||
proxyHandler: genericProxyHandler,
|
||||
|
||||
mappings: {
|
||||
ram: {
|
||||
endpoint: "ram",
|
||||
},
|
||||
disk: {
|
||||
endpoint: "disk",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user