Render unicode emoji in polls using emoji pack (#10185)
This commit is contained in:
		
							parent
							
								
									efd0fb8088
								
							
						
					
					
						commit
						4407f07014
					
				
					 3 changed files with 14 additions and 3 deletions
				
			
		|  | @ -1,4 +1,4 @@ | ||||||
| import { normalizeAccount, normalizeStatus } from './normalizer'; | import { normalizeAccount, normalizeStatus, normalizePoll } from './normalizer'; | ||||||
| 
 | 
 | ||||||
| export const ACCOUNT_IMPORT  = 'ACCOUNT_IMPORT'; | export const ACCOUNT_IMPORT  = 'ACCOUNT_IMPORT'; | ||||||
| export const ACCOUNTS_IMPORT = 'ACCOUNTS_IMPORT'; | export const ACCOUNTS_IMPORT = 'ACCOUNTS_IMPORT'; | ||||||
|  | @ -71,7 +71,7 @@ export function importFetchedStatuses(statuses) { | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|       if (status.poll && status.poll.id) { |       if (status.poll && status.poll.id) { | ||||||
|         pushUnique(polls, status.poll); |         pushUnique(polls, normalizePoll(status.poll)); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -67,3 +67,14 @@ export function normalizeStatus(status, normalOldStatus) { | ||||||
| 
 | 
 | ||||||
|   return normalStatus; |   return normalStatus; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | export function normalizePoll(poll) { | ||||||
|  |   const normalPoll = { ...poll }; | ||||||
|  | 
 | ||||||
|  |   normalPoll.options = poll.options.map(option => ({ | ||||||
|  |     ...option, | ||||||
|  |     title_emojified: emojify(escapeTextContentForBrowser(option.title)), | ||||||
|  |   })); | ||||||
|  | 
 | ||||||
|  |   return normalPoll; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -120,7 +120,7 @@ class Poll extends ImmutablePureComponent { | ||||||
|           {!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />} |           {!showResults && <span className={classNames('poll__input', { checkbox: poll.get('multiple'), active })} />} | ||||||
|           {showResults && <span className='poll__number'>{Math.round(percent)}%</span>} |           {showResults && <span className='poll__number'>{Math.round(percent)}%</span>} | ||||||
| 
 | 
 | ||||||
|           {option.get('title')} |           <span dangerouslySetInnerHTML={{ __html: option.get('title_emojified') }} /> | ||||||
|         </label> |         </label> | ||||||
|       </li> |       </li> | ||||||
|     ); |     ); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue