diff --git a/js/src/forum/addTeamsSettings.js b/js/src/forum/addTeamsSettings.js index ca88d3d..29d2064 100644 --- a/js/src/forum/addTeamsSettings.js +++ b/js/src/forum/addTeamsSettings.js @@ -7,36 +7,36 @@ import Component from 'flarum/common/Component'; class TeamsSettingsBlock extends Component { view() { const user = app.session.user; + const prefs = user.preferences() || {}; return (

Microsoft Teams

- - user.savePreferences({ - 'sbp-jm-msteams.enabled': value, - }) - } - > - Enable Microsoft Teams notifications - + {this.prefSwitch( + user, + prefs, + 'sbp-jm-msteams.enabled', + 'Enable Microsoft Teams notifications' + )}
- {this.typeSwitch( + {this.prefSwitch( user, - 'newPost', + prefs, + 'sbp-jm-msteams.types.newPost', 'Someone replies to a discussion I am following' )} - {this.typeSwitch( + {this.prefSwitch( user, - 'postMentioned', + prefs, + 'sbp-jm-msteams.types.postMentioned', 'Someone mentions me in a post' )} - {this.typeSwitch( + {this.prefSwitch( user, - 'userMentioned', + prefs, + 'sbp-jm-msteams.types.userMentioned', 'Someone mentions me' )}
@@ -44,17 +44,11 @@ class TeamsSettingsBlock extends Component { ); } - typeSwitch(user, type, label) { - const key = `sbp-jm-msteams.types.${type}`; - + prefSwitch(user, prefs, key, label) { return ( - user.savePreferences({ - [key]: value, - }) - } + state={!!prefs[key]} + onchange={(value) => user.savePreferences({ [key]: value })} > {label} @@ -64,7 +58,6 @@ class TeamsSettingsBlock extends Component { export default function addTeamsSettings() { extend(SettingsPage.prototype, 'content', function (vnode) { - // ✅ content ist ein Array → push! vnode.children.push(); }); } \ No newline at end of file