diff --git a/js/src/forum/addTeamsSettings.js b/js/src/forum/addTeamsSettings.js index d8f1f56..d237ac3 100644 --- a/js/src/forum/addTeamsSettings.js +++ b/js/src/forum/addTeamsSettings.js @@ -5,55 +5,60 @@ import Switch from 'flarum/common/components/Switch'; import Component from 'flarum/common/Component'; class TeamsSettingsBlock extends Component { + oninit(vnode) { + super.oninit(vnode); + + // Serialisiert Saves, damit schnelle Klicks nicht zu "last write wins" führen. + this.saveChain = Promise.resolve(); + } + + queueSave(user, preferences) { + this.saveChain = this.saveChain.then(() => user.savePreferences(preferences)); + return this.saveChain; + } + view() { const user = app.session.user; - const prefs = user.preferences() || {}; + + // Sicherheitscheck: SettingsPage ist nur für eingeloggte Nutzer, aber defensiv bleibt defensiv. + if (!user) return null; return (