From 1de3bd3b4340cb51b2699a14a92d653db988a988 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Wed, 3 Aug 2016 00:01:33 -0400 Subject: [PATCH] PLT-3640 Add mobile landing pages (#3674) * PLT-3640 Moved all clientside user agent snooping into a single file * PLT-3640 Added mobile landing pages on login to iOS and Android web apps * PLT-3640 Moved landing page to appear before first login * PLT-3640 Fixed detection of Chrome on Android * PLT-3640 Disabled mobile landing pages when their respective URLs are set to blank --- webapp/components/file_upload.jsx | 5 +- .../get_android_app/get_android_app.jsx | 75 ++++++++++++++ webapp/components/get_ios_app/get_ios_app.jsx | 68 +++++++++++++ webapp/components/new_channel_modal.jsx | 5 +- .../post_view/components/post_list.jsx | 3 +- webapp/components/select_team/select_team.jsx | 3 +- webapp/components/settings_sidebar.jsx | 4 +- webapp/components/sidebar_right_menu.jsx | 3 +- .../user_settings_notifications.jsx | 3 +- webapp/i18n/en.json | 9 ++ webapp/images/app-store-button.png | Bin 0 -> 11277 bytes webapp/images/iphone-6-mockup.png | Bin 0 -> 77346 bytes webapp/images/nexus-6p-mockup.png | Bin 0 -> 60764 bytes webapp/routes/route_root.jsx | 29 ++++++ webapp/sass/routes/_get-app.scss | 96 ++++++++++++++++++ webapp/sass/routes/_module.scss | 1 + webapp/stores/browser_store.jsx | 39 +++---- webapp/utils/user_agent.jsx | 86 ++++++++++++++++ webapp/utils/utils.jsx | 51 +--------- 19 files changed, 398 insertions(+), 82 deletions(-) create mode 100644 webapp/components/get_android_app/get_android_app.jsx create mode 100644 webapp/components/get_ios_app/get_ios_app.jsx create mode 100644 webapp/images/app-store-button.png create mode 100644 webapp/images/iphone-6-mockup.png create mode 100644 webapp/images/nexus-6p-mockup.png create mode 100644 webapp/sass/routes/_get-app.scss create mode 100644 webapp/utils/user_agent.jsx diff --git a/webapp/components/file_upload.jsx b/webapp/components/file_upload.jsx index 088e8bde79..39abec7e46 100644 --- a/webapp/components/file_upload.jsx +++ b/webapp/components/file_upload.jsx @@ -8,6 +8,7 @@ import Client from 'client/web_client.jsx'; import Constants from 'utils/constants.jsx'; import ChannelStore from 'stores/channel_store.jsx'; import DelayedAction from 'utils/delayed_action.jsx'; +import * as UserAgent from 'utils/user_agent.jsx'; import * as Utils from 'utils/utils.jsx'; import {intlShape, injectIntl, defineMessages} from 'react-intl'; @@ -311,13 +312,13 @@ class FileUpload extends React.Component { render() { let multiple = true; - if (Utils.isMobileApp()) { + if (UserAgent.isMobileApp()) { // iOS WebViews don't upload videos properly in multiple mode multiple = false; } let accept = ''; - if (Utils.isIosChrome()) { + if (UserAgent.isIosChrome()) { // iOS Chrome can't upload videos at all accept = 'image/*'; } diff --git a/webapp/components/get_android_app/get_android_app.jsx b/webapp/components/get_android_app/get_android_app.jsx new file mode 100644 index 0000000000..ab73141b12 --- /dev/null +++ b/webapp/components/get_android_app/get_android_app.jsx @@ -0,0 +1,75 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import React from 'react'; + +import {FormattedMessage} from 'react-intl'; +import {Link} from 'react-router'; + +import MattermostIcon from 'images/favicon/android-chrome-192x192.png'; +import Nexus6Mockup from 'images/nexus-6p-mockup.png'; + +export default class GetAndroidApp extends React.Component { + render() { + return ( +
+

+ +

+
+
+ +
+ + + + + + +
+
+ + + + + + + + + ) + }} + /> + +
+ ); + } +} \ No newline at end of file diff --git a/webapp/components/get_ios_app/get_ios_app.jsx b/webapp/components/get_ios_app/get_ios_app.jsx new file mode 100644 index 0000000000..0980b5882d --- /dev/null +++ b/webapp/components/get_ios_app/get_ios_app.jsx @@ -0,0 +1,68 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import React from 'react'; + +import {FormattedMessage} from 'react-intl'; +import {Link} from 'react-router'; + +import AppStoreButton from 'images/app-store-button.png'; +import IPhone6Mockup from 'images/iphone-6-mockup.png'; + +export default class GetIosApp extends React.Component { + render() { + return ( +
+

+ +

+
+ + + + +

+ +

+ + + + + + + + ) + }} + /> + +
+ ); + } +} \ No newline at end of file diff --git a/webapp/components/new_channel_modal.jsx b/webapp/components/new_channel_modal.jsx index 1198335cae..e174ddd327 100644 --- a/webapp/components/new_channel_modal.jsx +++ b/webapp/components/new_channel_modal.jsx @@ -4,6 +4,7 @@ import $ from 'jquery'; import ReactDOM from 'react-dom'; +import * as UserAgent from 'utils/user_agent.jsx'; import * as Utils from 'utils/utils.jsx'; import Constants from 'utils/constants.jsx'; @@ -53,9 +54,11 @@ class NewChannelModal extends React.Component { } componentDidMount() { - if (Utils.isBrowserIE()) { + // ??? + if (UserAgent.isInternetExplorer()) { $('body').addClass('browser--ie'); } + PreferenceStore.addChangeListener(this.onPreferenceChange); } diff --git a/webapp/components/post_view/components/post_list.jsx b/webapp/components/post_view/components/post_list.jsx index 9f958a5b6c..befd1a10dc 100644 --- a/webapp/components/post_view/components/post_list.jsx +++ b/webapp/components/post_view/components/post_list.jsx @@ -11,6 +11,7 @@ import * as GlobalActions from 'actions/global_actions.jsx'; import {createChannelIntroMessage} from 'utils/channel_intro_messages.jsx'; +import * as UserAgent from 'utils/user_agent.jsx'; import * as Utils from 'utils/utils.jsx'; import * as PostUtils from 'utils/post_utils.jsx'; import DelayedAction from 'utils/delayed_action.jsx'; @@ -336,7 +337,7 @@ export default class PostList extends React.Component { // Temporary fix to solve ie11 rendering issue let newSeparatorId = ''; - if (!Utils.isBrowserIE()) { + if (!UserAgent.isInternetExplorer()) { newSeparatorId = 'new_message_' + post.id; } postCtls.push( diff --git a/webapp/components/select_team/select_team.jsx b/webapp/components/select_team/select_team.jsx index f1816238ba..25a056954c 100644 --- a/webapp/components/select_team/select_team.jsx +++ b/webapp/components/select_team/select_team.jsx @@ -3,6 +3,7 @@ import UserStore from 'stores/user_store.jsx'; import TeamStore from 'stores/team_store.jsx'; +import * as UserAgent from 'utils/user_agent.jsx'; import * as Utils from 'utils/utils.jsx'; import ErrorBar from 'components/error_bar.jsx'; import LoadingScreen from 'components/loading_screen.jsx'; @@ -176,7 +177,7 @@ export default class SelectTeam extends React.Component { } let teamSignUp; - if (isSystemAdmin || (global.window.mm_config.EnableTeamCreation === 'true' && !Utils.isMobileApp())) { + if (isSystemAdmin || (global.window.mm_config.EnableTeamCreation === 'true' && !UserAgent.isMobileApp())) { teamSignUp = (
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

0HrZ`w6%3!N6s!F!cOU33L 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 literal 0 HcmV?d00001 diff --git a/webapp/images/iphone-6-mockup.png b/webapp/images/iphone-6-mockup.png new file mode 100644 index 0000000000000000000000000000000000000000..544e40ea7bcf97f25c60d0d045c46aef41dd0d5e GIT binary patch literal 77346 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 z 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 literal 0 HcmV?d00001 diff --git a/webapp/images/nexus-6p-mockup.png b/webapp/images/nexus-6p-mockup.png new file mode 100644 index 0000000000000000000000000000000000000000..63161cdf18b31247735a2e3192d06b25a1d37f73 GIT binary patch literal 60764 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 aD|~a>c{%onMaUcQ2Pvy8Q~K1v?|%UG&&}EZ literal 0 HcmV?d00001 diff --git a/webapp/routes/route_root.jsx b/webapp/routes/route_root.jsx index 6593e2bd83..88c94b54b8 100644 --- a/webapp/routes/route_root.jsx +++ b/webapp/routes/route_root.jsx @@ -9,7 +9,23 @@ import claimAccountRoute from 'routes/route_claim.jsx'; import createTeamRoute from 'routes/route_create_team.jsx'; import teamRoute from 'routes/route_team.jsx'; +import BrowserStore from 'stores/browser_store.jsx'; import ErrorStore from 'stores/error_store.jsx'; +import * as UserAgent from 'utils/user_agent.jsx'; + +function preLogin(nextState, replace, callback) { + // redirect to the mobile landing page if the user hasn't seen it before + if (window.mm_config.IosAppDownloadLink && UserAgent.isIosWeb() && !BrowserStore.hasSeenLandingPage()) { + replace('/get_ios_app'); + BrowserStore.setLandingPageSeen(true); + } else if (window.mm_config.AndroidAppDownloadLink && UserAgent.isAndroidWeb() && !BrowserStore.hasSeenLandingPage()) { + replace('/get_android_app'); + BrowserStore.setLandingPageSeen(true); + } + + callback(); +} + function preLoggedIn(nextState, replace, callback) { ErrorStore.clearLastError(); callback(); @@ -28,6 +44,7 @@ export default { [ { path: 'login', + onEnter: preLogin, getComponents: (location, callback) => { System.import('components/login/login_controller.jsx').then(RouteUtils.importComponentSuccess(callback)); } @@ -66,6 +83,18 @@ export default { ] ) }, + { + path: 'get_ios_app', + getComponents: (location, callback) => { + System.import('components/get_ios_app/get_ios_app.jsx').then(RouteUtils.importComponentSuccess(callback)); + } + }, + { + path: 'get_android_app', + getComponents: (location, callback) => { + System.import('components/get_android_app/get_android_app.jsx').then(RouteUtils.importComponentSuccess(callback)); + } + }, { path: 'error', getComponents: (location, callback) => { diff --git a/webapp/sass/routes/_get-app.scss b/webapp/sass/routes/_get-app.scss new file mode 100644 index 0000000000..88797d0535 --- /dev/null +++ b/webapp/sass/routes/_get-app.scss @@ -0,0 +1,96 @@ +.get-app { + hr { + border-top: 1px solid #ddd; + } + + .get-app__header { + color: #666; + font-size: 20px; + font-weight: bold; + text-align: center + } + + .get-app__screenshot { + border-bottom: 1px solid #ddd; + display: block; + margin: auto; + } + + .get-app__continue-with-browser { + display: block; + margin-top: 40px; + text-align: center; + } +} + +.get-android-app { + margin: 20px; + + .get-app__header { + text-align: left; + } + + .get-android-app__icon { + width: 60px; + } + + .get-android-app__app-info { + display: inline-block; + margin-left: 8px; + vertical-align: middle; + + .get-android-app__app-name { + color: #666; + display: block; + font-size: 13px; + font-weight: bold; + } + + .get-android-app__app-creator { + color: #aaa; + display: block; + font-size: 10px + } + } + + .get-app__screenshot { + width: 240px; + } + + .get-android-app__continue { + display: block; + font-size: 16px; + margin-bottom: 40px; + margin-top: 15px; + padding: 12px; + } +} + +.get-ios-app { + margin: 30px; + + .get-app__screenshot { + width: 180px; + } + + .get-ios-app__app-store-link { + display: block; + margin: auto; + margin-bottom: 30px; + width: 180px; + } + + .get-ios-app__already-have-it { + font-size: 18px; + margin-bottom: 20px; + text-align: center; + } + + .get-ios-app__open-mattermost { + display: block; + font-size: 20px; + margin: auto; + padding: 12px; + width: 220px; + } +} \ No newline at end of file diff --git a/webapp/sass/routes/_module.scss b/webapp/sass/routes/_module.scss index 11b815007f..c0a5b19bca 100644 --- a/webapp/sass/routes/_module.scss +++ b/webapp/sass/routes/_module.scss @@ -7,6 +7,7 @@ @import 'compliance'; @import 'docs'; @import 'error-page'; +@import 'get-app'; @import 'loading'; @import 'print'; @import 'settings'; diff --git a/webapp/stores/browser_store.jsx b/webapp/stores/browser_store.jsx index f19e5b9a1c..9acd8530c5 100644 --- a/webapp/stores/browser_store.jsx +++ b/webapp/stores/browser_store.jsx @@ -20,27 +20,6 @@ function getPrefix() { } class BrowserStoreClass { - constructor() { - this.getItem = this.getItem.bind(this); - this.setItem = this.setItem.bind(this); - this.removeItem = this.removeItem.bind(this); - this.setGlobalItem = this.setGlobalItem.bind(this); - this.getGlobalItem = this.getGlobalItem.bind(this); - this.removeGlobalItem = this.removeGlobalItem.bind(this); - this.actionOnItemsWithPrefix = this.actionOnItemsWithPrefix.bind(this); - this.actionOnGlobalItemsWithPrefix = this.actionOnGlobalItemsWithPrefix.bind(this); - this.isLocalStorageSupported = this.isLocalStorageSupported.bind(this); - this.getLastServerVersion = this.getLastServerVersion.bind(this); - this.setLastServerVersion = this.setLastServerVersion.bind(this); - this.clear = this.clear.bind(this); - this.clearAll = this.clearAll.bind(this); - this.checkedLocalStorageSupported = ''; - this.signalLogout = this.signalLogout.bind(this); - this.isSignallingLogout = this.isSignallingLogout.bind(this); - this.signalLogin = this.signalLogin.bind(this); - this.isSignallingLogin = this.isSignallingLogin.bind(this); - } - setItem(name, value) { this.setGlobalItem(getPrefix() + name, value); } @@ -162,9 +141,10 @@ class BrowserStoreClass { } clear() { - // don't clear the logout id so IE11 can tell which tab sent a logout request + // persist some values through logout since they're independent of which user is logged in const logoutId = sessionStorage.getItem('__logout__'); const serverVersion = this.getLastServerVersion(); + const landingPageSeen = this.hasSeenLandingPage(); sessionStorage.clear(); localStorage.clear(); @@ -176,11 +156,10 @@ class BrowserStoreClass { if (serverVersion) { this.setLastServerVersion(serverVersion); } - } - clearAll() { - sessionStorage.clear(); - localStorage.clear(); + if (landingPageSeen) { + this.setLandingPageSeen(landingPageSeen); + } } isLocalStorageSupported() { @@ -210,6 +189,14 @@ class BrowserStoreClass { return this.checkedLocalStorageSupported; } + + hasSeenLandingPage() { + return JSON.parse(sessionStorage.getItem('__landingPageSeen__')); + } + + setLandingPageSeen(landingPageSeen) { + return sessionStorage.setItem('__landingPageSeen__', JSON.stringify(landingPageSeen)); + } } var BrowserStore = new BrowserStoreClass(); diff --git a/webapp/utils/user_agent.jsx b/webapp/utils/user_agent.jsx new file mode 100644 index 0000000000..6577186270 --- /dev/null +++ b/webapp/utils/user_agent.jsx @@ -0,0 +1,86 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +/* +Example User Agents +-------------------- + +Chrome: + Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 + +Firefox: + Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 + +IE11: + Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko + +Edge: + Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586 + +Desktop App: + Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Mattermost/1.2.1 Chrome/49.0.2623.75 Electron/0.37.8 Safari/537.36 + Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586 + +Android Chrome: + Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19 + +Android App: + Mozilla/5.0 (Linux; U; Android 4.1.1; en-gb; Build/KLP) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30 + Mozilla/5.0 (Linux; Android 4.4; Nexus 5 Build/_BuildID_) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 + Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36 + +iOS Safari: + Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3 + +iOS Android: + Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3 + +iOS App: + Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 +*/ + +const userAgent = window.navigator.userAgent; + +export function isChrome() { + return userAgent.indexOf('Chrome') > -1; +} + +export function isSafari() { + return userAgent.indexOf('Safari') !== -1 && userAgent.indexOf('Chrome') === -1; +} + +export function isIosSafari() { + return userAgent.indexOf('iPhone') !== -1 && userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('CriOS') === -1; +} + +export function isIosChrome() { + return userAgent.indexOf('CriOS') !== -1; +} + +export function isIosWeb() { + return isIosSafari() || isIosChrome(); +} + +export function isAndroidChrome() { + return userAgent.indexOf('Android') !== -1 && userAgent.indexOf('Chrome') !== -1 && userAgent.indexOf('Version') === -1; +} + +export function isAndroidWeb() { + return isAndroidChrome(); +} + +export function isMobileApp() { + return userAgent.indexOf('iPhone') !== -1 && userAgent.indexOf('Safari') === -1 && userAgent.indexOf('CriOS') === -1; +} + +export function isFirefox() { + return userAgent.indexOf('Firefox') !== -1; +} + +export function isInternetExplorer() { + return userAgent.indexOf('Trident') !== -1; +} + +export function isEdge() { + return userAgent.indexOf('Edge') !== -1; +} \ No newline at end of file diff --git a/webapp/utils/utils.jsx b/webapp/utils/utils.jsx index 4b3c8518c9..187c7d7f48 100644 --- a/webapp/utils/utils.jsx +++ b/webapp/utils/utils.jsx @@ -12,6 +12,7 @@ import Constants from 'utils/constants.jsx'; var ActionTypes = Constants.ActionTypes; import * as AsyncClient from './async_client.jsx'; import Client from 'client/web_client.jsx'; +import * as UserAgent from 'utils/user_agent.jsx'; import {browserHistory} from 'react-router/es6'; import {FormattedMessage} from 'react-intl'; @@ -43,31 +44,6 @@ export function cmdOrCtrlPressed(e) { return (isMac() && e.metaKey) || (!isMac() && e.ctrlKey); } -export function isChrome() { - if (navigator.userAgent.indexOf('Chrome') > -1) { - return true; - } - return false; -} - -export function isSafari() { - if (navigator.userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) { - return true; - } - return false; -} - -export function isIosChrome() { - // https://developer.chrome.com/multidevice/user-agent - return navigator.userAgent.indexOf('CriOS') !== -1; -} - -export function isMobileApp() { - const userAgent = navigator.userAgent; - - return userAgent.indexOf('iPhone') !== -1 && userAgent.indexOf('Safari') === -1 && userAgent.indexOf('CriOS') === -1; -} - export function isInRole(roles, inRole) { var parts = roles.split(' '); for (var i = 0; i < parts.length; i++) { @@ -146,7 +122,7 @@ export function notifyMe(title, body, channel, teamId) { var canDing = true; export function ding() { - if (!isBrowserFirefox() && canDing) { + if (!UserAgent.isFirefox() && canDing) { var audio = new Audio(bing); audio.play(); canDing = false; @@ -751,7 +727,7 @@ export function updateCodeTheme(userTheme) { xmlHTTP.open('GET', cssPath, true); xmlHTTP.onload = function onLoad() { $link.attr('href', cssPath); - if (isBrowserFirefox()) { + if (UserAgent.isFirefox()) { $link.one('load', () => { changeCss('code.hljs', 'visibility: visible'); }); @@ -1048,25 +1024,6 @@ export function generateId() { return id; } -export function isBrowserFirefox() { - return navigator && navigator.userAgent && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; -} - -// Checks if browser is IE10 or IE11 -export function isBrowserIE() { - if (window.navigator && window.navigator.userAgent) { - var ua = window.navigator.userAgent; - - return ua.indexOf('Trident/7.0') > 0 || ua.indexOf('Trident/6.0') > 0; - } - - return false; -} - -export function isBrowserEdge() { - return window.navigator && navigator.userAgent && navigator.userAgent.toLowerCase().indexOf('edge') > -1; -} - export function getDirectChannelName(id, otherId) { let handle; @@ -1244,7 +1201,7 @@ export function fillArray(value, length) { // Checks if a data transfer contains files not text, folders, etc.. // Slightly modified from http://stackoverflow.com/questions/6848043/how-do-i-detect-a-file-is-being-dragged-rather-than-a-draggable-element-on-my-pa export function isFileTransfer(files) { - if (isBrowserIE() || isBrowserEdge()) { + if (UserAgent.isInternetExplorer() || UserAgent.isEdge()) { return files.types != null && files.types.contains('Files'); }