diff --git a/app/scenes/CollectionPermissions/components/MemberListItem.tsx b/app/scenes/CollectionPermissions/components/MemberListItem.tsx index 50d2add63..306448712 100644 --- a/app/scenes/CollectionPermissions/components/MemberListItem.tsx +++ b/app/scenes/CollectionPermissions/components/MemberListItem.tsx @@ -1,3 +1,4 @@ +import { observer } from "mobx-react"; import * as React from "react"; import { Trans, useTranslation } from "react-i18next"; import styled from "styled-components"; @@ -103,4 +104,4 @@ const Select = styled(InputSelect)` } ` as React.ComponentType; -export default MemberListItem; +export default observer(MemberListItem); diff --git a/app/scenes/CollectionPermissions/components/UserListItem.tsx b/app/scenes/CollectionPermissions/components/UserListItem.tsx index 32a346863..925fea75a 100644 --- a/app/scenes/CollectionPermissions/components/UserListItem.tsx +++ b/app/scenes/CollectionPermissions/components/UserListItem.tsx @@ -1,3 +1,4 @@ +import { observer } from "mobx-react"; import { PlusIcon } from "outline-icons"; import * as React from "react"; import { Trans, useTranslation } from "react-i18next"; @@ -45,4 +46,4 @@ const UserListItem = ({ user, onAdd, canEdit }: Props) => { ); }; -export default UserListItem; +export default observer(UserListItem); diff --git a/app/scenes/GroupMembers/components/GroupMemberListItem.tsx b/app/scenes/GroupMembers/components/GroupMemberListItem.tsx index 41245f886..f47058593 100644 --- a/app/scenes/GroupMembers/components/GroupMemberListItem.tsx +++ b/app/scenes/GroupMembers/components/GroupMemberListItem.tsx @@ -1,4 +1,6 @@ +import { observer } from "mobx-react"; import * as React from "react"; +import { Trans, useTranslation } from "react-i18next"; import User from "~/models/User"; import Avatar from "~/components/Avatar"; import Badge from "~/components/Badge"; @@ -15,20 +17,22 @@ type Props = { }; const GroupMemberListItem = ({ user, onRemove, onAdd }: Props) => { + const { t } = useTranslation(); + return ( {user.lastActiveAt ? ( - <> + Active ) : ( - "Never signed in" + t("Never signed in") )} - {user.isInvited && Invited} - {user.isAdmin && Admin} + {user.isInvited && {t("Invited")}} + {user.isAdmin && {t("Admin")}} } image={} @@ -37,7 +41,7 @@ const GroupMemberListItem = ({ user, onRemove, onAdd }: Props) => { {onRemove && } {onAdd && ( )} @@ -46,4 +50,4 @@ const GroupMemberListItem = ({ user, onRemove, onAdd }: Props) => { ); }; -export default GroupMemberListItem; +export default observer(GroupMemberListItem); diff --git a/app/scenes/GroupMembers/components/UserListItem.tsx b/app/scenes/GroupMembers/components/UserListItem.tsx index de988c900..925fea75a 100644 --- a/app/scenes/GroupMembers/components/UserListItem.tsx +++ b/app/scenes/GroupMembers/components/UserListItem.tsx @@ -1,5 +1,7 @@ +import { observer } from "mobx-react"; import { PlusIcon } from "outline-icons"; import * as React from "react"; +import { Trans, useTranslation } from "react-i18next"; import User from "~/models/User"; import Avatar from "~/components/Avatar"; import Badge from "~/components/Badge"; @@ -14,6 +16,8 @@ type Props = { }; const UserListItem = ({ user, onAdd, canEdit }: Props) => { + const { t } = useTranslation(); + return ( { subtitle={ <> {user.lastActiveAt ? ( - <> + Active ) : ( - "Never signed in" + t("Never signed in") )} - {user.isInvited && Invited} - {user.isAdmin && Admin} + {user.isInvited && {t("Invited")}} + {user.isAdmin && {t("Admin")}} } actions={ canEdit ? ( ) : undefined } @@ -42,4 +46,4 @@ const UserListItem = ({ user, onAdd, canEdit }: Props) => { ); }; -export default UserListItem; +export default observer(UserListItem); diff --git a/app/scenes/Settings/components/UserListItem.tsx b/app/scenes/Settings/components/UserListItem.tsx index 2208d979e..a686b0f5b 100644 --- a/app/scenes/Settings/components/UserListItem.tsx +++ b/app/scenes/Settings/components/UserListItem.tsx @@ -1,5 +1,6 @@ import { observer } from "mobx-react"; import * as React from "react"; +import { Trans, useTranslation } from "react-i18next"; import styled from "styled-components"; import User from "~/models/User"; import Avatar from "~/components/Avatar"; @@ -13,34 +14,31 @@ type Props = { showMenu: boolean; }; -@observer -class UserListItem extends React.Component { - render() { - const { user, showMenu } = this.props; +const UserListItem = ({ user, showMenu }: Props) => { + const { t } = useTranslation(); - return ( - {user.name}} - image={} - subtitle={ - <> - {user.email ? `${user.email} · ` : undefined} - {user.lastActiveAt ? ( - <> - Active