mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* 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>
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
import { AppPreferenceRegistry, LensRendererExtension } from "@lens/ui-extensions";
|
|
import { TelemetryPreferencesStore } from "./src/telemetry-preferences-store"
|
|
import { TelemetryPreferenceHint, TelemetryPreferenceInput } from "./src/telemetry-preference"
|
|
import React from "react"
|
|
|
|
export default class TelemetryRendererExtension extends LensRendererExtension {
|
|
protected preferencesStore: TelemetryPreferencesStore
|
|
|
|
async onActivate() {
|
|
console.log("telemetry extension activated")
|
|
this.preferencesStore = TelemetryPreferencesStore.getInstance<TelemetryPreferencesStore>()
|
|
await this.preferencesStore.load()
|
|
}
|
|
|
|
registerAppPreferences(registry: AppPreferenceRegistry) {
|
|
this.disposers.push(
|
|
registry.add({
|
|
title: "Telemetry & Usage Tracking",
|
|
components: {
|
|
Hint: () => <TelemetryPreferenceHint />,
|
|
Input: () => <TelemetryPreferenceInput telemetry={this.preferencesStore} />
|
|
}
|
|
})
|
|
)
|
|
}
|
|
|
|
onDeactivate() {
|
|
console.log("telemetry extension deactivated")
|
|
}
|
|
}
|