'use client'; import { useState, useEffect } from 'react'; type OBSStatus = { host: string; port: string; hasPassword: boolean; connected: boolean; version?: { obsVersion: string; obsWebSocketVersion: string; }; currentScene?: string; sceneCount?: number; streaming?: boolean; recording?: boolean; error?: string; }; export default function Footer() { const [obsStatus, setObsStatus] = useState(null); const [isLoading, setIsLoading] = useState(true); useEffect(() => { const fetchOBSStatus = async () => { try { const response = await fetch('/api/obsStatus'); const data = await response.json(); setObsStatus(data); } catch (error) { console.error('Failed to fetch OBS status:', error); } finally { setIsLoading(false); } }; fetchOBSStatus(); // Refresh status every 30 seconds const interval = setInterval(fetchOBSStatus, 30000); return () => clearInterval(interval); }, []); if (isLoading) { return ( ); } return ( ); }