summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webapp/actions/channel_actions.jsx17
-rw-r--r--webapp/i18n/en.json3
-rw-r--r--webapp/utils/async_client.jsx23
-rw-r--r--webapp/utils/user_agent.jsx10
4 files changed, 36 insertions, 17 deletions
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": "<h4>Sending Messages</h4><p>Type here to write a message and press <strong>Enter</strong> to post it.</p><p>Click the <strong>Attachment</strong> button to upload an image or a file.</p>",
"create_post.write": "Write a message...",
"create_team.agreement": "By proceeding to create your account and use {siteName}, you agree to our <a href='/static/help/terms.html'>Terms of Service</a> and <a href='/static/help/privacy.html'>Privacy Policy</a>. 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() {