From 9c2c941449c387b2407d10c101f39a2266a2e65a Mon Sep 17 00:00:00 2001
From: Harrison Healey <harrisonmhealey@gmail.com>
Date: Fri, 22 Jul 2016 10:53:57 -0400
Subject: PLT-1866/PLT-3509 Added links to download the native apps (#3651)

* PLT-1866 Added configurable links for native app downloads

* PLT-1866 Added native app download link to main menu

* PLT-3509 Added native app link to tutorial

* PLT-3509 Added native app link to welcome email

* PLT-3509 Made link to apps in welcome email conditional on being set
---
 .../admin_console/native_app_link_settings.jsx     | 104 +++++++++++++++++++++
 1 file changed, 104 insertions(+)
 create mode 100644 webapp/components/admin_console/native_app_link_settings.jsx

(limited to 'webapp/components/admin_console/native_app_link_settings.jsx')

diff --git a/webapp/components/admin_console/native_app_link_settings.jsx b/webapp/components/admin_console/native_app_link_settings.jsx
new file mode 100644
index 000000000..6c3acb14f
--- /dev/null
+++ b/webapp/components/admin_console/native_app_link_settings.jsx
@@ -0,0 +1,104 @@
+// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+
+import AdminSettings from './admin_settings.jsx';
+import {FormattedMessage} from 'react-intl';
+import SettingsGroup from './settings_group.jsx';
+import TextSetting from './text_setting.jsx';
+
+export default class NativeAppLinkSettings extends AdminSettings {
+    constructor(props) {
+        super(props);
+
+        this.getConfigFromState = this.getConfigFromState.bind(this);
+
+        this.renderSettings = this.renderSettings.bind(this);
+    }
+
+    getConfigFromState(config) {
+        config.NativeAppSettings.AppDownloadLink = this.state.appDownloadLink;
+        config.NativeAppSettings.AndroidAppDownloadLink = this.state.androidAppDownloadLink;
+        config.NativeAppSettings.IosAppDownloadLink = this.state.iosAppDownloadLink;
+
+        return config;
+    }
+
+    getStateFromConfig(config) {
+        return {
+            appDownloadLink: config.NativeAppSettings.AppDownloadLink,
+            androidAppDownloadLink: config.NativeAppSettings.AndroidAppDownloadLink,
+            iosAppDownloadLink: config.NativeAppSettings.IosAppDownloadLink
+        };
+    }
+
+    renderTitle() {
+        return (
+            <h3>
+                <FormattedMessage
+                    id='admin.customization.nativeAppLinks'
+                    defaultMessage='Native App Links'
+                />
+            </h3>
+        );
+    }
+
+    renderSettings() {
+        return (
+            <SettingsGroup>
+                <TextSetting
+                    id='appDownloadLink'
+                    label={
+                        <FormattedMessage
+                            id='admin.customization.appDownloadLinkTitle'
+                            defaultMessage='Mattermost Apps Download Page Link:'
+                        />
+                    }
+                    helpText={
+                        <FormattedMessage
+                            id='admin.customization.appDownloadLinkDesc'
+                            defaultMessage='Add a link to a download page for the Mattermost apps. When a link is present, an option to "Download Mattermost Apps" will be added in the Main Menu so users can find the download page. Leave this field blank to hide the option from the Main Menu.'
+                        />
+                    }
+                    value={this.state.appDownloadLink}
+                    onChange={this.handleChange}
+                />
+                <TextSetting
+                    id='androidAppDownloadLink'
+                    label={
+                        <FormattedMessage
+                            id='admin.customization.androidAppDownloadLinkTitle'
+                            defaultMessage='Android App Download Link:'
+                        />
+                    }
+                    helpText={
+                        <FormattedMessage
+                            id='admin.customization.androidAppDownloadLinkDesc'
+                            defaultMessage='Add a link to download the Android app. Users who access the site on a mobile web browser will be prompted with a page giving them the option to download the app. Leave this field blank to prevent the page from appearing.'
+                        />
+                    }
+                    value={this.state.androidAppDownloadLink}
+                    onChange={this.handleChange}
+                />
+                <TextSetting
+                    id='iosAppDownloadLink'
+                    label={
+                        <FormattedMessage
+                            id='admin.customization.iosAppDownloadLinkTitle'
+                            defaultMessage='iOS App Download Link:'
+                        />
+                    }
+                    helpText={
+                        <FormattedMessage
+                            id='admin.customization.iosAppDownloadLinkDesc'
+                            defaultMessage='Add a link to download the iOS app. Users who access the site on a mobile web browser will be prompted with a page giving them the option to download the app. Leave this field blank to prevent the page from appearing.'
+                        />
+                    }
+                    value={this.state.iosAppDownloadLink}
+                    onChange={this.handleChange}
+                />
+            </SettingsGroup>
+        );
+    }
+}
-- 
cgit v1.2.3-1-g7c22

