You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | import React from 'react'; | 
					
						
							|  |  |  | import { useSelector } from 'react-redux'; | 
					
						
							|  |  |  | import { unblockConvoById } from '../../interactions/conversationInteractions'; | 
					
						
							|  |  |  | import { getConversationController } from '../../session/conversations'; | 
					
						
							|  |  |  | import { getBlockedPubkeys } from '../../state/selectors/conversations'; | 
					
						
							|  |  |  | import { SessionButtonColor } from '../basic/SessionButton'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { SessionSettingButtonItem, SessionSettingsItemWrapper } from './SessionSettingListItem'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export const BlockedUserSettings = () => { | 
					
						
							|  |  |  |   const blockedNumbers = useSelector(getBlockedPubkeys); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if (!blockedNumbers || blockedNumbers.length === 0) { | 
					
						
							|  |  |  |     return ( | 
					
						
							|  |  |  |       <SessionSettingsItemWrapper | 
					
						
							|  |  |  |         inline={true} | 
					
						
							|  |  |  |         description={window.i18n('noBlockedContacts')} | 
					
						
							|  |  |  |         title={''} | 
					
						
							|  |  |  |       > | 
					
						
							|  |  |  |         {' '} | 
					
						
							|  |  |  |       </SessionSettingsItemWrapper> | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   const blockedEntries = blockedNumbers.map(blockedEntry => { | 
					
						
							|  |  |  |     const currentModel = getConversationController().get(blockedEntry); | 
					
						
							|  |  |  |     const title = | 
					
						
							|  |  |  |       currentModel?.getNicknameOrRealUsernameOrPlaceholder() || window.i18n('anonymous'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return ( | 
					
						
							|  |  |  |       <SessionSettingButtonItem | 
					
						
							|  |  |  |         key={blockedEntry} | 
					
						
							|  |  |  |         buttonColor={SessionButtonColor.Danger} | 
					
						
							|  |  |  |         buttonText={window.i18n('unblockUser')} | 
					
						
							|  |  |  |         title={title} | 
					
						
							|  |  |  |         onClick={async () => { | 
					
						
							|  |  |  |           await unblockConvoById(blockedEntry); | 
					
						
							|  |  |  |         }} | 
					
						
							|  |  |  |       /> | 
					
						
							|  |  |  |     ); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return <>{blockedEntries}</>; | 
					
						
							|  |  |  | }; |