Files
tolaria/src/components/useQueuedAiPrompt.ts
2026-04-12 13:14:18 +02:00

22 lines
578 B
TypeScript

import { useEffect } from 'react'
import {
AI_PROMPT_QUEUED_EVENT,
takeQueuedAiPrompt,
type QueuedAiPrompt,
} from '../utils/aiPromptBridge'
export function useQueuedAiPrompt(
onPrompt: (prompt: QueuedAiPrompt) => void,
) {
useEffect(() => {
const consumePrompt = () => {
const queuedPrompt = takeQueuedAiPrompt()
if (queuedPrompt) onPrompt(queuedPrompt)
}
consumePrompt()
window.addEventListener(AI_PROMPT_QUEUED_EVENT, consumePrompt)
return () => window.removeEventListener(AI_PROMPT_QUEUED_EVENT, consumePrompt)
}, [onPrompt])
}