wip
This commit is contained in:
@ -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();
|
||||
|
@ -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 });
|
||||
});
|
||||
|
Reference in New Issue
Block a user