page-assist/src/hooks/useBackgroundMessage.tsx
2024-08-03 23:00:57 +05:30

29 lines
633 B
TypeScript

import { useState, useEffect } from "react"
interface Message {
from: string
type: string
text: string
}
function useBackgroundMessage() {
const [message, setMessage] = useState<Message | null>(null)
useEffect(() => {
const messageListener = (request: Message) => {
if (request.from === "background") {
setMessage(request)
}
}
browser.runtime.connect({ name: 'pgCopilot' })
browser.runtime.onMessage.addListener(messageListener)
return () => {
browser.runtime.onMessage.removeListener(messageListener)
}
}, [])
return message
}
export default useBackgroundMessage