|
|
@@ -1,20 +1,24 @@
|
|
|
import React from 'react';
|
|
|
-import PropTypes from 'prop-types';
|
|
|
|
|
|
import { UserPicture } from '@growi/ui';
|
|
|
|
|
|
-const UserInfo = (props) => {
|
|
|
+import { IUserHasId } from '~/interfaces/user';
|
|
|
+
|
|
|
+type UserInfoProps = {
|
|
|
+ pageUser: IUserHasId,
|
|
|
+}
|
|
|
+
|
|
|
+export const UserInfo = (props: UserInfoProps): JSX.Element => {
|
|
|
const { pageUser } = props;
|
|
|
|
|
|
- // do not display when the user does not exist
|
|
|
- if (pageUser == null) {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ // // do not display when the user does not exist
|
|
|
+ // if (pageUser == null) {
|
|
|
+ // return <></>;
|
|
|
+ // }
|
|
|
|
|
|
return (
|
|
|
<div className="grw-users-info d-flex align-items-center d-edit-none mb-5 pb-3 border-bottom">
|
|
|
<UserPicture user={pageUser} />
|
|
|
-
|
|
|
<div className="users-meta">
|
|
|
<h1 className="user-page-name">
|
|
|
{pageUser.name}
|
|
|
@@ -23,19 +27,16 @@ const UserInfo = (props) => {
|
|
|
<span className="user-page-username mr-4"><i className="icon-user mr-1"></i>{pageUser.username}</span>
|
|
|
<span className="user-page-email mr-2">
|
|
|
<i className="icon-envelope mr-1"></i>
|
|
|
- {pageUser.isEmailPublished ? pageUser.email : '*****'}
|
|
|
+ { pageUser.isEmailPublished
|
|
|
+ ? pageUser.email
|
|
|
+ : '*****'
|
|
|
+ }
|
|
|
</span>
|
|
|
- {pageUser.introduction && <span className="user-page-introduction">{pageUser.introduction}</span>}
|
|
|
+ { pageUser.introduction && (
|
|
|
+ <span className="user-page-introduction">{pageUser.introduction}</span>
|
|
|
+ ) }
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
);
|
|
|
};
|
|
|
-
|
|
|
-
|
|
|
-UserInfo.propTypes = {
|
|
|
- pageUser: PropTypes.object,
|
|
|
-};
|
|
|
-
|
|
|
-export default UserInfo;
|