Skip to content

Commit 85faa8a

Browse files
Merge pull request matrix-org#4677 from JorikSchellekens/joriks/fix-dark-theme-selection
Use arrow functions instead of binding `this`
2 parents 50124d3 + 7db95b6 commit 85faa8a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/components/views/settings/tabs/user/AppearanceUserSettingsTab.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export default class AppearanceUserSettingsTab extends React.Component<IProps, I
103103
};
104104
}
105105

106-
private onThemeChange(e: React.ChangeEvent<HTMLSelectElement | HTMLInputElement>): void {
106+
private onThemeChange = (e: React.ChangeEvent<HTMLSelectElement | HTMLInputElement>): void => {
107107
const newTheme = e.target.value;
108108
if (this.state.theme === newTheme) return;
109109

@@ -124,18 +124,18 @@ export default class AppearanceUserSettingsTab extends React.Component<IProps, I
124124
dis.dispatch<RecheckThemePayload>({action: Action.RecheckTheme, forceTheme: newTheme});
125125
};
126126

127-
private onUseSystemThemeChanged(checked: boolean) {
127+
private onUseSystemThemeChanged = (checked: boolean): void => {
128128
this.setState({useSystemTheme: checked});
129129
SettingsStore.setValue("use_system_theme", null, SettingLevel.DEVICE, checked);
130130
dis.dispatch<RecheckThemePayload>({action: Action.RecheckTheme});
131131
};
132132

133-
private onFontSizeChanged(size: number) {
133+
private onFontSizeChanged = (size: number): void => {
134134
this.setState({fontSize: size.toString()});
135135
SettingsStore.setValue("fontSize", null, SettingLevel.DEVICE, size);
136136
};
137137

138-
private async onValidateFontSize({value}: Pick<IFieldState, "value">): Promise<IValidationResult> {
138+
private onValidateFontSize = async ({value}: Pick<IFieldState, "value">): Promise<IValidationResult> => {
139139
const parsedSize = parseFloat(value);
140140
const min = FontWatcher.MIN_SIZE;
141141
const max = FontWatcher.MAX_SIZE;
@@ -155,7 +155,7 @@ export default class AppearanceUserSettingsTab extends React.Component<IProps, I
155155
return {valid: true, feedback: _t('Use between %(min)s pt and %(max)s pt', {min, max})};
156156
}
157157

158-
private async onAddCustomTheme() {
158+
private onAddCustomTheme = async (): Promise<void> => {
159159
let currentThemes: string[] = SettingsStore.getValue("custom_themes");
160160
if (!currentThemes) currentThemes = [];
161161
currentThemes = currentThemes.map(c => c); // cheap clone
@@ -187,7 +187,7 @@ export default class AppearanceUserSettingsTab extends React.Component<IProps, I
187187
}, 3000);
188188
};
189189

190-
private onCustomThemeChange(e: React.ChangeEvent<HTMLSelectElement | HTMLInputElement>) {
190+
private onCustomThemeChange = (e: React.ChangeEvent<HTMLSelectElement | HTMLInputElement>): void => {
191191
this.setState({customThemeUrl: e.target.value});
192192
};
193193

0 commit comments

Comments
 (0)