import { useEffect, useState } from 'react'
import { Card, Flex } from '@mantine/core';
function CardComponent({
url,
is_alive
}: { url: string, is_alive: boolean }) {
return (
{url}
{JSON.stringify(is_alive)}
)
}
export default function MonitorPage() {
const [servers, setServers] = useState([])
useEffect(() => {
const eventSource = new EventSource(`${import.meta.env.VITE_API_MONITOR_URL}/watch`);
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
setServers(data)
}
eventSource.onerror = (error) => {
console.error('Error with SSE connection:', error)
eventSource.close()
}
return () => {
eventSource.close()
};
}, [])
return (
{servers.length > 0 && servers.map((server: { name: string, status: boolean }) => (
))}
)
}