'use client'; import { useState, useEffect } from 'react'; import { Table, TableBody, TableRow, TableHeader, TableCell, Chip, TableColumn } from '@heroui/react'; import { LocaleCodeType } from '@/types/locale'; import { HealthMessages } from '@/types/health'; import Config from '@/config/config'; import { logError } from '@/utils/errorHandler'; const apiServer = Config.apiServer; type Props = { messages: HealthMessages; locale: LocaleCodeType; }; async function fetchHealth() { const url = `${apiServer}/health`; try { const response = await fetch(url); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const data = await response.json(); return data; } catch (error: unknown) { logError('Error fetching health data:', error); } } export default function HealthPage({ messages, locale }: Props) { const [isFetching, setIsFetching] = useState(true); const [status, setStatus] = useState('loading...'); const apiOrigin = Config.apiServer; useEffect(() => { async function fetchDataEffect() { try { setIsFetching(true); const data = await fetchHealth(); setStatus(data.status); setIsFetching(false); } catch (error: unknown) { logError('Error in effect:', error); } } fetchDataEffect(); }, [locale]); return ( <>

{messages.health_check}

dummy dummy {messages.unittcms_version} 1.0.0-beta.28 {messages.api_server} {apiOrigin} {messages.status} {isFetching ? ( Loading... ) : ( {status} )}
); }