Fallback to previous, more approximative hashtag RE on older browsers (#14513)
Fixes #14511
This commit is contained in:
		
							parent
							
								
									1bedaf49a8
								
							
						
					
					
						commit
						ed22b53180
					
				
					 1 changed files with 24 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -5,10 +5,12 @@ import PropTypes from 'prop-types';
 | 
			
		|||
import { FormattedMessage } from 'react-intl';
 | 
			
		||||
import { me } from '../../../initial_state';
 | 
			
		||||
 | 
			
		||||
const HASHTAG_SEPARATORS = "_\\u00b7\\u200c";
 | 
			
		||||
const ALPHA = '\\p{L}\\p{M}';
 | 
			
		||||
const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}';
 | 
			
		||||
const APPROX_HASHTAG_RE = new RegExp(
 | 
			
		||||
const buildHashtagRE = () => {
 | 
			
		||||
  try {
 | 
			
		||||
    const HASHTAG_SEPARATORS = "_\\u00b7\\u200c";
 | 
			
		||||
    const ALPHA = '\\p{L}\\p{M}';
 | 
			
		||||
    const WORD = '\\p{L}\\p{M}\\p{N}\\p{Pc}';
 | 
			
		||||
    return new RegExp(
 | 
			
		||||
      '(?:^|[^\\/\\)\\w])#((' +
 | 
			
		||||
      '[' + WORD + '_]' +
 | 
			
		||||
      '[' + WORD + HASHTAG_SEPARATORS + ']*' +
 | 
			
		||||
| 
						 | 
				
			
			@ -20,7 +22,13 @@ const APPROX_HASHTAG_RE = new RegExp(
 | 
			
		|||
      '[' + ALPHA + ']' +
 | 
			
		||||
      '[' + WORD + '_]*' +
 | 
			
		||||
      '))', 'iu'
 | 
			
		||||
);
 | 
			
		||||
    );
 | 
			
		||||
  } catch {
 | 
			
		||||
    return /(?:^|[^\/\)\w])#(\w*[a-zA-Z·]\w*)/i;
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const APPROX_HASHTAG_RE = buildHashtagRE();
 | 
			
		||||
 | 
			
		||||
const mapStateToProps = state => ({
 | 
			
		||||
  needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue