Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/updating_stuff

This commit is contained in:
Michael Telatynski
2017-06-20 14:32:19 +01:00
48 changed files with 2148 additions and 342 deletions

View File

@@ -46,8 +46,8 @@ module.exports = React.createClass({
translate: function(s) {
s = sanitizeHtml(_t(s));
// ugly fix for https://github.com/vector-im/riot-web/issues/4243
s = s.replace(/Riot\.im/, '<a href="https://riot.im target="_blank">Riot.im</a>');
s = s.replace(/\[matrix\]/, '<a href="https://matrix.org" target="_blank"><img width="79" height="34" alt="[matrix]" style="padding-left: 1px;vertical-align: middle" src="home/images/matrix.svg"/></a>');
s = s.replace(/Riot\.im/, '<a href="https://riot.im" target="_blank" rel="noopener">Riot.im</a>');
s = s.replace(/\[matrix\]/, '<a href="https://matrix.org" target="_blank" rel="noopener"><img width="79" height="34" alt="[matrix]" style="padding-left: 1px;vertical-align: middle" src="home/images/matrix.svg"/></a>');
return s;
},

View File

@@ -47,6 +47,10 @@ module.exports = React.createClass({
dis.dispatch({ action: 'start_login' });
},
onRegisterClick: function() {
dis.dispatch({ action: 'start_registration' });
},
render: function() {
var TintableSvg = sdk.getComponent('elements.TintableSvg');
@@ -71,6 +75,9 @@ module.exports = React.createClass({
<AccessibleButton className="mx_LoginBox_loginButton" element="button" onClick={this.onLoginClick}>
{ _t("Login") }
</AccessibleButton>
<AccessibleButton className="mx_LoginBox_registerButton" element="button" onClick={this.onRegisterClick}>
{ _t("Register") }
</AccessibleButton>
</div>
);
}

View File

@@ -530,7 +530,7 @@ var RoomSubList = React.createClass({
var label = this.props.collapsed ? null : this.props.label;
let content;
if (this.state.sortedList.length == 0) {
if (this.state.sortedList.length == 0 && !this.props.searchFilter) {
content = this.props.emptyContent;
} else {
content = this.makeRoomTiles();

View File

@@ -117,7 +117,7 @@ module.exports = React.createClass({
onForwardClick: function() {
dis.dispatch({
action: 'forward_event',
content: this.props.mxEvent,
event: this.props.mxEvent,
});
this.closeMenu();
},

View File

@@ -17,7 +17,42 @@ limitations under the License.
import React from 'react';
import sdk from 'matrix-react-sdk';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
import Modal from 'matrix-react-sdk/lib/Modal';
const WarmFuzzy = function(props) {
const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
let title = _t('You have successfully set a password!');
if (props.didSetEmail) {
title = _t('You have successfully set a password and an email address!');
}
const advice = _t('You can now return to your account after signing out, and sign in on other devices.');
let extraAdvice = null;
if (!props.didSetEmail) {
extraAdvice = _t('Remember, you can always set an email address in user settings if you change your mind.');
}
return <BaseDialog className="mx_SetPasswordDialog"
onFinished={props.onFinished}
title={ title }
>
<div className="mx_Dialog_content">
<p>
{ advice }
</p>
<p>
{ extraAdvice }
</p>
</div>
<div className="mx_Dialog_buttons">
<button
className="mx_Dialog_primary"
autoFocus={true}
onClick={props.onFinished}>
{ _t('Continue') }
</button>
</div>
</BaseDialog>;
};
/**
* Prompt the user to set a password
@@ -33,13 +68,19 @@ export default React.createClass({
getInitialState: function() {
return {
error: null,
success: false,
};
},
_onPasswordChanged: function() {
this.setState({
success: true,
componentWillMount: function() {
console.info('SetPasswordDialog component will mount');
},
_onPasswordChanged: function(res) {
Modal.createDialog(WarmFuzzy, {
didSetEmail: res.didSetEmail,
onFinished: () => {
this._onContinueClicked();
},
});
},
@@ -52,8 +93,8 @@ export default React.createClass({
if (err.httpStatus === 403) {
errMsg = _t('Failed to change password. Is your password correct?');
} else if (err.httpStatus) {
errMsg += _t(
' (HTTP status %(httpStatus)s)',
errMsg += ' ' + _t(
'(HTTP status %(httpStatus)s)',
{ httpStatus: err.httpStatus },
);
}
@@ -66,29 +107,6 @@ export default React.createClass({
const BaseDialog = sdk.getComponent('views.dialogs.BaseDialog');
const ChangePassword = sdk.getComponent('views.settings.ChangePassword');
if (this.state.success) {
return (
<BaseDialog className="mx_SetPasswordDialog"
onFinished={this.props.onFinished}
title={ _t('You have successfully set a password!') }
>
<div className="mx_Dialog_content">
<p>
{ _t('You can now return to your account after signing out, and sign in on other devices.') }
</p>
</div>
<div className="mx_Dialog_buttons">
<button
className="mx_Dialog_primary"
autoFocus={true}
onClick={this._onContinueClicked}>
{ _t('Continue') }
</button>
</div>
</BaseDialog>
);
}
return (
<BaseDialog className="mx_SetPasswordDialog"
onFinished={this.props.onFinished}
@@ -106,6 +124,7 @@ export default React.createClass({
buttonClassName="mx_Dialog_primary mx_SetPasswordDialog_change_password_button"
confirm={false}
autoFocusNewPasswordInput={true}
shouldAskForEmail={true}
onError={this._onPasswordChangeError}
onFinished={this._onPasswordChanged} />
<div className="error">

View File

@@ -20,6 +20,7 @@ import React from 'react';
import sdk from 'matrix-react-sdk';
import Modal from 'matrix-react-sdk/lib/Modal';
import dis from 'matrix-react-sdk/lib/dispatcher';
import { _t } from 'matrix-react-sdk/lib/languageHandler';
export default React.createClass({
onUpdateClicked: function() {
@@ -33,12 +34,11 @@ export default React.createClass({
dis.dispatch({
action: 'password_changed',
});
}
},
});
},
render: function() {
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
const toolbarClasses = "mx_MatrixToolbar mx_MatrixToolbar_clickable";
return (
<div className={toolbarClasses} onClick={this.onUpdateClicked}>
@@ -49,12 +49,12 @@ export default React.createClass({
alt="Warning"
/>
<div className="mx_MatrixToolbar_content">
To return to your account in future you need to <u>set a password</u>
{ _t("To return to your account in future you need to <u>set a password</u>") }
</div>
<button className="mx_MatrixToolbar_action">
Set Password
{ _t("Set Password") }
</button>
</div>
);
}
},
});

View File

@@ -53,7 +53,7 @@ module.exports = React.createClass({
}
return (
<h2>{ label }</h2>
<h2 className="mx_DateSeparator">{ label }</h2>
);
}
});