Create ThemeSwitcher.js
这个提交包含在:
@@ -0,0 +1,44 @@
|
||||
import Component from 'flarum/common/Component';
|
||||
import Select from 'flarum/common/components/Select';
|
||||
import saveSettings from 'flarum/forum/utils/saveSettings';
|
||||
|
||||
export default class ThemeSwitcher extends Component {
|
||||
oninit(vnode) {
|
||||
super.oninit(vnode);
|
||||
this.loading = false;
|
||||
}
|
||||
|
||||
view() {
|
||||
const themes = {
|
||||
default: app.translator.trans('demo-theme-switcher.forum.settings.options.default'),
|
||||
dark: app.translator.trans('demo-theme-switcher.forum.settings.options.dark'),
|
||||
pink: app.translator.trans('demo-theme-switcher.forum.settings.options.pink'),
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="Form-group">
|
||||
<label>{app.translator.trans('demo-theme-switcher.forum.settings.title')}</label>
|
||||
<Select
|
||||
value={app.session.user.preferences().theme || 'default'}
|
||||
options={themes}
|
||||
onchange={this.saveTheme.bind(this)}
|
||||
disabled={this.loading}
|
||||
/>
|
||||
<p className="helpText">{app.translator.trans('demo-theme-switcher.forum.settings.help')}</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
saveTheme(value) {
|
||||
this.loading = true;
|
||||
m.redraw();
|
||||
|
||||
saveSettings({ theme: value })
|
||||
.then(() => {
|
||||
this.loading = false;
|
||||
m.redraw();
|
||||
// 立即刷新让新 CSS 生效
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户