@atlaskit/mention
Version:
A React component used to display user profiles in a list for 'Mention' functionality
35 lines • 976 B
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React from 'react';
import { IntlProvider, useIntl } from 'react-intl-next';
import { getMessagesForLocale } from '../../util/i18n';
const EMPTY = {};
const useI18n = locale => {
const [messages, setMessages] = React.useState(EMPTY);
React.useEffect(() => {
let aborted = false;
setMessages(EMPTY);
getMessagesForLocale(locale).then(messages => {
if (!aborted) {
setMessages(messages);
}
}).catch(error => {
// eslint-disable-next-line no-console
console.error(error);
});
return () => {
aborted = true;
};
}, [locale]);
return messages;
};
const MessagesIntlProvider = props => {
const {
children
} = props;
const intl = useIntl();
const messages = useI18n(intl.locale);
return /*#__PURE__*/React.createElement(IntlProvider, _extends({}, intl, {
messages: messages
}), children);
};
export default MessagesIntlProvider;