import React from 'react';
import { UserPicture } from '@growi/ui';
import { InAppNotification as IInAppNotification } from '../../interfaces/in-app-notification';
import { PageUpdateNotification, PageCommentNotification } from './NotificationContent';
interface Props {
notification: IInAppNotification
onClick: any
}
export const InAppNotification = (props: Props): JSX.Element => {
const { notification } = props;
// TODO get actionUsers with mongoose virtual method by #79077
const getActionUsers = () => {
const latestActionUsers = notification.actionUsers.slice(0, 3);
const latestUsers = latestActionUsers.map((user) => {
return `@${user.name}`;
});
let actionedUsers = '';
const latestUsersCount = latestUsers.length;
if (latestUsersCount === 1) {
actionedUsers = latestUsers[0];
}
else if (notification.actionUsers.length >= 4) {
actionedUsers = `${latestUsers.slice(0, 2).join(', ')} and ${notification.actionUsers.length - 2} others`;
}
else {
actionedUsers = latestUsers.join(', ');
}
return actionedUsers;
};
const renderUserPicture = (): JSX.Element => {
const actionUsers = notification.actionUsers;
if (actionUsers.length < 1) {
return <>>;
}
if (actionUsers.length === 1) {
return