mirror of https://github.com/vector-im/riot-web
Switch ugly password boxes to Field or styled input
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>pull/21833/head
parent
97019fbfb5
commit
bd0e676b46
|
@ -56,3 +56,11 @@ limitations under the License.
|
||||||
.mx_InteractiveAuthEntryComponents_termsPolicy {
|
.mx_InteractiveAuthEntryComponents_termsPolicy {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mx_InteractiveAuthEntryComponents_passwordSection {
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mx_InteractiveAuthEntryComponents_passwordSection input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
|
@ -21,3 +21,10 @@ limitations under the License.
|
||||||
.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section {
|
.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section {
|
||||||
margin-top: 60px;
|
margin-top: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section input {
|
||||||
|
width: 300px;
|
||||||
|
border: 1px solid $accent-color;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
|
@ -81,16 +81,10 @@ export const PasswordAuthEntry = React.createClass({
|
||||||
|
|
||||||
getInitialState: function() {
|
getInitialState: function() {
|
||||||
return {
|
return {
|
||||||
passwordValid: false,
|
password: "",
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
focus: function() {
|
|
||||||
if (this.refs.passwordField) {
|
|
||||||
this.refs.passwordField.focus();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_onSubmit: function(e) {
|
_onSubmit: function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if (this.props.busy) return;
|
if (this.props.busy) return;
|
||||||
|
@ -98,23 +92,21 @@ export const PasswordAuthEntry = React.createClass({
|
||||||
this.props.submitAuthDict({
|
this.props.submitAuthDict({
|
||||||
type: PasswordAuthEntry.LOGIN_TYPE,
|
type: PasswordAuthEntry.LOGIN_TYPE,
|
||||||
user: this.props.matrixClient.credentials.userId,
|
user: this.props.matrixClient.credentials.userId,
|
||||||
password: this.refs.passwordField.value,
|
password: this.state.password,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
_onPasswordFieldChange: function(ev) {
|
_onPasswordFieldChange: function(ev) {
|
||||||
// enable the submit button iff the password is non-empty
|
// enable the submit button iff the password is non-empty
|
||||||
this.setState({
|
this.setState({
|
||||||
passwordValid: Boolean(this.refs.passwordField.value),
|
password: ev.target.value,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
let passwordBoxClass = null;
|
const passwordBoxClass = classnames({
|
||||||
|
"error": this.props.errorText,
|
||||||
if (this.props.errorText) {
|
});
|
||||||
passwordBoxClass = 'error';
|
|
||||||
}
|
|
||||||
|
|
||||||
let submitButtonOrSpinner;
|
let submitButtonOrSpinner;
|
||||||
if (this.props.busy) {
|
if (this.props.busy) {
|
||||||
|
@ -124,7 +116,7 @@ export const PasswordAuthEntry = React.createClass({
|
||||||
submitButtonOrSpinner = (
|
submitButtonOrSpinner = (
|
||||||
<input type="submit"
|
<input type="submit"
|
||||||
className="mx_Dialog_primary"
|
className="mx_Dialog_primary"
|
||||||
disabled={!this.state.passwordValid}
|
disabled={!this.state.password}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -138,17 +130,20 @@ export const PasswordAuthEntry = React.createClass({
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const Field = sdk.getComponent('elements.Field');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<p>{ _t("To continue, please enter your password.") }</p>
|
<p>{ _t("To continue, please enter your password.") }</p>
|
||||||
<form onSubmit={this._onSubmit}>
|
<form onSubmit={this._onSubmit} className="mx_InteractiveAuthEntryComponents_passwordSection">
|
||||||
<label htmlFor="passwordField">{ _t("Password:") }</label>
|
<Field
|
||||||
<input
|
|
||||||
name="passwordField"
|
|
||||||
ref="passwordField"
|
|
||||||
className={passwordBoxClass}
|
className={passwordBoxClass}
|
||||||
onChange={this._onPasswordFieldChange}
|
|
||||||
type="password"
|
type="password"
|
||||||
|
name="passwordField"
|
||||||
|
label={_t('Password')}
|
||||||
|
autoFocus={true}
|
||||||
|
value={this.state.password}
|
||||||
|
onChange={this._onPasswordFieldChange}
|
||||||
/>
|
/>
|
||||||
<div className="mx_button_row">
|
<div className="mx_button_row">
|
||||||
{ submitButtonOrSpinner }
|
{ submitButtonOrSpinner }
|
||||||
|
|
Loading…
Reference in New Issue