mirror of https://github.com/vector-im/riot-web
add opt out / un opt out toggle
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>pull/21833/head
parent
7e8123e5fe
commit
f5d336103e
|
@ -28,6 +28,7 @@ const GeminiScrollbar = require('react-gemini-scrollbar');
|
||||||
const Email = require('../../email');
|
const Email = require('../../email');
|
||||||
const AddThreepid = require('../../AddThreepid');
|
const AddThreepid = require('../../AddThreepid');
|
||||||
const SdkConfig = require('../../SdkConfig');
|
const SdkConfig = require('../../SdkConfig');
|
||||||
|
import Analytics from '../../Analytics';
|
||||||
import AccessibleButton from '../views/elements/AccessibleButton';
|
import AccessibleButton from '../views/elements/AccessibleButton';
|
||||||
import { _t } from '../../languageHandler';
|
import { _t } from '../../languageHandler';
|
||||||
import * as languageHandler from '../../languageHandler';
|
import * as languageHandler from '../../languageHandler';
|
||||||
|
@ -55,7 +56,7 @@ const gHVersionLabel = function(repo, token='') {
|
||||||
// Enumerate some simple 'flip a bit' UI settings (if any).
|
// Enumerate some simple 'flip a bit' UI settings (if any).
|
||||||
// 'id' gives the key name in the im.vector.web.settings account data event
|
// 'id' gives the key name in the im.vector.web.settings account data event
|
||||||
// 'label' is how we describe it in the UI.
|
// 'label' is how we describe it in the UI.
|
||||||
// Warning: Each "label" string below must be added to i18n/strings/en_EN.json,
|
// Warning: Each "label" string below must be added to i18n/strings/en_EN.json,
|
||||||
// since they will be translated when rendered.
|
// since they will be translated when rendered.
|
||||||
const SETTINGS_LABELS = [
|
const SETTINGS_LABELS = [
|
||||||
{
|
{
|
||||||
|
@ -90,7 +91,7 @@ const SETTINGS_LABELS = [
|
||||||
*/
|
*/
|
||||||
];
|
];
|
||||||
|
|
||||||
// Warning: Each "label" string below must be added to i18n/strings/en_EN.json,
|
// Warning: Each "label" string below must be added to i18n/strings/en_EN.json,
|
||||||
// since they will be translated when rendered.
|
// since they will be translated when rendered.
|
||||||
const CRYPTO_SETTINGS_LABELS = [
|
const CRYPTO_SETTINGS_LABELS = [
|
||||||
{
|
{
|
||||||
|
@ -722,6 +723,30 @@ module.exports = React.createClass({
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_onAnalyticsOptOut: function(ev) {
|
||||||
|
UserSettingsStore.setSyncedSetting('analyticsOptOut', ev.target.checked);
|
||||||
|
Analytics[ev.target.checked ? 'disable' : 'enable']();
|
||||||
|
},
|
||||||
|
|
||||||
|
_renderAnalyticsControl: function() {
|
||||||
|
return <div>
|
||||||
|
<h3>{ _t('Analytics') }</h3>
|
||||||
|
<div className="mx_UserSettings_section">
|
||||||
|
{_t('Riot collects anonymous analytics to allow us to improve the application.')}
|
||||||
|
<div className="mx_UserSettings_toggle">
|
||||||
|
<input id="analyticsOptOut"
|
||||||
|
type="checkbox"
|
||||||
|
defaultChecked={this._syncedSettings.analyticsOptOut}
|
||||||
|
onChange={this._onAnalyticsOptOut}
|
||||||
|
/>
|
||||||
|
<label htmlFor="analyticsOptOut">
|
||||||
|
{ _t('Opt out of analytics') }
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>;
|
||||||
|
},
|
||||||
|
|
||||||
_renderLabs: function() {
|
_renderLabs: function() {
|
||||||
// default to enabled if undefined
|
// default to enabled if undefined
|
||||||
if (this.props.enableLabs === false) return null;
|
if (this.props.enableLabs === false) return null;
|
||||||
|
@ -1019,6 +1044,8 @@ module.exports = React.createClass({
|
||||||
{this._renderBulkOptions()}
|
{this._renderBulkOptions()}
|
||||||
{this._renderBugReport()}
|
{this._renderBugReport()}
|
||||||
|
|
||||||
|
{this._renderAnalyticsControl()}
|
||||||
|
|
||||||
<h3>{ _t("Advanced") }</h3>
|
<h3>{ _t("Advanced") }</h3>
|
||||||
|
|
||||||
<div className="mx_UserSettings_section">
|
<div className="mx_UserSettings_section">
|
||||||
|
|
|
@ -678,5 +678,8 @@
|
||||||
"%(severalUsers)schanged their avatar %(repeats)s times": "%(severalUsers)schanged their avatar %(repeats)s times",
|
"%(severalUsers)schanged their avatar %(repeats)s times": "%(severalUsers)schanged their avatar %(repeats)s times",
|
||||||
"%(oneUser)schanged their avatar %(repeats)s times": "%(oneUser)schanged their avatar %(repeats)s times",
|
"%(oneUser)schanged their avatar %(repeats)s times": "%(oneUser)schanged their avatar %(repeats)s times",
|
||||||
"%(severalUsers)schanged their avatar": "%(severalUsers)schanged their avatar",
|
"%(severalUsers)schanged their avatar": "%(severalUsers)schanged their avatar",
|
||||||
"%(oneUser)schanged their avatar": "%(oneUser)schanged their avatar"
|
"%(oneUser)schanged their avatar": "%(oneUser)schanged their avatar",
|
||||||
|
"Analytics": "Analytics",
|
||||||
|
"Opt out of analytics": "Opt out of analytics",
|
||||||
|
"Riot collects anonymous analytics to allow us to improve the application.": "Riot collects anonymous analytics to allow us to improve the application."
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue