🎯 Use case
This file lives under “hooks/”, which covers reusable UI or integration hooks. On the API surface it exposes useMailboxBridge — mainly functions, hooks, or classes. Dependencies touch React UI. It composes internal code from context (relative imports).
Generated from folder role, exports, dependency roots, and inline comments — not hand-reviewed for every path.
🧠 Inline summary
import { useCallback, useEffect, useMemo, useSyncExternalStore } from 'react' import { useMailbox } from '../context/mailbox.js' type Props = { isLoading: boolean
📤 Exports (heuristic)
useMailboxBridge
📚 External import roots
Package roots from from "…" (relative paths omitted).
react
🖥️ Source preview
import { useCallback, useEffect, useMemo, useSyncExternalStore } from 'react'
import { useMailbox } from '../context/mailbox.js'
type Props = {
isLoading: boolean
onSubmitMessage: (content: string) => boolean
}
export function useMailboxBridge({ isLoading, onSubmitMessage }: Props): void {
const mailbox = useMailbox()
const subscribe = useMemo(() => mailbox.subscribe.bind(mailbox), [mailbox])
const getSnapshot = useCallback(() => mailbox.revision, [mailbox])
const revision = useSyncExternalStore(subscribe, getSnapshot)
useEffect(() => {
if (isLoading) return
const msg = mailbox.poll()
if (msg) onSubmitMessage(msg.content)
}, [isLoading, revision, mailbox, onSubmitMessage])
}