This commit is contained in:
syuilo
2018-06-06 02:48:26 +09:00
parent f88fb9bc1d
commit f918081168
3 changed files with 67 additions and 48 deletions

View File

@ -76,6 +76,50 @@ import Vue from 'vue';
import * as XDraggable from 'vuedraggable';
import * as uuid from 'uuid';
const defaultDesktopHomeWidgets = {
left: [
'profile',
'calendar',
'activity',
'rss',
'trends',
'photo-stream',
'version'
],
right: [
'broadcast',
'notifications',
'users',
'polls',
'server',
'donation',
'nav',
'tips'
]
};
//#region Construct home data
const _defaultDesktopHomeWidgets = [];
defaultDesktopHomeWidgets.left.forEach(widget => {
_defaultDesktopHomeWidgets.push({
name: widget,
id: uuid(),
place: 'left',
data: {}
});
});
defaultDesktopHomeWidgets.right.forEach(widget => {
_defaultDesktopHomeWidgets.push({
name: widget,
id: uuid(),
place: 'right',
data: {}
});
});
//#endregion
export default Vue.extend({
components: {
XDraggable
@ -119,6 +163,14 @@ export default Vue.extend({
}
},
created() {
if (this.$store.state.i.clientSettings == null || this.$store.state.i.clientSettings.home == null) {
this.api('i/update_home', {
home: _defaultDesktopHomeWidgets
});
}
},
mounted() {
this.connection = (this as any).os.stream.getConnection();
this.connectionId = (this as any).os.stream.use();

View File

@ -7,6 +7,20 @@ import { hostname } from './config';
const defaultSettings = {
home: [],
mobileHome: [],
deck: {
columns: [/*{
type: 'widgets',
widgets: []
}, */{
type: 'home'
}, {
type: 'notifications'
}, {
type: 'local'
}, {
type: 'global'
}]
},
fetchOnScroll: true,
showMaps: true,
showPostFormOnTopOfTl: false,
@ -156,6 +170,7 @@ export default (os: MiOS) => new Vuex.Store({
actions: {
merge(ctx, settings) {
if (settings == null) return;
Object.entries(settings).forEach(([key, value]) => {
ctx.commit('set', { key, value });
});