54 lines
1.1 KiB
JavaScript
54 lines
1.1 KiB
JavaScript
/**
|
|
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
import Vue from 'vue'
|
|
import { getRequestToken } from '@nextcloud/auth'
|
|
import { subscribe } from '@nextcloud/event-bus'
|
|
|
|
import UserStatus from './UserStatus.vue'
|
|
|
|
import store from './store/index.js'
|
|
|
|
// eslint-disable-next-line camelcase
|
|
__webpack_nonce__ = btoa(getRequestToken())
|
|
|
|
Vue.prototype.t = t
|
|
Vue.prototype.$t = t
|
|
|
|
const mountPoint = document.getElementById('user_status-menu-entry')
|
|
|
|
const mountMenuEntry = () => {
|
|
const mountPoint = document.getElementById('user_status-menu-entry')
|
|
// eslint-disable-next-line no-new
|
|
new Vue({
|
|
el: mountPoint,
|
|
render: h => h(UserStatus),
|
|
store,
|
|
})
|
|
}
|
|
|
|
if (mountPoint) {
|
|
mountMenuEntry()
|
|
} else {
|
|
subscribe('core:user-menu:mounted', mountMenuEntry)
|
|
}
|
|
|
|
// Register dashboard status
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
if (!OCA.Dashboard) {
|
|
return
|
|
}
|
|
|
|
OCA.Dashboard.registerStatus('status', (el) => {
|
|
const Dashboard = Vue.extend(UserStatus)
|
|
return new Dashboard({
|
|
propsData: {
|
|
inline: true,
|
|
},
|
|
store,
|
|
}).$mount(el)
|
|
})
|
|
})
|