Files
redash/client/app/pages/users/components/EditableUserProfile.jsx
Levko Kravets 6f842ef94a Refactor User Profile page and add extension points to it (#4996)
* Move components specific to UserProfile page to corresponding folder

* Split UserProfile page into components

* Rename components, refine code a bit

* Add some extension points

* Fix margin
2020-06-25 12:03:19 +03:00

38 lines
1.0 KiB
JavaScript

import React, { useState, useEffect } from "react";
import { UserProfile } from "@/components/proptypes";
import UserInfoForm from "./UserInfoForm";
import ApiKeyForm from "./ApiKeyForm";
import PasswordForm from "./PasswordForm";
import ToggleUserForm from "./ToggleUserForm";
export default function EditableUserProfile(props) {
const [user, setUser] = useState(props.user);
useEffect(() => {
setUser(props.user);
}, [props.user]);
return (
<div className="col-md-4 col-md-offset-4">
<img alt="Profile" src={user.profileImageUrl} className="profile__image" width="40" />
<h3 className="profile__h3">{user.name}</h3>
<hr />
<UserInfoForm user={user} onChange={setUser} />
{!user.isDisabled && (
<React.Fragment>
<ApiKeyForm user={user} onChange={setUser} />
<hr />
<PasswordForm user={user} />
</React.Fragment>
)}
<hr />
<ToggleUserForm user={user} onChange={setUser} />
</div>
);
}
EditableUserProfile.propTypes = {
user: UserProfile.isRequired,
};