Spaces:
Paused
Paused
Download src/components/MessageHandler.tsx from no-name-here/browser: direct link, hf CLI and curl.
- Browser
- Download file 940 Bytes
-
https://huggingface.co/spaces/no-name-here/browser/resolve/main/src/components/MessageHandler.tsx
- Command line
-
hf download hf://spaces/no-name-here/browser/src/components/MessageHandler.tsx
-
curl -L -o MessageHandler.tsx https://huggingface.co/spaces/no-name-here/browser/resolve/main/src/components/MessageHandler.tsx
940 Bytes
| import { useEffect } from 'react'; | |
| interface MessageHandlerProps { | |
| onNavigate: (url: string) => void; | |
| onSummary: (summary: string) => void; | |
| onTitleChange: (title: string) => void; | |
| } | |
| const MessageHandler = ({ onNavigate, onSummary, onTitleChange }: MessageHandlerProps) => { | |
| useEffect(() => { | |
| const handleMessage = (event: MessageEvent) => { | |
| console.log('Received message:', event.data); | |
| if (event.data?.type === 'navigate' && event.data.url) { | |
| onNavigate(event.data.url); | |
| } else if (event.data?.type === 'summary') { | |
| onSummary(event.data.summary); | |
| } else if (event.data?.type === 'title-change') { | |
| onTitleChange(event.data.title); | |
| } | |
| }; | |
| window.addEventListener('message', handleMessage); | |
| return () => window.removeEventListener('message', handleMessage); | |
| }, [onNavigate, onSummary, onTitleChange]); | |
| return null; | |
| }; | |
| export default MessageHandler; | |