mirror of
https://github.com/mastodon/mastodon
synced 2024-11-27 22:38:27 +09:00
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…
Reference in New Issue
Block a user