mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-17 01:56:27 +08:00
chore(core): add telemetry switch (#6267)
This commit is contained in:
@@ -32,6 +32,7 @@ export type AppSetting = {
|
||||
autoCheckUpdate: boolean;
|
||||
autoDownloadUpdate: boolean;
|
||||
enableMultiView: boolean;
|
||||
enableTelemetry: boolean;
|
||||
editorFlags: Partial<Omit<BlockSuiteFlags, 'readonly'>>;
|
||||
};
|
||||
export const windowFrameStyleOptions: AppSetting['windowFrameStyle'][] = [
|
||||
@@ -71,6 +72,7 @@ const appSettingBaseAtom = atomWithStorage<AppSetting>('affine-settings', {
|
||||
enableNoisyBackground: true,
|
||||
autoCheckUpdate: true,
|
||||
autoDownloadUpdate: true,
|
||||
enableTelemetry: true,
|
||||
enableMultiView: false,
|
||||
editorFlags: {},
|
||||
});
|
||||
|
||||
+22
@@ -9,6 +9,7 @@ import { useCallback } from 'react';
|
||||
|
||||
import { useAppSettingHelper } from '../../../../../hooks/affine/use-app-setting-helper';
|
||||
import { appIconMap, appNames } from '../../../../../pages/open-app';
|
||||
import { mixpanel } from '../../../../../utils';
|
||||
import { relatedLinks } from './config';
|
||||
import * as styles from './style.css';
|
||||
import { UpdateCheckSection } from './update-check-section';
|
||||
@@ -37,6 +38,18 @@ export const AboutAffine = () => {
|
||||
[toggleAutoDownload, updateSettings]
|
||||
);
|
||||
|
||||
const onSwitchTelemetry = useCallback(
|
||||
(checked: boolean) => {
|
||||
if (!checked) {
|
||||
mixpanel.opt_out_tracking();
|
||||
} else {
|
||||
mixpanel.opt_in_tracking();
|
||||
}
|
||||
updateSettings('enableTelemetry', checked);
|
||||
},
|
||||
[updateSettings]
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<SettingHeader
|
||||
@@ -91,6 +104,15 @@ export const AboutAffine = () => {
|
||||
</SettingRow>
|
||||
</>
|
||||
) : null}
|
||||
<SettingRow
|
||||
name={t['com.affine.telemetry.enable']()}
|
||||
desc={t['com.affine.telemetry.enable.desc']()}
|
||||
>
|
||||
<Switch
|
||||
checked={appSettings.enableTelemetry}
|
||||
onChange={onSwitchTelemetry}
|
||||
/>
|
||||
</SettingRow>
|
||||
</SettingWrapper>
|
||||
<SettingWrapper title={t['com.affine.aboutAFFiNE.contact.title']()}>
|
||||
<a
|
||||
|
||||
@@ -1118,6 +1118,8 @@
|
||||
"com.affine.workspaceType.offline": "Available Offline",
|
||||
"com.affine.write_with_a_blank_page": "Write with a blank page",
|
||||
"com.affine.yesterday": "Yesterday",
|
||||
"com.affine.telemetry.enable": "Enable Telemetry",
|
||||
"com.affine.telemetry.enable.desc": "Telemetry is a feature that allows us to collect data on how you use the app. This data helps us improve the app and provide better features.",
|
||||
"core": "core",
|
||||
"dark": "Dark",
|
||||
"emptyAllPages": "Click on the <1>$t(New Doc)</1> button to create your first doc.",
|
||||
|
||||
Reference in New Issue
Block a user