Move the rest of the IS/email supported logic to AddressPickerDialog
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
194cd0a460
commit
043a8d35e6
2 changed files with 12 additions and 7 deletions
|
@ -43,10 +43,7 @@ function inviteMultipleToRoom(roomId, addrs) {
|
|||
export function showStartChatInviteDialog() {
|
||||
const AddressPickerDialog = sdk.getComponent("dialogs.AddressPickerDialog");
|
||||
|
||||
const validAddressTypes = ['mx-user-id'];
|
||||
if (MatrixClientPeg.get().getIdentityServerUrl()) {
|
||||
validAddressTypes.push('email');
|
||||
}
|
||||
const validAddressTypes = ['mx-user-id', 'email'];
|
||||
|
||||
Modal.createTrackedDialog('Start a chat', '', AddressPickerDialog, {
|
||||
title: _t('Start a chat'),
|
||||
|
|
|
@ -77,6 +77,12 @@ module.exports = createReactClass({
|
|||
},
|
||||
|
||||
getInitialState: function() {
|
||||
let validAddressTypes = this.props.validAddressTypes;
|
||||
// Remove email from validAddressTypes if no IS is configured. It may be added at a later stage by the user
|
||||
if (!MatrixClientPeg.get().getIdentityServerUrl() && validAddressTypes.includes("email")) {
|
||||
validAddressTypes = validAddressTypes.splice(validAddressTypes.indexOf("email"), 1);
|
||||
}
|
||||
|
||||
return {
|
||||
// Whether to show an error message because of an invalid address
|
||||
invalidAddressError: false,
|
||||
|
@ -95,8 +101,8 @@ module.exports = createReactClass({
|
|||
// auto-completion results for the current search query.
|
||||
suggestedList: [],
|
||||
// List of address types initialised from props, but may change while the
|
||||
// dialog is open.
|
||||
validAddressTypes: this.props.validAddressTypes,
|
||||
// dialog is open and represents the supported list of address types at this time.
|
||||
validAddressTypes,
|
||||
};
|
||||
},
|
||||
|
||||
|
@ -678,7 +684,9 @@ module.exports = createReactClass({
|
|||
}
|
||||
|
||||
let identityServer;
|
||||
if (this.props.pickerType === 'user' && this.props.validAddressTypes.includes('email')) {
|
||||
// If picker cannot currently accept e-mail but should be able to
|
||||
if (this.props.pickerType === 'user' && !this.state.validAddressTypes.includes('email')
|
||||
&& this.props.validAddressTypes.includes('email')) {
|
||||
const defaultIdentityServerUrl = getDefaultIdentityServerUrl();
|
||||
if (defaultIdentityServerUrl) {
|
||||
identityServer = <div className="mx_AddressPickerDialog_identityServer">{_t(
|
||||
|
|
Loading…
Reference in a new issue