// @flow import { observer } from "mobx-react"; import * as React from "react"; import { useTranslation } from "react-i18next"; import styled from "styled-components"; import User from "models/User"; import Avatar from "components/Avatar"; import Badge from "components/Badge"; import Flex from "components/Flex"; import { type Props as TableProps } from "components/Table"; import Time from "components/Time"; import useCurrentUser from "hooks/useCurrentUser"; import UserMenu from "menus/UserMenu"; const Table = React.lazy(() => import(/* webpackChunkName: "table" */ "components/Table") ); type Props = {| ...$Diff, data: User[], canManage: boolean, |}; function PeopleTable({ canManage, ...rest }: Props) { const { t } = useTranslation(); const currentUser = useCurrentUser(); const columns = React.useMemo( () => [ { id: "name", Header: t("Name"), accessor: "name", Cell: observer(({ value, row }) => ( {value}{" "} {currentUser.id === row.original.id && `(${t("You")})`} )), }, canManage ? { id: "email", Header: t("Email"), accessor: "email", Cell: observer(({ value }) => value), } : undefined, { id: "lastActiveAt", Header: t("Last active"), accessor: "lastActiveAt", Cell: observer( ({ value }) => value &&