From bb0b895bad5cddbc0297d0857d10a531a6ca6755 Mon Sep 17 00:00:00 2001 From: David Lu Date: Thu, 11 Aug 2016 10:32:41 -0400 Subject: Removed /shortcuts from mobile (#3753) --- webapp/actions/channel_actions.jsx | 17 +++++++++++------ webapp/i18n/en.json | 3 +++ webapp/utils/async_client.jsx | 23 +++++++++++++---------- webapp/utils/user_agent.jsx | 10 +++++++++- 4 files changed, 36 insertions(+), 17 deletions(-) (limited to 'webapp') diff --git a/webapp/actions/channel_actions.jsx b/webapp/actions/channel_actions.jsx index e8cd5aff0..c264fcb34 100644 --- a/webapp/actions/channel_actions.jsx +++ b/webapp/actions/channel_actions.jsx @@ -7,6 +7,7 @@ import TeamStore from 'stores/team_store.jsx'; import UserStore from 'stores/user_store.jsx'; import ChannelStore from 'stores/channel_store.jsx'; import * as AsyncClient from 'utils/async_client.jsx'; +import * as UserAgent from 'utils/user_agent.jsx'; import Client from 'client/web_client.jsx'; export function goToChannel(channel) { @@ -28,12 +29,16 @@ export function executeCommand(channelId, message, suggest, success, error) { msg = msg.substring(0, msg.indexOf(' ')).toLowerCase() + msg.substring(msg.indexOf(' '), msg.length); - if (message.indexOf('/shortcuts') !== -1 && Utils.isMac()) { - msg += ' mac'; - } - - if (!Utils.isMac() && message.indexOf('/shortcuts') !== -1 && message.indexOf('mac') !== -1) { - msg = '/shortcuts'; + if (message.indexOf('/shortcuts') !== -1) { + if (UserAgent.isMobileApp()) { + const err = {message: Utils.localizeMessage('create_post.shortcutsNotSupported', 'Keyboard shortcuts are not supported on your device')}; + error(err); + return; + } else if (Utils.isMac()) { + msg += ' mac'; + } else if (message.indexOf('mac') !== -1) { + msg = '/shortcuts'; + } } Client.executeCommand(channelId, msg, suggest, success, error); diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json index 34ba4c46e..986b4d036 100644 --- a/webapp/i18n/en.json +++ b/webapp/i18n/en.json @@ -1042,6 +1042,9 @@ "create_comment.files": "Files uploading", "create_post.comment": "Comment", "create_post.post": "Post", + "create_post.shortcutsNotSupported": "Keyboard shortcuts are not supported on your device.", + "flag_post.flag": "Flag for follow up", + "flag_post.unflag": "Unflag", "create_post.tutorialTip": "

Sending Messages

Type here to write a message and press Enter to post it.

Click the Attachment button to upload an image or a file.

", "create_post.write": "Write a message...", "create_team.agreement": "By proceeding to create your account and use {siteName}, you agree to our Terms of Service and Privacy Policy. If you do not agree, you cannot use {siteName}.", diff --git a/webapp/utils/async_client.jsx b/webapp/utils/async_client.jsx index babfefb6d..185fa5b4e 100644 --- a/webapp/utils/async_client.jsx +++ b/webapp/utils/async_client.jsx @@ -10,6 +10,7 @@ import ChannelStore from 'stores/channel_store.jsx'; import PostStore from 'stores/post_store.jsx'; import UserStore from 'stores/user_store.jsx'; import * as utils from './utils.jsx'; +import * as UserAgent from './user_agent.jsx'; import ErrorStore from 'stores/error_store.jsx'; import Constants from './constants.jsx'; @@ -871,17 +872,19 @@ export function getSuggestedCommands(command, suggestionId, component) { (data) => { var matches = []; data.forEach((cmd) => { - if (('/' + cmd.trigger).indexOf(command) === 0) { - const s = '/' + cmd.trigger; - let hint = ''; - if (cmd.auto_complete_hint && cmd.auto_complete_hint.length !== 0) { - hint = cmd.auto_complete_hint; + if (cmd.trigger !== 'shortcuts' || !UserAgent.isMobileApp()) { + if (('/' + cmd.trigger).indexOf(command) === 0) { + const s = '/' + cmd.trigger; + let hint = ''; + if (cmd.auto_complete_hint && cmd.auto_complete_hint.length !== 0) { + hint = cmd.auto_complete_hint; + } + matches.push({ + suggestion: s, + hint, + description: cmd.auto_complete_desc + }); } - matches.push({ - suggestion: s, - hint, - description: cmd.auto_complete_desc - }); } }); diff --git a/webapp/utils/user_agent.jsx b/webapp/utils/user_agent.jsx index 657718627..dbabd594b 100644 --- a/webapp/utils/user_agent.jsx +++ b/webapp/utils/user_agent.jsx @@ -61,6 +61,14 @@ export function isIosWeb() { return isIosSafari() || isIosChrome(); } +export function isIos() { + return userAgent.indexOf('iPhone') !== -1; +} + +export function isAndroid() { + return userAgent.indexOf('Android') !== -1; +} + export function isAndroidChrome() { return userAgent.indexOf('Android') !== -1 && userAgent.indexOf('Chrome') !== -1 && userAgent.indexOf('Version') === -1; } @@ -70,7 +78,7 @@ export function isAndroidWeb() { } export function isMobileApp() { - return userAgent.indexOf('iPhone') !== -1 && userAgent.indexOf('Safari') === -1 && userAgent.indexOf('CriOS') === -1; + return isAndroid() || isIos(); } export function isFirefox() { -- cgit v1.2.3-1-g7c22