UNPKG

@lobehub/chat-plugin-sdk

Version:

Lobe Chat Plugin SDK, help you to build an amazing chat plugin for Lobe Chat

33 lines 1.11 kB
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import { useEffect, useState } from 'react'; import { PluginChannel } from "../const"; import { onReceiveData } from "../utils"; export var useWatchPluginMessage = function useWatchPluginMessage() { var _useState = useState({ data: undefined, loading: true }), _useState2 = _slicedToArray(_useState, 2), result = _useState2[0], setData = _useState2[1]; var receiverData = function receiverData(e) { onReceiveData(e, function (data) { setData({ data: data.content, loading: false }); }); }; useEffect(function () { var _window, _top; (_window = window) === null || _window === void 0 || _window.addEventListener('message', receiverData); (_top = top) === null || _top === void 0 || _top.postMessage({ type: PluginChannel.pluginReadyForRender }, '*'); return function () { var _window2; (_window2 = window) === null || _window2 === void 0 || _window2.removeEventListener('message', receiverData); }; }, []); return result; };