Render unicode emoji in polls using emoji pack (#10185)
This commit is contained in:
		| @@ -1,4 +1,4 @@ | ||||
| import { normalizeAccount, normalizeStatus } from './normalizer'; | ||||
| import { normalizeAccount, normalizeStatus, normalizePoll } from './normalizer'; | ||||
|  | ||||
| export const ACCOUNT_IMPORT  = 'ACCOUNT_IMPORT'; | ||||
| export const ACCOUNTS_IMPORT = 'ACCOUNTS_IMPORT'; | ||||
| @@ -71,7 +71,7 @@ export function importFetchedStatuses(statuses) { | ||||
|       } | ||||
|  | ||||
|       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; | ||||
| } | ||||
|  | ||||
| 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='poll__number'>{Math.round(percent)}%</span>} | ||||
|  | ||||
|           {option.get('title')} | ||||
|           <span dangerouslySetInnerHTML={{ __html: option.get('title_emojified') }} /> | ||||
|         </label> | ||||
|       </li> | ||||
|     ); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user