diff --git a/web/settings/account-settings.react.js b/web/settings/account-settings.react.js index 1ce056b69..d4beb883a 100644 --- a/web/settings/account-settings.react.js +++ b/web/settings/account-settings.react.js @@ -1,100 +1,109 @@ // @flow import * as React from 'react'; import { logOut, logOutActionTypes } from 'lib/actions/user-actions'; import { useModalContext } from 'lib/components/modal-provider.react'; import { preRequestUserStateSelector } from 'lib/selectors/account-selectors'; +import { accountHasPassword } from 'lib/shared/account-utils.js'; import { useDispatchActionPromise, useServerCall, } from 'lib/utils/action-utils'; import Button from '../components/button.react'; import { useSelector } from '../redux/redux-utils'; import SWMansionIcon from '../SWMansionIcon.react'; import css from './account-settings.css'; import PasswordChangeModal from './password-change-modal'; import BlockListModal from './relationship/block-list-modal.react'; import FriendListModal from './relationship/friend-list-modal.react'; function AccountSettings(): React.Node { const sendLogoutRequest = useServerCall(logOut); const preRequestUserState = useSelector(preRequestUserStateSelector); const dispatchActionPromise = useDispatchActionPromise(); const logOutUser = React.useCallback( () => dispatchActionPromise( logOutActionTypes, sendLogoutRequest(preRequestUserState), ), [dispatchActionPromise, preRequestUserState, sendLogoutRequest], ); const { pushModal, popModal } = useModalContext(); const showPasswordChangeModal = React.useCallback( () => pushModal(), [pushModal], ); const openFriendList = React.useCallback( () => pushModal(), [popModal, pushModal], ); const openBlockList = React.useCallback( () => pushModal(), [popModal, pushModal], ); + const isAccountWithPassword = useSelector(state => + accountHasPassword(state.currentUserInfo), + ); + const currentUserInfo = useSelector(state => state.currentUserInfo); if (!currentUserInfo || currentUserInfo.anonymous) { return null; } const { username } = currentUserInfo; + let changePasswordSection; + if (isAccountWithPassword) { + changePasswordSection = ( +
  • + Password + + ****** + + + + +
  • + ); + } + return (

    My Account

    • {'Logged in as '} {username}

    • -
    • - Password - - ****** - - - - -
    • + {changePasswordSection}
    • Friend List
    • Block List
    ); } export default AccountSettings;