From e3795977f79ea150a87c9439acebf022faba9ce0 Mon Sep 17 00:00:00 2001 From: headlessdev Date: Sat, 31 May 2025 12:58:19 +0200 Subject: [PATCH] Monitoring Settings enhancements --- .../cards/settings/MonitoringSettings.tsx | 134 +++++++++++------- hooks/useMonitoring.ts | 105 ++++++++------ 2 files changed, 143 insertions(+), 96 deletions(-) diff --git a/components/cards/settings/MonitoringSettings.tsx b/components/cards/settings/MonitoringSettings.tsx index 3a46021..6031ca3 100644 --- a/components/cards/settings/MonitoringSettings.tsx +++ b/components/cards/settings/MonitoringSettings.tsx @@ -15,20 +15,22 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro const [generalServerMonitoringSettings, setGeneralServerMonitoringSettings] = useState(null); const fetchGeneralMonitoringSettings = async () => { - const generalApplicationMonitoringSettings = await getGeneralApplicationMonitoringSettings(); - const generalServerMonitoringSettings = await getGeneralServerMonitoringSettings(); - if (typeof generalApplicationMonitoringSettings === 'string' || typeof generalServerMonitoringSettings === 'string') { - onError(typeof generalApplicationMonitoringSettings === 'string' ? generalApplicationMonitoringSettings : generalServerMonitoringSettings as string); + const appSettings = await getGeneralApplicationMonitoringSettings(); + const serverSettings = await getGeneralServerMonitoringSettings(); + + if (appSettings.error || serverSettings.error) { + onError(appSettings.error || serverSettings.error || 'Failed to fetch settings'); return; } + setGeneralApplicationMonitoringSettings( - generalApplicationMonitoringSettings || { + appSettings.data || { frequency: 10, checksUntilOffline: 1, - } + } ); setGeneralServerMonitoringSettings( - generalServerMonitoringSettings || { + serverSettings.data || { frequency: 10, checksUntilOffline: 1, } @@ -52,7 +54,7 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro - +
{/* Server Monitoring Section */}
@@ -66,33 +68,46 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro

Configure server monitoring frequency and thresholds

- +
-
+
- - setGeneralServerMonitoringSettings({ - ...generalServerMonitoringSettings, - frequency: parseInt(e.target.value) - })} - min="1" - /> +
+ +
+ +
+
+
+ setGeneralServerMonitoringSettings({ + ...generalServerMonitoringSettings, + frequency: parseInt(e.target.value) + })} + min="1" + /> + seconds +
+

+ Checks will be performed every {generalServerMonitoringSettings?.frequency} seconds +

+
- +
+ +
+ +
+
setGeneralServerMonitoringSettings({ ...generalServerMonitoringSettings, @@ -100,6 +115,9 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro })} min="1" /> +

+ System will mark as offline after {generalServerMonitoringSettings?.checksUntilOffline} consecutive failures +

@@ -107,7 +125,7 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro
- + {/* Application Monitoring Section */}
@@ -120,33 +138,46 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro

Configure application monitoring frequency and thresholds

- +
-
+
- - setGeneralApplicationMonitoringSettings({ - ...generalApplicationMonitoringSettings, - frequency: parseInt(e.target.value) - })} - min="1" - /> +
+ +
+ +
+
+
+ setGeneralApplicationMonitoringSettings({ + ...generalApplicationMonitoringSettings, + frequency: parseInt(e.target.value) + })} + min="1" + /> + seconds +
+

+ Checks will be performed every {generalApplicationMonitoringSettings?.frequency} seconds +

+
- +
+ +
+ +
+
setGeneralApplicationMonitoringSettings({ ...generalApplicationMonitoringSettings, @@ -154,6 +185,9 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro })} min="1" /> +

+ System will mark as offline after {generalApplicationMonitoringSettings?.checksUntilOffline} consecutive failures +

@@ -161,7 +195,7 @@ export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsPro
- + {/* Save Button */}