diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 65534230..77a86a88 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -392,6 +392,7 @@ "mikrotik": { "cpuload": "CPU Load", "memoryused": "Memory Used", - "uptime": "Uptime" + "uptime": "Uptime", + "numberofleases": "Leases" } } diff --git a/src/widgets/mikrotik/component.jsx b/src/widgets/mikrotik/component.jsx index 0fa03ef0..ec48b5e1 100644 --- a/src/widgets/mikrotik/component.jsx +++ b/src/widgets/mikrotik/component.jsx @@ -10,29 +10,34 @@ export default function Component({ service }) { const { widget } = service; const { data: statsData, error: statsError } = useWidgetAPI(widget, "system"); + const { data: leasesData, error: leasesError } = useWidgetAPI(widget, "leases"); - if (statsError) { - return ; + if (statsError || leasesError) { + const finalError = statsError ?? leasesError; + return ; } - if (!statsData) { + if (!statsData || !leasesData) { return ( - + ); } const memoryused = 100 - (statsData['free-memory'] / statsData['total-memory'])*100 + const numberofleases = leasesData.length + return ( + ); } diff --git a/src/widgets/mikrotik/widget.js b/src/widgets/mikrotik/widget.js index b90f8e25..86b0b522 100644 --- a/src/widgets/mikrotik/widget.js +++ b/src/widgets/mikrotik/widget.js @@ -9,6 +9,9 @@ const widget = { system: { endpoint: "system/resource", }, + leases: { + endpoint: "ip/dhcp-server/lease", + } }, };