diff --git a/source/options/components/anonymize-usernames.tsx b/source/options/components/anonymize-usernames.tsx index bfd9f89..9868150 100644 --- a/source/options/components/anonymize-usernames.tsx +++ b/source/options/components/anonymize-usernames.tsx @@ -37,6 +37,17 @@ export class AnonymizeUsernamesSetting extends Component { this.setState({data}); }; + selfOnlyClicked = async () => { + const {data} = this.state; + if (data === undefined) { + return; + } + + data.value.selfOnly = !data.value.selfOnly; + await data.save(); + this.setState({data}); + }; + render() { const {data} = this.state; if (data === undefined) { @@ -52,6 +63,17 @@ export class AnonymizeUsernamesSetting extends Component { )); + const selfOnlyCheckbox = ( + + ); + return (

@@ -67,6 +89,7 @@ export class AnonymizeUsernamesSetting extends Component { {replacementTypeOptions} +

  • {selfOnlyCheckbox}
  • ); diff --git a/source/storage/anonymize-usernames.ts b/source/storage/anonymize-usernames.ts index 7653a78..1482e69 100644 --- a/source/storage/anonymize-usernames.ts +++ b/source/storage/anonymize-usernames.ts @@ -20,4 +20,5 @@ export function isReplacementType(input: string): input is ReplacementType { */ export type AnonymizeUsernamesData = { replacementType: ReplacementType; + selfOnly: boolean; }; diff --git a/source/storage/exports.ts b/source/storage/exports.ts index e54db1b..ff3eefb 100644 --- a/source/storage/exports.ts +++ b/source/storage/exports.ts @@ -84,6 +84,7 @@ export const storageValues = { key: Feature.AnonymizeUsernames, value: { replacementType: ReplacementType.Numerical, + selfOnly: false, }, storage: browser.storage.sync, }),