use zerowidth spaces for emojis
This commit is contained in:
		
							parent
							
								
									daa04c39b6
								
							
						
					
					
						commit
						723890b6fa
					
				| 
						 | 
				
			
			@ -11,8 +11,8 @@ import classNames from 'classnames';
 | 
			
		|||
const textAtCursorMatchesToken = (str, caretPosition) => {
 | 
			
		||||
  let word;
 | 
			
		||||
 | 
			
		||||
  let left  = str.slice(0, caretPosition).search(/\S+$/);
 | 
			
		||||
  let right = str.slice(caretPosition).search(/\s/);
 | 
			
		||||
  let left  = str.slice(0, caretPosition).search(/[^\s\u200B]+$/);
 | 
			
		||||
  let right = str.slice(caretPosition).search(/[\s\u200B]/);
 | 
			
		||||
 | 
			
		||||
  if (right < 0) {
 | 
			
		||||
    word = str.slice(left);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ function removeMedia(state, mediaId) {
 | 
			
		|||
 | 
			
		||||
const insertSuggestion = (state, position, token, completion) => {
 | 
			
		||||
  return state.withMutations(map => {
 | 
			
		||||
    map.update('text', oldText => `${oldText.slice(0, position)}${completion} ${oldText.slice(position + token.length)}`);
 | 
			
		||||
    map.update('text', oldText => `${oldText.slice(0, position)}${completion}\u200B${oldText.slice(position + token.length)}`);
 | 
			
		||||
    map.set('suggestion_token', null);
 | 
			
		||||
    map.update('suggestions', ImmutableList(), list => list.clear());
 | 
			
		||||
    map.set('focusDate', new Date());
 | 
			
		||||
| 
						 | 
				
			
			@ -135,7 +135,7 @@ const insertEmoji = (state, position, emojiData) => {
 | 
			
		|||
  const emoji = emojiData.native;
 | 
			
		||||
 | 
			
		||||
  return state.withMutations(map => {
 | 
			
		||||
    map.update('text', oldText => `${oldText.slice(0, position)}${emoji} ${oldText.slice(position)}`);
 | 
			
		||||
    map.update('text', oldText => `${oldText.slice(0, position)}${emoji}\u200B${oldText.slice(position)}`);
 | 
			
		||||
    map.set('focusDate', new Date());
 | 
			
		||||
    map.set('idempotencyKey', uuid());
 | 
			
		||||
  });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue