[Glitch] Use plaintext value for field value tooltips in web UI
Port d185f3ddaf to glitch-soc
This doesn't change anything for glitch-style fields, but those will go
away eventually
			
			
This commit is contained in:
		
							parent
							
								
									34142ab29c
								
							
						
					
					
						commit
						f6ec8c4821
					
				
					 4 changed files with 10 additions and 8 deletions
				
			
		|  | @ -3,6 +3,7 @@ import { List as ImmutableList } from 'immutable'; | |||
| import IntlMessageFormat from 'intl-messageformat'; | ||||
| import { fetchRelationships } from './accounts'; | ||||
| import { defineMessages } from 'react-intl'; | ||||
| import { unescapeHTML } from 'flavours/glitch/util/html'; | ||||
| 
 | ||||
| export const NOTIFICATIONS_UPDATE = 'NOTIFICATIONS_UPDATE'; | ||||
| 
 | ||||
|  | @ -40,13 +41,6 @@ const fetchRelatedRelationships = (dispatch, notifications) => { | |||
|   } | ||||
| }; | ||||
| 
 | ||||
| const unescapeHTML = (html) => { | ||||
|   const wrapper = document.createElement('div'); | ||||
|   html = html.replace(/<br \/>|<br>|\n/g, ' '); | ||||
|   wrapper.innerHTML = html; | ||||
|   return wrapper.textContent; | ||||
| }; | ||||
| 
 | ||||
| export function updateNotifications(notification, intlMessages, intlLocale) { | ||||
|   return (dispatch, getState) => { | ||||
|     const showAlert = getState().getIn(['settings', 'notifications', 'alerts', notification.type], true); | ||||
|  |  | |||
|  | @ -111,7 +111,7 @@ export default class Header extends ImmutablePureComponent { | |||
|                 {fields.map((pair, i) => ( | ||||
|                   <dl key={i}> | ||||
|                     <dt dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} title={pair.get('name')} /> | ||||
|                     <dd dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} title={pair.get('value')} /> | ||||
|                     <dd dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} title={pair.get('value_plain')} /> | ||||
|                  </dl> | ||||
|                 ))} | ||||
|               </div> | ||||
|  |  | |||
|  | @ -57,6 +57,7 @@ import { STORE_HYDRATE } from 'flavours/glitch/actions/store'; | |||
| import emojify from 'flavours/glitch/util/emoji'; | ||||
| import { Map as ImmutableMap, fromJS } from 'immutable'; | ||||
| import escapeTextContentForBrowser from 'escape-html'; | ||||
| import { unescapeHTML } from 'flavours/glitch/util/html'; | ||||
| 
 | ||||
| const normalizeAccount = (state, account) => { | ||||
|   account = { ...account }; | ||||
|  | @ -74,6 +75,7 @@ const normalizeAccount = (state, account) => { | |||
|       ...pair, | ||||
|       name_emojified: emojify(escapeTextContentForBrowser(pair.name)), | ||||
|       value_emojified: emojify(pair.value), | ||||
|       value_plain: unescapeHTML(pair.value), | ||||
|     })); | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										6
									
								
								app/javascript/flavours/glitch/util/html.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								app/javascript/flavours/glitch/util/html.js
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| export const unescapeHTML = (html) => { | ||||
|   const wrapper = document.createElement('div'); | ||||
|   html = html.replace(/<br \/>|<br>|\n/g, ' '); | ||||
|   wrapper.innerHTML = html; | ||||
|   return wrapper.textContent; | ||||
| }; | ||||
		Loading…
	
		Reference in a new issue