"use client" import { useEffect, useState } from "react" import useMonitoring from "@/hooks/useMonitoring" import { Check, CircleHelp, Copy, Server, Settings, Smartphone } from "lucide-react" interface MonitoringSettingsProps { onError: (message: string) => void onSuccess: (message: string) => void } export const MonitoringSettings = ({ onError, onSuccess }: MonitoringSettingsProps) => { const { getGeneralApplicationMonitoringSettings, getGeneralServerMonitoringSettings, editGeneralApplicationMonitoringSettings, editGeneralServerMonitoringSettings } = useMonitoring(); const [generalApplicationMonitoringSettings, setGeneralApplicationMonitoringSettings] = useState(null); const [generalServerMonitoringSettings, setGeneralServerMonitoringSettings] = useState(null); const fetchGeneralMonitoringSettings = async () => { const appSettings = await getGeneralApplicationMonitoringSettings(); const serverSettings = await getGeneralServerMonitoringSettings(); if (appSettings.error || serverSettings.error) { onError(appSettings.error || serverSettings.error || 'Failed to fetch settings'); return; } setGeneralApplicationMonitoringSettings( appSettings.data || { frequency: 10, checksUntilOffline: 1, } ); setGeneralServerMonitoringSettings( serverSettings.data || { frequency: 10, checksUntilOffline: 1, } ); } useEffect(() => { fetchGeneralMonitoringSettings(); }, []); return(

Monitoring Settings

Manage your monitoring settings

{/* Server Monitoring Section */}

Server Monitoring

Configure server monitoring frequency and thresholds

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

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

setGeneralServerMonitoringSettings({ ...generalServerMonitoringSettings, checksUntilOffline: parseInt(e.target.value) })} min="1" />

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

{/* Application Monitoring Section */}

Application Monitoring

Configure application monitoring frequency and thresholds

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

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

setGeneralApplicationMonitoringSettings({ ...generalApplicationMonitoringSettings, checksUntilOffline: parseInt(e.target.value) })} min="1" />

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

{/* Save Button */}
) }