mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Initial telemetry extension (#1067)
* initial telemetry extension Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * Fix preferences saving and default value Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com> Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
This commit is contained in:
1 parent
4f98a01a8b
commit
45abc740e9
28 files changed
+3837
-48
No files matched your search
@@ -0,0 +1,26 @@
|
||||
import { Checkbox } from "@lens/ui-extensions"
|
||||
import React from "react"
|
||||
import { observer } from "mobx-react";
|
||||
import { TelemetryPreferencesStore } from "./telemetry-preferences-store"
|
||||
|
||||
@observer
|
||||
export class TelemetryPreferenceInput extends React.Component<{telemetry: TelemetryPreferencesStore}, {}> {
|
||||
render() {
|
||||
const { telemetry } = this.props
|
||||
return (
|
||||
<Checkbox
|
||||
label="Allow telemetry & usage tracking"
|
||||
value={telemetry.enabled}
|
||||
onChange={v => { telemetry.enabled = v; }}
|
||||
/>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export class TelemetryPreferenceHint extends React.Component {
|
||||
render() {
|
||||
return (
|
||||
<span>Telemetry & usage data is collected to continuously improve the Lens experience.</span>
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
import { BaseStore } from "@lens/extensions";
|
||||
import { toJS } from "mobx"
|
||||
|
||||
export type TelemetryPreferencesModel = {
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export class TelemetryPreferencesStore extends BaseStore<TelemetryPreferencesModel> {
|
||||
private constructor() {
|
||||
super({
|
||||
configName: "telemetry-preferences-store",
|
||||
defaults: {
|
||||
enabled: true
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
get enabled() {
|
||||
return this.data.enabled
|
||||
}
|
||||
|
||||
set enabled(v: boolean) {
|
||||
this.data.enabled = v
|
||||
}
|
||||
|
||||
toJSON(): TelemetryPreferencesModel {
|
||||
return toJS({
|
||||
enabled: this.data.enabled
|
||||
}, {
|
||||
recurseEverything: true
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user