"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 generalApplicationMonitoringSettings = await getGeneralApplicationMonitoringSettings(); const generalServerMonitoringSettings = await getGeneralServerMonitoringSettings(); if (typeof generalApplicationMonitoringSettings === 'string' || typeof generalServerMonitoringSettings === 'string') { onError(typeof generalApplicationMonitoringSettings === 'string' ? generalApplicationMonitoringSettings : generalServerMonitoringSettings as string); return; } setGeneralApplicationMonitoringSettings( generalApplicationMonitoringSettings || { frequency: 10, checksUntilOffline: 1, } ); setGeneralServerMonitoringSettings( generalServerMonitoringSettings || { 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" />
setGeneralServerMonitoringSettings({ ...generalServerMonitoringSettings, checksUntilOffline: parseInt(e.target.value) })} min="1" />
{/* Application Monitoring Section */}

Application Monitoring

Configure application monitoring frequency and thresholds

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