32 lines
985 B
TypeScript
32 lines
985 B
TypeScript
|
import { FormattedMessage } from 'react-intl';
|
||
|
|
||
|
import PersonAddIcon from '@/material-icons/400-24px/person_add-fill.svg?react';
|
||
|
import type { NotificationGroupFollow } from 'mastodon/models/notification_group';
|
||
|
|
||
|
import type { LabelRenderer } from './notification_group_with_status';
|
||
|
import { NotificationGroupWithStatus } from './notification_group_with_status';
|
||
|
|
||
|
const labelRenderer: LabelRenderer = (values) => (
|
||
|
<FormattedMessage
|
||
|
id='notification.follow'
|
||
|
defaultMessage='{name} followed you'
|
||
|
values={values}
|
||
|
/>
|
||
|
);
|
||
|
|
||
|
export const NotificationFollow: React.FC<{
|
||
|
notification: NotificationGroupFollow;
|
||
|
unread: boolean;
|
||
|
}> = ({ notification, unread }) => (
|
||
|
<NotificationGroupWithStatus
|
||
|
type='follow'
|
||
|
icon={PersonAddIcon}
|
||
|
iconId='person-add'
|
||
|
accountIds={notification.sampleAccountIds}
|
||
|
timestamp={notification.latest_page_notification_at}
|
||
|
count={notification.notifications_count}
|
||
|
labelRenderer={labelRenderer}
|
||
|
unread={unread}
|
||
|
/>
|
||
|
);
|