@@ -18,16 +18,18 @@ const ChatAutoComplete = (props) => {
1818
1919 const members = channel ?. state ?. members ;
2020 const watchers = channel ?. state ?. watchers ;
21- const { emojiData, EmojiIndex } = emojiConfig ;
21+ const { emojiData, EmojiIndex } = emojiConfig || { } ;
2222
23- const emojiIndex = useMemo ( ( ) => new EmojiIndex ( emojiData ) , [
24- emojiData ,
25- EmojiIndex ,
26- ] ) ;
23+ const emojiIndex = useMemo ( ( ) => {
24+ if ( EmojiIndex ) {
25+ return new EmojiIndex ( emojiData ) ;
26+ }
27+ return null ;
28+ } , [ emojiData , EmojiIndex ] ) ;
2729
2830 /** @param {string } word */
2931 const emojiReplace = ( word ) => {
30- const found = emojiIndex . search ( word ) || [ ] ;
32+ const found = emojiIndex ? .search ( word ) || [ ] ;
3133 const emoji = found . slice ( 0 , 10 ) . find (
3234 /** @type {{ ({ emoticons } : import('emoji-mart').EmojiData): boolean } } */
3335 ( { emoticons } ) => ! ! emoticons ?. includes ( word ) ,
@@ -91,7 +93,7 @@ const ChatAutoComplete = (props) => {
9193 if ( q . length === 0 || q . charAt ( 0 ) . match ( / [ ^ a - z A - Z 0 - 9 + - ] / ) ) {
9294 return [ ] ;
9395 }
94- const emojis = emojiIndex . search ( q ) || [ ] ;
96+ const emojis = emojiIndex ? .search ( q ) || [ ] ;
9597 const result = emojis . slice ( 0 , 10 ) ;
9698
9799 if ( onReady ) onReady ( result , q ) ;
0 commit comments