// @flow strict
import * as React from 'react';
import { FormattedMessage } from 'react-intl';
import PlainButton from '../../../../components/plain-button';
import ReadableTime from '../../../../components/time/ReadableTime';
import commonMessages from '../../../common/messages';
import messages from './messages';
import AvatarGroupAvatar from './AvatarGroupAvatar';
import { TASK_NEW_APPROVED, TASK_NEW_REJECTED, TASK_NEW_COMPLETED, TASK_NEW_NOT_STARTED } from '../../../../constants';
import type { TaskAssigneeCollection } from '../../../../common/types/tasks';
import type { ISODate } from '../../../../common/types/core';
import './AssigneeList.scss';
const DEFAULT_ASSIGNEES_SHOWN = 3;
const TASKS_PAGE_SIZE = 20; // service does not return the page size to the client at the moment
type Props = {|
getAvatarUrl: GetAvatarUrlCallback,
initialAssigneeCount: number,
isOpen: boolean,
onCollapse: Function,
onExpand: Function,
users: TaskAssigneeCollection,
|};
const statusMessages = {
[TASK_NEW_APPROVED]: messages.tasksFeedStatusApproved,
[TASK_NEW_REJECTED]: messages.tasksFeedStatusRejected,
[TASK_NEW_COMPLETED]: messages.tasksFeedStatusCompleted,
[TASK_NEW_NOT_STARTED]: null,
};
const Datestamp = ({ date }: { date: ISODate | Date }) => {
return