summaryrefslogtreecommitdiffstats
path: root/webapp/components/channel_switch_modal.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/channel_switch_modal.jsx')
-rw-r--r--webapp/components/channel_switch_modal.jsx20
1 files changed, 17 insertions, 3 deletions
diff --git a/webapp/components/channel_switch_modal.jsx b/webapp/components/channel_switch_modal.jsx
index 5cf26c482..91e545fd7 100644
--- a/webapp/components/channel_switch_modal.jsx
+++ b/webapp/components/channel_switch_modal.jsx
@@ -4,12 +4,17 @@
import SuggestionList from './suggestion/suggestion_list.jsx';
import SuggestionBox from './suggestion/suggestion_box.jsx';
import SwitchChannelProvider from './suggestion/switch_channel_provider.jsx';
+
import {FormattedMessage} from 'react-intl';
import {Modal} from 'react-bootstrap';
-import * as Utils from 'utils/utils.jsx';
+
import ChannelStore from 'stores/channel_store.jsx';
+import UserStore from 'stores/user_store.jsx';
+
import Constants from 'utils/constants.jsx';
+import * as Utils from 'utils/utils.jsx';
import * as ChannelActions from 'actions/channel_actions.jsx';
+
import React from 'react';
export default class SwitchChannelModal extends React.Component {
@@ -66,8 +71,17 @@ export default class SwitchChannelModal extends React.Component {
}
handleSubmit() {
- const channel = ChannelStore.getByName(this.state.text.trim());
- if (channel !== null && channel.name === this.state.text.trim() && channel.type !== Constants.DM_CHANNEL) {
+ const name = this.state.text.trim();
+ let channel = null;
+
+ if (name.indexOf(Utils.localizeMessage('channel_switch_modal.dm', '(Direct Message)')) > 0) {
+ const dmUsername = name.substr(0, name.indexOf(Utils.localizeMessage('channel_switch_modal.dm', '(Direct Message)')) - 1);
+ channel = ChannelStore.getByName(Utils.getDirectChannelNameByUsername(dmUsername, UserStore.getCurrentUser().username).trim());
+ } else {
+ channel = ChannelStore.getByName(this.state.text.trim());
+ }
+
+ if (channel !== null) {
ChannelActions.goToChannel(channel);
this.onHide();
} else if (this.state.text !== '') {