lint & pre-commit
This commit is contained in:
parent
7f8a96a217
commit
753992d390
@ -1,62 +1,77 @@
|
|||||||
import useSWR from "swr";
|
import useSWR from "swr";
|
||||||
import { FaNetworkWired, FaAngleUp, FaAngleDown } from "react-icons/fa";
|
import { FaNetworkWired, FaAngleUp, FaAngleDown } 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";
|
||||||
|
|
||||||
export default function Network({ options, refresh = 1500 }) {
|
export default function Network({ options, refresh = 1500 }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
const { data, error } = useSWR(`/api/widgets/resources?type=network${(options.network || ( options.network !== 'default' && options.network === `false`)) ? `&interfaceName=${options.network}` : '' }`, {
|
const { data, error } = useSWR(
|
||||||
refreshInterval: refresh,
|
`/api/widgets/resources?type=network${
|
||||||
});
|
options.network || (options.network !== "default" && options.network === `false`)
|
||||||
|
? `&interfaceName=${options.network}`
|
||||||
if (error || data?.error) {
|
: ""
|
||||||
return <Error />;
|
}`,
|
||||||
}
|
{
|
||||||
|
refreshInterval: refresh,
|
||||||
if (!data) {
|
},
|
||||||
return (
|
);
|
||||||
<Resource
|
|
||||||
icon={FaNetworkWired}
|
if (error || data?.error) {
|
||||||
value="-"
|
return <Error />;
|
||||||
label={<FaAngleUp/>}
|
}
|
||||||
expandedValue="-"
|
|
||||||
expandedLabel={<FaAngleDown/>}
|
if (!data) {
|
||||||
percentage="0"
|
return (
|
||||||
expanded="true"
|
<Resource
|
||||||
/>
|
icon={FaNetworkWired}
|
||||||
);
|
value="-"
|
||||||
}
|
label={<FaAngleUp />}
|
||||||
|
expandedValue="-"
|
||||||
return (
|
expandedLabel={<FaAngleDown />}
|
||||||
<>
|
percentage="0"
|
||||||
/* Active Usage */
|
expanded="true"
|
||||||
<Resource
|
/>
|
||||||
icon={FaNetworkWired}
|
);
|
||||||
value={t('common.bits', { value: data?.network?.tx_sec })}
|
}
|
||||||
label={<FaAngleUp/>}
|
|
||||||
expandedValue={t('common.bits', { value: data?.network?.rx_sec })}
|
return (
|
||||||
expandedLabel={<FaAngleDown/>}
|
<>
|
||||||
percentage="0"
|
<Resource
|
||||||
expanded="true"
|
icon={FaNetworkWired}
|
||||||
children={<div className="pt-1 text-theme-800 dark:text-theme-200 text-xs text-center">{t('pyload.speed')}</div>}
|
value={t("common.bits", { value: data?.network?.tx_sec })}
|
||||||
iconChildren={<span class="bg-theme-100 text-theme-800 text-xs font-medium px-1 py-1 mt-1 rounded dark:bg-theme-700 dark:text-theme-300 text-center">{data.interface}</span>}
|
label={<FaAngleUp />}
|
||||||
/>
|
expandedValue={t("common.bits", { value: data?.network?.rx_sec })}
|
||||||
|
expandedLabel={<FaAngleDown />}
|
||||||
/* Total Usage */
|
percentage="0"
|
||||||
<Resource
|
expanded="true"
|
||||||
icon={FaNetworkWired}
|
iconChildren={
|
||||||
value={t('common.bbytes', { value: data?.network?.tx_bytes })}
|
<span class="bg-theme-100 text-theme-800 text-xs font-medium px-1 py-1 mt-1 rounded dark:bg-theme-700 dark:text-theme-300 text-center">
|
||||||
label={<FaAngleUp/>}
|
{data.interface}
|
||||||
expandedValue={t('common.bbytes', { value: data?.network?.rx_bytes })}
|
</span>
|
||||||
expandedLabel={<FaAngleDown/>}
|
}
|
||||||
percentage="0"
|
>
|
||||||
expanded="true"
|
<div className="pt-1 text-theme-800 dark:text-theme-200 text-xs text-center">{t("pyload.speed")}</div>
|
||||||
children={<div className="pt-1 text-theme-800 dark:text-theme-200 text-xs text-center">{t('pyload.total')}</div>}
|
</Resource>
|
||||||
iconChildren={<span class="bg-theme-100 text-theme-800 text-xs font-medium px-1 py-1 mt-1 rounded dark:bg-theme-700 dark:text-theme-300 text-center">{data.interface}</span>}
|
|
||||||
/>
|
<Resource
|
||||||
</>
|
icon={FaNetworkWired}
|
||||||
);
|
value={t("common.bbytes", { value: data?.network?.tx_bytes })}
|
||||||
}
|
label={<FaAngleUp />}
|
||||||
|
expandedValue={t("common.bbytes", { value: data?.network?.rx_bytes })}
|
||||||
|
expandedLabel={<FaAngleDown />}
|
||||||
|
percentage="0"
|
||||||
|
expanded="true"
|
||||||
|
iconChildren={
|
||||||
|
<span class="bg-theme-100 text-theme-800 text-xs font-medium px-1 py-1 mt-1 rounded dark:bg-theme-700 dark:text-theme-300 text-center">
|
||||||
|
{data.interface}
|
||||||
|
</span>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<div className="pt-1 text-theme-800 dark:text-theme-200 text-xs text-center">{t("pyload.total")}</div>
|
||||||
|
</Resource>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@ -58,20 +58,20 @@ export default async function handler(req, res) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type === "network"){
|
if (type === "network") {
|
||||||
let networkData = await si.networkStats();
|
let networkData = await si.networkStats();
|
||||||
if(interfaceName !== "default" && interfaceName !== undefined && interfaceName !== "false"){
|
if (interfaceName !== "default" && interfaceName !== undefined && interfaceName !== "false") {
|
||||||
networkData = networkData.filter((network) => network.iface === interfaceName)['0'];
|
networkData = networkData.filter((network) => network.iface === interfaceName)["0"];
|
||||||
if(!networkData){
|
if (!networkData) {
|
||||||
return res.status(404).json({
|
return res.status(404).json({
|
||||||
error: "Interface not found",
|
error: "Interface not found",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
const interfaceDefault = await si.networkInterfaceDefault();
|
const interfaceDefault = await si.networkInterfaceDefault();
|
||||||
interfaceName = interfaceDefault
|
interfaceName = interfaceDefault;
|
||||||
networkData = networkData.filter((network) => network.iface === interfaceDefault)['0'];
|
networkData = networkData.filter((network) => network.iface === interfaceDefault)["0"];
|
||||||
if(!networkData){
|
if (!networkData) {
|
||||||
return res.status(404).json({
|
return res.status(404).json({
|
||||||
error: "Interface not found! Please specify a valid interface name.",
|
error: "Interface not found! Please specify a valid interface name.",
|
||||||
});
|
});
|
||||||
@ -79,7 +79,7 @@ export default async function handler(req, res) {
|
|||||||
}
|
}
|
||||||
return res.status(200).json({
|
return res.status(200).json({
|
||||||
network: networkData,
|
network: networkData,
|
||||||
interface: interfaceName
|
interface: interfaceName,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user