Add account notes to hover cards (#31300)
This commit is contained in:
		
							parent
							
								
									c01a6a6eeb
								
							
						
					
					
						commit
						97b9e8befd
					
				| @ -1,5 +1,7 @@ | |||||||
| import { useEffect, forwardRef } from 'react'; | import { useEffect, forwardRef } from 'react'; | ||||||
| 
 | 
 | ||||||
|  | import { FormattedMessage } from 'react-intl'; | ||||||
|  | 
 | ||||||
| import classNames from 'classnames'; | import classNames from 'classnames'; | ||||||
| import { Link } from 'react-router-dom'; | import { Link } from 'react-router-dom'; | ||||||
| 
 | 
 | ||||||
| @ -25,6 +27,11 @@ export const HoverCardAccount = forwardRef< | |||||||
|     accountId ? state.accounts.get(accountId) : undefined, |     accountId ? state.accounts.get(accountId) : undefined, | ||||||
|   ); |   ); | ||||||
| 
 | 
 | ||||||
|  |   const note = useAppSelector( | ||||||
|  |     (state) => | ||||||
|  |       state.relationships.getIn([accountId, 'note']) as string | undefined, | ||||||
|  |   ); | ||||||
|  | 
 | ||||||
|   useEffect(() => { |   useEffect(() => { | ||||||
|     if (accountId && !account) { |     if (accountId && !account) { | ||||||
|       dispatch(fetchAccount(accountId)); |       dispatch(fetchAccount(accountId)); | ||||||
| @ -53,6 +60,17 @@ export const HoverCardAccount = forwardRef< | |||||||
|               className='hover-card__bio' |               className='hover-card__bio' | ||||||
|             /> |             /> | ||||||
|             <AccountFields fields={account.fields} limit={2} /> |             <AccountFields fields={account.fields} limit={2} /> | ||||||
|  |             {note && note.length > 0 && ( | ||||||
|  |               <dl className='hover-card__note'> | ||||||
|  |                 <dt className='hover-card__note-label'> | ||||||
|  |                   <FormattedMessage | ||||||
|  |                     id='account.account_note_header' | ||||||
|  |                     defaultMessage='Personal note' | ||||||
|  |                   /> | ||||||
|  |                 </dt> | ||||||
|  |                 <dd>{note}</dd> | ||||||
|  |               </dl> | ||||||
|  |             )} | ||||||
|           </div> |           </div> | ||||||
| 
 | 
 | ||||||
|           <div className='hover-card__number'> |           <div className='hover-card__number'> | ||||||
|  | |||||||
| @ -151,7 +151,7 @@ class AccountNote extends ImmutablePureComponent { | |||||||
|     return ( |     return ( | ||||||
|       <div className='account__header__account-note'> |       <div className='account__header__account-note'> | ||||||
|         <label htmlFor={`account-note-${account.get('id')}`}> |         <label htmlFor={`account-note-${account.get('id')}`}> | ||||||
|           <FormattedMessage id='account.account_note_header' defaultMessage='Note' /> <InlineAlert show={saved} /> |           <FormattedMessage id='account.account_note_header' defaultMessage='Personal note' /> <InlineAlert show={saved} /> | ||||||
|         </label> |         </label> | ||||||
| 
 | 
 | ||||||
|         <Textarea |         <Textarea | ||||||
|  | |||||||
| @ -11,7 +11,7 @@ | |||||||
|   "about.not_available": "This information has not been made available on this server.", |   "about.not_available": "This information has not been made available on this server.", | ||||||
|   "about.powered_by": "Decentralized social media powered by {mastodon}", |   "about.powered_by": "Decentralized social media powered by {mastodon}", | ||||||
|   "about.rules": "Server rules", |   "about.rules": "Server rules", | ||||||
|   "account.account_note_header": "Note", |   "account.account_note_header": "Personal note", | ||||||
|   "account.add_or_remove_from_list": "Add or Remove from lists", |   "account.add_or_remove_from_list": "Add or Remove from lists", | ||||||
|   "account.badges.bot": "Automated", |   "account.badges.bot": "Automated", | ||||||
|   "account.badges.group": "Group", |   "account.badges.group": "Group", | ||||||
|  | |||||||
| @ -10628,6 +10628,25 @@ noscript { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   &__note { | ||||||
|  |     &-label { | ||||||
|  |       color: $dark-text-color; | ||||||
|  |       font-size: 12px; | ||||||
|  |       font-weight: 500; | ||||||
|  |       text-transform: uppercase; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     dd { | ||||||
|  |       white-space: pre-line; | ||||||
|  |       color: $secondary-text-color; | ||||||
|  |       overflow: hidden; | ||||||
|  |       line-clamp: 3; // Not yet supported in browers | ||||||
|  |       display: -webkit-box; // The next 3 properties are needed | ||||||
|  |       -webkit-line-clamp: 3; | ||||||
|  |       -webkit-box-orient: vertical; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   .display-name { |   .display-name { | ||||||
|     font-size: 15px; |     font-size: 15px; | ||||||
|     line-height: 22px; |     line-height: 22px; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user