import { useEffect, useState, useMemo } from 'react'; import { AppState } from '../types'; import { sendMessage, onMessage } from '@/utils/messages'; import { Button } from '@mui/material'; const RecordeReplayPage = () => { const [status, setStatus] = useState(AppState.READ); const isRecording = useMemo(() => status === AppState.RECORDING, [status]); useEffect(() => { const unlistenStarted = onMessage('popup:started', () => { console.log('[popup] Received started message'); setStatus(AppState.RECORDING); }); const unlistenStopped = onMessage('popup:stopped', () => { setStatus(AppState.READ); }); const unlistenReady = onMessage('popup:ready', () => { setStatus(AppState.READ); }); sendMessage('popup:check-status', undefined) .then((res) => { if (res?.active) { setStatus(AppState.RECORDING); } else { setStatus(AppState.READ); } }) .catch((err) => { console.error(err); }); return () => { unlistenStarted(); unlistenStopped(); unlistenReady(); }; }, []); const toggleRecording = async () => { try { if (isRecording) { await sendMessage('popup:stop', undefined); } else { await sendMessage('popup:start', undefined); } } catch (error) { console.error('Error toggling recording:', error); setStatus(AppState.READ); } }; return (
); }; export default RecordeReplayPage;