import React from 'react'; import { injectIntl, InjectedIntlProps } from 'react-intl'; import { EditorView } from 'prosemirror-view'; import WithPluginState from '../../../ui/WithPluginState'; import { EventDispatcher } from '../../../event-dispatcher'; import { pluginKey as collabEditPluginKey, PluginState } from '../plugin'; import messages from '../../../messages'; import { CollabInviteToEditProps } from '../types'; import { Avatars } from './avatars'; import { InviteToEditButton } from './invite-to-edit'; export type AvatarsWithPluginStateProps = { editorView?: EditorView; eventDispatcher?: EventDispatcher; } & CollabInviteToEditProps; const AvatarsWithPluginState: React.StatelessComponent< AvatarsWithPluginStateProps & InjectedIntlProps > = (props) => { const title = props.intl.formatMessage(messages.inviteToEditButtonTitle); const { isInviteToEditButtonSelected: selected, inviteToEditHandler: onClick, inviteToEditComponent: Component, } = props; const render = React.useCallback( ({ data }: { data?: PluginState }) => { if (!data) { return null; } return ( ); }, [selected, onClick, Component, title], ); return ( ); }; export default injectIntl(AvatarsWithPluginState);