Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2021-12-02 20:32:57 +0300
committerJohn Molakvoæ <skjnldsv@protonmail.com>2022-01-08 12:14:05 +0300
commit74b980310852a0b406fa9d073870f92c409d5444 (patch)
tree055cbdf57886077bf3a6ea476813deedb54064e0 /dist/user_status-menu.js.map
parent85bc8513557f5ff37fc283d53893d4cb77ec7c3b (diff)
Eslint fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'dist/user_status-menu.js.map')
-rw-r--r--dist/user_status-menu.js.map1
1 files changed, 1 insertions, 0 deletions
diff --git a/dist/user_status-menu.js.map b/dist/user_status-menu.js.map
new file mode 100644
index 00000000000..e86170a462b
--- /dev/null
+++ b/dist/user_status-menu.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"user_status-menu.js?v=c0d82d3b6d9913a8fd9f","mappings":"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","sources":["webpack://nextcloud/webpack/runtime/chunk loaded","webpack://nextcloud/webpack/runtime/load script","webpack://nextcloud//home/admin/Docker/server/node_modules/@nextcloud/moment/node_modules/moment/locale|sync|/^\\.\\/.*$/","webpack://nextcloud/apps/user_status/src/UserStatus.vue","webpack://nextcloud/./apps/user_status/src/services/heartbeatService.js","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?fab1","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?fa95","webpack://nextcloud/./apps/user_status/src/UserStatus.vue","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?2550","webpack://nextcloud/./apps/user_status/src/services/predefinedStatusService.js","webpack://nextcloud/./apps/user_status/src/store/predefinedStatuses.js","webpack://nextcloud/./apps/user_status/src/services/clearAtService.js","webpack://nextcloud/./apps/user_status/src/store/userStatus.js","webpack://nextcloud/./apps/user_status/src/services/statusService.js","webpack://nextcloud/./apps/user_status/src/store/index.js","webpack://nextcloud/./apps/user_status/src/menu.js","webpack://nextcloud/./apps/user_status/src/mixins/OnlineStatusMixin.js","webpack://nextcloud/./apps/user_status/src/services/dateService.js","webpack://nextcloud/./apps/user_status/src/UserStatus.vue?849d","webpack://nextcloud/webpack/bootstrap","webpack://nextcloud/webpack/runtime/amd define","webpack://nextcloud/webpack/runtime/amd options","webpack://nextcloud/webpack/runtime/compat get default export","webpack://nextcloud/webpack/runtime/define property getters","webpack://nextcloud/webpack/runtime/ensure chunk","webpack://nextcloud/webpack/runtime/get javascript chunk filename","webpack://nextcloud/webpack/runtime/global","webpack://nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack://nextcloud/webpack/runtime/make namespace object","webpack://nextcloud/webpack/runtime/node module decorator","webpack://nextcloud/webpack/runtime/runtimeId","webpack://nextcloud/webpack/runtime/publicPath","webpack://nextcloud/webpack/runtime/jsonp chunk loading","webpack://nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var map = {\n\t\"./af\": 36026,\n\t\"./af.js\": 36026,\n\t\"./ar\": 28093,\n\t\"./ar-dz\": 41943,\n\t\"./ar-dz.js\": 41943,\n\t\"./ar-kw\": 23969,\n\t\"./ar-kw.js\": 23969,\n\t\"./ar-ly\": 40594,\n\t\"./ar-ly.js\": 40594,\n\t\"./ar-ma\": 18369,\n\t\"./ar-ma.js\": 18369,\n\t\"./ar-sa\": 32579,\n\t\"./ar-sa.js\": 32579,\n\t\"./ar-tn\": 76442,\n\t\"./ar-tn.js\": 76442,\n\t\"./ar.js\": 28093,\n\t\"./az\": 86425,\n\t\"./az.js\": 86425,\n\t\"./be\": 22004,\n\t\"./be.js\": 22004,\n\t\"./bg\": 42982,\n\t\"./bg.js\": 42982,\n\t\"./bm\": 21067,\n\t\"./bm.js\": 21067,\n\t\"./bn\": 8366,\n\t\"./bn.js\": 8366,\n\t\"./bo\": 95040,\n\t\"./bo.js\": 95040,\n\t\"./br\": 521,\n\t\"./br.js\": 521,\n\t\"./bs\": 83242,\n\t\"./bs.js\": 83242,\n\t\"./ca\": 73046,\n\t\"./ca.js\": 73046,\n\t\"./cs\": 25794,\n\t\"./cs.js\": 25794,\n\t\"./cv\": 28231,\n\t\"./cv.js\": 28231,\n\t\"./cy\": 10927,\n\t\"./cy.js\": 10927,\n\t\"./da\": 42832,\n\t\"./da.js\": 42832,\n\t\"./de\": 29415,\n\t\"./de-at\": 3331,\n\t\"./de-at.js\": 3331,\n\t\"./de-ch\": 45524,\n\t\"./de-ch.js\": 45524,\n\t\"./de.js\": 29415,\n\t\"./dv\": 44700,\n\t\"./dv.js\": 44700,\n\t\"./el\": 88752,\n\t\"./el.js\": 88752,\n\t\"./en-SG\": 16706,\n\t\"./en-SG.js\": 16706,\n\t\"./en-au\": 90444,\n\t\"./en-au.js\": 90444,\n\t\"./en-ca\": 65959,\n\t\"./en-ca.js\": 65959,\n\t\"./en-gb\": 62762,\n\t\"./en-gb.js\": 62762,\n\t\"./en-ie\": 40909,\n\t\"./en-ie.js\": 40909,\n\t\"./en-il\": 79909,\n\t\"./en-il.js\": 79909,\n\t\"./en-nz\": 75200,\n\t\"./en-nz.js\": 75200,\n\t\"./eo\": 27447,\n\t\"./eo.js\": 27447,\n\t\"./es\": 86756,\n\t\"./es-do\": 47049,\n\t\"./es-do.js\": 47049,\n\t\"./es-us\": 57133,\n\t\"./es-us.js\": 57133,\n\t\"./es.js\": 86756,\n\t\"./et\": 72182,\n\t\"./et.js\": 72182,\n\t\"./eu\": 14419,\n\t\"./eu.js\": 14419,\n\t\"./fa\": 2916,\n\t\"./fa.js\": 2916,\n\t\"./fi\": 49964,\n\t\"./fi.js\": 49964,\n\t\"./fo\": 26094,\n\t\"./fo.js\": 26094,\n\t\"./fr\": 35833,\n\t\"./fr-ca\": 56994,\n\t\"./fr-ca.js\": 56994,\n\t\"./fr-ch\": 2740,\n\t\"./fr-ch.js\": 2740,\n\t\"./fr.js\": 35833,\n\t\"./fy\": 69542,\n\t\"./fy.js\": 69542,\n\t\"./ga\": 93264,\n\t\"./ga.js\": 93264,\n\t\"./gd\": 77457,\n\t\"./gd.js\": 77457,\n\t\"./gl\": 83043,\n\t\"./gl.js\": 83043,\n\t\"./gom-latn\": 28379,\n\t\"./gom-latn.js\": 28379,\n\t\"./gu\": 406,\n\t\"./gu.js\": 406,\n\t\"./he\": 73219,\n\t\"./he.js\": 73219,\n\t\"./hi\": 99834,\n\t\"./hi.js\": 99834,\n\t\"./hr\": 28754,\n\t\"./hr.js\": 28754,\n\t\"./hu\": 93945,\n\t\"./hu.js\": 93945,\n\t\"./hy-am\": 81319,\n\t\"./hy-am.js\": 81319,\n\t\"./id\": 24875,\n\t\"./id.js\": 24875,\n\t\"./is\": 23724,\n\t\"./is.js\": 23724,\n\t\"./it\": 79906,\n\t\"./it-ch\": 34303,\n\t\"./it-ch.js\": 34303,\n\t\"./it.js\": 79906,\n\t\"./ja\": 77105,\n\t\"./ja.js\": 77105,\n\t\"./jv\": 15026,\n\t\"./jv.js\": 15026,\n\t\"./ka\": 67416,\n\t\"./ka.js\": 67416,\n\t\"./kk\": 79734,\n\t\"./kk.js\": 79734,\n\t\"./km\": 60757,\n\t\"./km.js\": 60757,\n\t\"./kn\": 58369,\n\t\"./kn.js\": 58369,\n\t\"./ko\": 77687,\n\t\"./ko.js\": 77687,\n\t\"./ku\": 95544,\n\t\"./ku.js\": 95544,\n\t\"./ky\": 85431,\n\t\"./ky.js\": 85431,\n\t\"./lb\": 13613,\n\t\"./lb.js\": 13613,\n\t\"./lo\": 34252,\n\t\"./lo.js\": 34252,\n\t\"./lt\": 84619,\n\t\"./lt.js\": 84619,\n\t\"./lv\": 93760,\n\t\"./lv.js\": 93760,\n\t\"./me\": 93393,\n\t\"./me.js\": 93393,\n\t\"./mi\": 12369,\n\t\"./mi.js\": 12369,\n\t\"./mk\": 48664,\n\t\"./mk.js\": 48664,\n\t\"./ml\": 23099,\n\t\"./ml.js\": 23099,\n\t\"./mn\": 98539,\n\t\"./mn.js\": 98539,\n\t\"./mr\": 778,\n\t\"./mr.js\": 778,\n\t\"./ms\": 39970,\n\t\"./ms-my\": 82625,\n\t\"./ms-my.js\": 82625,\n\t\"./ms.js\": 39970,\n\t\"./mt\": 15714,\n\t\"./mt.js\": 15714,\n\t\"./my\": 53055,\n\t\"./my.js\": 53055,\n\t\"./nb\": 73945,\n\t\"./nb.js\": 73945,\n\t\"./ne\": 63645,\n\t\"./ne.js\": 63645,\n\t\"./nl\": 4829,\n\t\"./nl-be\": 12823,\n\t\"./nl-be.js\": 12823,\n\t\"./nl.js\": 4829,\n\t\"./nn\": 23756,\n\t\"./nn.js\": 23756,\n\t\"./pa-in\": 97877,\n\t\"./pa-in.js\": 97877,\n\t\"./pl\": 53066,\n\t\"./pl.js\": 53066,\n\t\"./pt\": 28677,\n\t\"./pt-br\": 81592,\n\t\"./pt-br.js\": 81592,\n\t\"./pt.js\": 28677,\n\t\"./ro\": 32722,\n\t\"./ro.js\": 32722,\n\t\"./ru\": 59138,\n\t\"./ru.js\": 59138,\n\t\"./sd\": 32568,\n\t\"./sd.js\": 32568,\n\t\"./se\": 49753,\n\t\"./se.js\": 49753,\n\t\"./si\": 58024,\n\t\"./si.js\": 58024,\n\t\"./sk\": 31058,\n\t\"./sk.js\": 31058,\n\t\"./sl\": 43452,\n\t\"./sl.js\": 43452,\n\t\"./sq\": 2795,\n\t\"./sq.js\": 2795,\n\t\"./sr\": 26976,\n\t\"./sr-cyrl\": 38819,\n\t\"./sr-cyrl.js\": 38819,\n\t\"./sr.js\": 26976,\n\t\"./ss\": 7467,\n\t\"./ss.js\": 7467,\n\t\"./sv\": 42787,\n\t\"./sv.js\": 42787,\n\t\"./sw\": 80298,\n\t\"./sw.js\": 80298,\n\t\"./ta\": 57532,\n\t\"./ta.js\": 57532,\n\t\"./te\": 76076,\n\t\"./te.js\": 76076,\n\t\"./tet\": 40452,\n\t\"./tet.js\": 40452,\n\t\"./tg\": 64794,\n\t\"./tg.js\": 64794,\n\t\"./th\": 48245,\n\t\"./th.js\": 48245,\n\t\"./tl-ph\": 36056,\n\t\"./tl-ph.js\": 36056,\n\t\"./tlh\": 15249,\n\t\"./tlh.js\": 15249,\n\t\"./tr\": 22053,\n\t\"./tr.js\": 22053,\n\t\"./tzl\": 39871,\n\t\"./tzl.js\": 39871,\n\t\"./tzm\": 39574,\n\t\"./tzm-latn\": 19210,\n\t\"./tzm-latn.js\": 19210,\n\t\"./tzm.js\": 39574,\n\t\"./ug-cn\": 91532,\n\t\"./ug-cn.js\": 91532,\n\t\"./uk\": 11432,\n\t\"./uk.js\": 11432,\n\t\"./ur\": 88523,\n\t\"./ur.js\": 88523,\n\t\"./uz\": 54958,\n\t\"./uz-latn\": 68735,\n\t\"./uz-latn.js\": 68735,\n\t\"./uz.js\": 54958,\n\t\"./vi\": 83398,\n\t\"./vi.js\": 83398,\n\t\"./x-pseudo\": 56665,\n\t\"./x-pseudo.js\": 56665,\n\t\"./yo\": 11642,\n\t\"./yo.js\": 11642,\n\t\"./zh-cn\": 5462,\n\t\"./zh-cn.js\": 5462,\n\t\"./zh-hk\": 92530,\n\t\"./zh-hk.js\": 92530,\n\t\"./zh-tw\": 97333,\n\t\"./zh-tw.js\": 97333\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 93365;","<!--\n - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n - @author Georg Ehrke <oc.list@georgehrke.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li>\n\t\t<div class=\"user-status-menu-item\">\n\t\t\t<!-- Username display -->\n\t\t\t<a\n\t\t\t\tv-if=\"!inline\"\n\t\t\t\tclass=\"user-status-menu-item__header\"\n\t\t\t\t:href=\"profilePageLink\"\n\t\t\t\t@click=\"loadProfilePage\">\n\t\t\t\t<div class=\"user-status-menu-item__header-content\">\n\t\t\t\t\t<div class=\"user-status-menu-item__header-content-displayname\">{{ displayName }}</div>\n\t\t\t\t\t<div v-if=\"!loadingProfilePage\" class=\"user-status-menu-item__header-content-placeholder\" />\n\t\t\t\t\t<div v-else class=\"icon-loading-small\" />\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"profileEnabled\">\n\t\t\t\t\t{{ t('user_status', 'View profile') }}\n\t\t\t\t</div>\n\t\t\t</a>\n\n\t\t\t<!-- Status modal toggle -->\n\t\t\t<toggle :is=\"inline ? 'button' : 'a'\"\n\t\t\t\t:class=\"{'user-status-menu-item__toggle--inline': inline}\"\n\t\t\t\tclass=\"user-status-menu-item__toggle\"\n\t\t\t\thref=\"#\"\n\t\t\t\t@click.prevent.stop=\"openModal\">\n\t\t\t\t<span :class=\"statusIcon\" class=\"user-status-menu-item__toggle-icon\" />\n\t\t\t\t{{ visibleMessage }}\n\t\t\t</toggle>\n\t\t</div>\n\n\t\t<!-- Status management modal -->\n\t\t<SetStatusModal\n\t\t\tv-if=\"isModalOpen\"\n\t\t\t@close=\"closeModal\" />\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport debounce from 'debounce'\n\nimport { sendHeartbeat } from './services/heartbeatService'\nimport OnlineStatusMixin from './mixins/OnlineStatusMixin'\n\nconst { profileEnabled } = loadState('user_status', 'profileEnabled', false)\n\nexport default {\n\tname: 'UserStatus',\n\n\tcomponents: {\n\t\tSetStatusModal: () => import(/* webpackChunkName: 'user-status-modal' */'./components/SetStatusModal'),\n\t},\n\tmixins: [OnlineStatusMixin],\n\n\tprops: {\n\t\tinline: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdisplayName: getCurrentUser().displayName,\n\t\t\theartbeatInterval: null,\n\t\t\tisAway: false,\n\t\t\tisModalOpen: false,\n\t\t\tloadingProfilePage: false,\n\t\t\tmouseMoveListener: null,\n\t\t\tprofileEnabled,\n\t\t\tsetAwayTimeout: null,\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * The profile page link\n\t\t *\n\t\t * @return {string | null}\n\t\t */\n\t\tprofilePageLink() {\n\t\t\tif (this.profileEnabled) {\n\t\t\t\treturn generateUrl('/u/{userId}', { userId: getCurrentUser().uid })\n\t\t\t}\n\t\t\t// Since an anchor element is used rather than a button,\n\t\t\t// this hack removes href if the profile is disabled so that disabling pointer-events is not needed to prevent a click from opening a page\n\t\t\t// and to allow the hover event for styling\n\t\t\treturn null\n\t\t},\n\t},\n\n\t/**\n\t * Loads the current user's status from initial state\n\t * and stores it in Vuex\n\t */\n\tmounted() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\n\t\tthis.$store.dispatch('loadStatusFromInitialState')\n\n\t\tif (OC.config.session_keepalive) {\n\t\t\t// Send the latest status to the server every 5 minutes\n\t\t\tthis.heartbeatInterval = setInterval(this._backgroundHeartbeat.bind(this), 1000 * 60 * 5)\n\t\t\tthis.setAwayTimeout = () => {\n\t\t\t\tthis.isAway = true\n\t\t\t}\n\t\t\t// Catch mouse movements, but debounce to once every 30 seconds\n\t\t\tthis.mouseMoveListener = debounce(() => {\n\t\t\t\tconst wasAway = this.isAway\n\t\t\t\tthis.isAway = false\n\t\t\t\t// Reset the two minute counter\n\t\t\t\tclearTimeout(this.setAwayTimeout)\n\t\t\t\t// If the user did not move the mouse within two minutes,\n\t\t\t\t// mark them as away\n\t\t\t\tsetTimeout(this.setAwayTimeout, 1000 * 60 * 2)\n\n\t\t\t\tif (wasAway) {\n\t\t\t\t\tthis._backgroundHeartbeat()\n\t\t\t\t}\n\t\t\t}, 1000 * 2, true)\n\t\t\twindow.addEventListener('mousemove', this.mouseMoveListener, {\n\t\t\t\tcapture: true,\n\t\t\t\tpassive: true,\n\t\t\t})\n\n\t\t\tthis._backgroundHeartbeat()\n\t\t}\n\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t},\n\n\t/**\n\t * Some housekeeping before destroying the component\n\t */\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t\twindow.removeEventListener('mouseMove', this.mouseMoveListener)\n\t\tclearInterval(this.heartbeatInterval)\n\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t},\n\n\tmethods: {\n\t\thandleDisplayNameUpdate(displayName) {\n\t\t\tthis.displayName = displayName\n\t\t},\n\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\n\t\tloadProfilePage() {\n\t\t\tif (this.profileEnabled) {\n\t\t\t\tthis.loadingProfilePage = true\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Opens the modal to set a custom status\n\t\t */\n\t\topenModal() {\n\t\t\tthis.isModalOpen = true\n\t\t},\n\t\t/**\n\t\t * Closes the modal\n\t\t */\n\t\tcloseModal() {\n\t\t\tthis.isModalOpen = false\n\t\t},\n\n\t\t/**\n\t\t * Sends the status heartbeat to the server\n\t\t *\n\t\t * @return {Promise<void>}\n\t\t * @private\n\t\t */\n\t\tasync _backgroundHeartbeat() {\n\t\t\ttry {\n\t\t\t\tconst status = await sendHeartbeat(this.isAway)\n\t\t\t\tif (status?.userId) {\n\t\t\t\t\tthis.$store.dispatch('setStatusFromHeartbeat', status)\n\t\t\t\t} else {\n\t\t\t\t\tawait this.$store.dispatch('reFetchStatusFromServer')\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.debug('Failed sending heartbeat, got: ' + error.response?.status)\n\t\t\t}\n\t\t},\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (OC.getCurrentUser().uid === state.userId) {\n\t\t\t\tthis.$store.dispatch('setStatusFromObject', {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.user-status-menu-item {\n\t&__header {\n\t\tdisplay: flex !important;\n\t\tflex-direction: column !important;\n\t\twidth: auto !important;\n\t\theight: 44px * 1.5 !important;\n\t\tpadding: 10px 12px 5px 12px !important;\n\t\talign-items: flex-start !important;\n\t\tcolor: var(--color-main-text) !important;\n\n\t\t&:not([href]) {\n\t\t\theight: var(--header-menu-item-height) !important;\n\t\t\tcolor: var(--color-text-maxcontrast) !important;\n\t\t\tcursor: default !important;\n\n\t\t\t& * {\n\t\t\t\tcursor: default !important;\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: transparent !important;\n\t\t\t}\n\t\t}\n\n\t\t&-content {\n\t\t\tdisplay: inline-flex !important;\n\t\t\tfont-weight: bold !important;\n\t\t\tgap: 0 10px !important;\n\t\t\twidth: auto;\n\n\t\t\t&-displayname {\n\t\t\t\twidth: auto;\n\t\t\t}\n\n\t\t\t&-placeholder {\n\t\t\t\twidth: 16px !important;\n\t\t\t\theight: 24px !important;\n\t\t\t\tmargin-right: 10px !important;\n\t\t\t\tvisibility: hidden !important;\n\t\t\t}\n\t\t}\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-maxcontrast) !important;\n\t\t}\n\t}\n\n\t&__toggle {\n\t\t&-icon {\n\t\t\twidth: 16px;\n\t\t\theight: 16px;\n\t\t\tmargin-right: 10px;\n\t\t\topacity: 1 !important;\n\t\t\tbackground-size: 16px;\n\t\t}\n\n\t\t// In dashboard\n\t\t&--inline {\n\t\t\twidth: auto;\n\t\t\tmin-width: 44px;\n\t\t\theight: 44px;\n\t\t\tmargin: 0;\n\t\t\tborder: 0;\n\t\t\tborder-radius: var(--border-radius-pill);\n\t\t\tbackground-color: var(--color-background-translucent);\n\t\t\tfont-size: inherit;\n\t\t\tfont-weight: normal;\n\n\t\t\t-webkit-backdrop-filter: var(--background-blur);\n\t\t\tbackdrop-filter: var(--background-blur);\n\n\t\t\t&:active,\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t}\n\t\t}\n\t}\n}\n\nli {\n\tlist-style-type: none;\n}\n\n</style>\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\n/**\n * Sends a heartbeat\n *\n * @param {boolean} isAway Whether or not the user is active\n * @return {Promise<void>}\n */\nconst sendHeartbeat = async (isAway) => {\n\tconst url = generateUrl('/apps/user_status/heartbeat')\n\tconst response = await HttpClient.put(url, {\n\t\tstatus: isAway ? 'away' : 'online',\n\t})\n\treturn response.data\n}\n\nexport {\n\tsendHeartbeat,\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserStatus.vue?vue&type=script&lang=js&\"","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserStatus.vue?vue&type=style&index=0&id=a0c4b32c&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./UserStatus.vue?vue&type=template&id=a0c4b32c&scoped=true&\"\nimport script from \"./UserStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./UserStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserStatus.vue?vue&type=style&index=0&id=a0c4b32c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a0c4b32c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('div',{staticClass:\"user-status-menu-item\"},[(!_vm.inline)?_c('a',{staticClass:\"user-status-menu-item__header\",attrs:{\"href\":_vm.profilePageLink},on:{\"click\":_vm.loadProfilePage}},[_c('div',{staticClass:\"user-status-menu-item__header-content\"},[_c('div',{staticClass:\"user-status-menu-item__header-content-displayname\"},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),(!_vm.loadingProfilePage)?_c('div',{staticClass:\"user-status-menu-item__header-content-placeholder\"}):_c('div',{staticClass:\"icon-loading-small\"})]),_vm._v(\" \"),(_vm.profileEnabled)?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('user_status', 'View profile'))+\"\\n\\t\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c(_vm.inline ? 'button' : 'a',{tag:\"toggle\",staticClass:\"user-status-menu-item__toggle\",class:{'user-status-menu-item__toggle--inline': _vm.inline},attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.openModal.apply(null, arguments)}}},[_c('span',{staticClass:\"user-status-menu-item__toggle-icon\",class:_vm.statusIcon}),_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.visibleMessage)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),(_vm.isModalOpen)?_c('SetStatusModal',{on:{\"close\":_vm.closeModal}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetches all predefined statuses from the server\n *\n * @return {Promise<void>}\n */\nconst fetchAllPredefinedStatuses = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/predefined_statuses?format=json')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\nexport {\n\tfetchAllPredefinedStatuses,\n}\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { fetchAllPredefinedStatuses } from '../services/predefinedStatusService'\n\nconst state = {\n\tpredefinedStatuses: [],\n}\n\nconst mutations = {\n\n\t/**\n\t * Adds a predefined status to the state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} status The status to add\n\t */\n\taddPredefinedStatus(state, status) {\n\t\tstate.predefinedStatuses.push(status)\n\t},\n}\n\nconst getters = {}\n\nconst actions = {\n\n\t/**\n\t * Loads all predefined statuses from the server\n\t *\n\t * @param {object} vuex The Vuex components\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param vuex.state\n\t */\n\tasync loadAllPredefinedStatuses({ state, commit }) {\n\t\tif (state.predefinedStatuses.length > 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst statuses = await fetchAllPredefinedStatuses()\n\t\tfor (const status of statuses) {\n\t\t\tcommit('addPredefinedStatus', status)\n\t\t}\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport {\n\tdateFactory,\n} from './dateService'\nimport moment from '@nextcloud/moment'\n\n/**\n * Calculates the actual clearAt timestamp\n *\n * @param {object | null} clearAt The clear-at config\n * @return {number | null}\n */\nconst getTimestampForClearAt = (clearAt) => {\n\tif (clearAt === null) {\n\t\treturn null\n\t}\n\n\tconst date = dateFactory()\n\n\tif (clearAt.type === 'period') {\n\t\tdate.setSeconds(date.getSeconds() + clearAt.time)\n\t\treturn Math.floor(date.getTime() / 1000)\n\t}\n\tif (clearAt.type === 'end-of') {\n\t\tswitch (clearAt.time) {\n\t\tcase 'day':\n\t\tcase 'week':\n\t\t\treturn Number(moment(date).endOf(clearAt.time).format('X'))\n\t\t}\n\t}\n\t// This is not an officially supported type\n\t// but only used internally to show the remaining time\n\t// in the Set Status Modal\n\tif (clearAt.type === '_time') {\n\t\treturn clearAt.time\n\t}\n\n\treturn null\n}\n\nexport {\n\tgetTimestampForClearAt,\n}\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport {\n\tfetchCurrentStatus,\n\tsetStatus,\n\tsetPredefinedMessage,\n\tsetCustomMessage,\n\tclearMessage,\n} from '../services/statusService'\nimport { loadState } from '@nextcloud/initial-state'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getTimestampForClearAt } from '../services/clearAtService'\nimport { emit } from '@nextcloud/event-bus'\n\nconst state = {\n\t// Status (online / away / dnd / invisible / offline)\n\tstatus: null,\n\t// Whether or not the status is user-defined\n\tstatusIsUserDefined: null,\n\t// A custom message set by the user\n\tmessage: null,\n\t// The icon selected by the user\n\ticon: null,\n\t// When to automatically clean the status\n\tclearAt: null,\n\t// Whether or not the message is predefined\n\t// (and can automatically be translated by Nextcloud)\n\tmessageIsPredefined: null,\n\t// The id of the message in case it's predefined\n\tmessageId: null,\n}\n\nconst mutations = {\n\n\t/**\n\t * Sets a new status\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.statusType The new status type\n\t */\n\tsetStatus(state, { statusType }) {\n\t\tstate.status = statusType\n\t\tstate.statusIsUserDefined = true\n\t},\n\n\t/**\n\t * Sets a message using a predefined message\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.messageId The messageId\n\t * @param {number | null} data.clearAt When to automatically clear the status\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t */\n\tsetPredefinedMessage(state, { messageId, clearAt, message, icon }) {\n\t\tstate.messageId = messageId\n\t\tstate.messageIsPredefined = true\n\n\t\tstate.message = message\n\t\tstate.icon = icon\n\t\tstate.clearAt = clearAt\n\t},\n\n\t/**\n\t * Sets a custom message\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t */\n\tsetCustomMessage(state, { message, icon, clearAt }) {\n\t\tstate.messageId = null\n\t\tstate.messageIsPredefined = false\n\n\t\tstate.message = message\n\t\tstate.icon = icon\n\t\tstate.clearAt = clearAt\n\t},\n\n\t/**\n\t * Clears the status\n\t *\n\t * @param {object} state The Vuex state\n\t */\n\tclearMessage(state) {\n\t\tstate.messageId = null\n\t\tstate.messageIsPredefined = false\n\n\t\tstate.message = null\n\t\tstate.icon = null\n\t\tstate.clearAt = null\n\t},\n\n\t/**\n\t * Loads the status from initial state\n\t *\n\t * @param {object} state The Vuex state\n\t * @param {object} data The destructuring object\n\t * @param {string} data.status The status type\n\t * @param {boolean} data.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {number} data.clearAt When to automatically clear the status\n\t * @param {boolean} data.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} data.messageId The id of the predefined message\n\t */\n\tloadStatusFromServer(state, { status, statusIsUserDefined, message, icon, clearAt, messageIsPredefined, messageId }) {\n\t\tstate.status = status\n\t\tstate.statusIsUserDefined = statusIsUserDefined\n\t\tstate.message = message\n\t\tstate.icon = icon\n\t\tstate.clearAt = clearAt\n\t\tstate.messageIsPredefined = messageIsPredefined\n\t\tstate.messageId = messageId\n\t},\n}\n\nconst getters = {}\n\nconst actions = {\n\n\t/**\n\t * Sets a new status\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.statusType The new status type\n\t * @return {Promise<void>}\n\t */\n\tasync setStatus({ commit, state }, { statusType }) {\n\t\tawait setStatus(statusType)\n\t\tcommit('setStatus', { statusType })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Update status from 'user_status:status.updated' update.\n\t * This doesn't trigger another 'user_status:status.updated'\n\t * event.\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {string} status The new status\n\t * @return {Promise<void>}\n\t */\n\tasync setStatusFromObject({ commit, state }, status) {\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Sets a message using a predefined message\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} vuex.rootState The Vuex root state\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.messageId The messageId\n\t * @param {object | null} data.clearAt When to automatically clear the status\n\t * @return {Promise<void>}\n\t */\n\tasync setPredefinedMessage({ commit, rootState, state }, { messageId, clearAt }) {\n\t\tconst resolvedClearAt = getTimestampForClearAt(clearAt)\n\n\t\tawait setPredefinedMessage(messageId, resolvedClearAt)\n\t\tconst status = rootState.predefinedStatuses.predefinedStatuses.find((status) => status.id === messageId)\n\t\tconst { message, icon } = status\n\n\t\tcommit('setPredefinedMessage', { messageId, clearAt: resolvedClearAt, message, icon })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Sets a custom message\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @param {object} data The data destructuring object\n\t * @param {string} data.message The message\n\t * @param {string} data.icon The icon\n\t * @param {object | null} data.clearAt When to automatically clear the status\n\t * @return {Promise<void>}\n\t */\n\tasync setCustomMessage({ commit, state }, { message, icon, clearAt }) {\n\t\tconst resolvedClearAt = getTimestampForClearAt(clearAt)\n\n\t\tawait setCustomMessage(message, icon, resolvedClearAt)\n\t\tcommit('setCustomMessage', { message, icon, clearAt: resolvedClearAt })\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Clears the status\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} vuex.state The Vuex state object\n\t * @return {Promise<void>}\n\t */\n\tasync clearMessage({ commit, state }) {\n\t\tawait clearMessage()\n\t\tcommit('clearMessage')\n\t\temit('user_status:status.updated', {\n\t\t\tstatus: state.status,\n\t\t\tmessage: state.message,\n\t\t\ticon: state.icon,\n\t\t\tclearAt: state.clearAt,\n\t\t\tuserId: getCurrentUser()?.uid,\n\t\t})\n\t},\n\n\t/**\n\t * Re-fetches the status from the server\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @return {Promise<void>}\n\t */\n\tasync reFetchStatusFromServer({ commit }) {\n\t\tconst status = await fetchCurrentStatus()\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Stores the status we got in the reply of the heartbeat\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t * @param {object} status The data destructuring object\n\t * @param {string} status.status The status type\n\t * @param {boolean} status.statusIsUserDefined Whether or not this status is user-defined\n\t * @param {string} status.message The message\n\t * @param {string} status.icon The icon\n\t * @param {number} status.clearAt When to automatically clear the status\n\t * @param {boolean} status.messageIsPredefined Whether or not the message is predefined\n\t * @param {string} status.messageId The id of the predefined message\n\t * @return {Promise<void>}\n\t */\n\tasync setStatusFromHeartbeat({ commit }, status) {\n\t\tcommit('loadStatusFromServer', status)\n\t},\n\n\t/**\n\t * Loads the server from the initial state\n\t *\n\t * @param {object} vuex The Vuex destructuring object\n\t * @param {Function} vuex.commit The Vuex commit function\n\t */\n\tloadStatusFromInitialState({ commit }) {\n\t\tconst status = loadState('user_status', 'status')\n\t\tcommit('loadStatusFromServer', status)\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport HttpClient from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\n\n/**\n * Fetches the current user-status\n *\n * @return {Promise<object>}\n */\nconst fetchCurrentStatus = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status')\n\tconst response = await HttpClient.get(url)\n\n\treturn response.data.ocs.data\n}\n\n/**\n * Sets the status\n *\n * @param {string} statusType The status (online / away / dnd / invisible)\n * @return {Promise<void>}\n */\nconst setStatus = async (statusType) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/status')\n\tawait HttpClient.put(url, {\n\t\tstatusType,\n\t})\n}\n\n/**\n * Sets a message based on our predefined statuses\n *\n * @param {string} messageId The id of the message, taken from predefined status service\n * @param {number | null} clearAt When to automatically clean the status\n * @return {Promise<void>}\n */\nconst setPredefinedMessage = async (messageId, clearAt = null) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message/predefined?format=json')\n\tawait HttpClient.put(url, {\n\t\tmessageId,\n\t\tclearAt,\n\t})\n}\n\n/**\n * Sets a custom message\n *\n * @param {string} message The user-defined message\n * @param {string | null} statusIcon The user-defined icon\n * @param {number | null} clearAt When to automatically clean the status\n * @return {Promise<void>}\n */\nconst setCustomMessage = async (message, statusIcon = null, clearAt = null) => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message/custom?format=json')\n\tawait HttpClient.put(url, {\n\t\tmessage,\n\t\tstatusIcon,\n\t\tclearAt,\n\t})\n}\n\n/**\n * Clears the current status of the user\n *\n * @return {Promise<void>}\n */\nconst clearMessage = async () => {\n\tconst url = generateOcsUrl('apps/user_status/api/v1/user_status/message?format=json')\n\tawait HttpClient.delete(url)\n}\n\nexport {\n\tfetchCurrentStatus,\n\tsetStatus,\n\tsetCustomMessage,\n\tsetPredefinedMessage,\n\tclearMessage,\n}\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport predefinedStatuses from './predefinedStatuses'\nimport userStatus from './userStatus'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n\tmodules: {\n\t\tpredefinedStatuses,\n\t\tuserStatus,\n\t},\n\tstrict: true,\n})\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport UserStatus from './UserStatus'\nimport store from './store'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\n// Correct the root of the app for chunk loading\n// OC.linkTo matches the apps folders\n// OC.generateUrl ensure the index.php (or not)\n// eslint-disable-next-line\n__webpack_public_path__ = OC.linkTo('user_status', 'js/')\n\nVue.prototype.t = t\nVue.prototype.$t = t\n\nconst avatarDiv = document.getElementById('avatardiv-menu')\nconst propsData = {\n\tpreloadedUserStatus: {\n\t\tmessage: avatarDiv.dataset.userstatus_message,\n\t\ticon: avatarDiv.dataset.userstatus_icon,\n\t\tstatus: avatarDiv.dataset.userstatus,\n\t},\n\tuser: avatarDiv.dataset.user,\n\tdisplayName: avatarDiv.dataset.displayname,\n\turl: avatarDiv.dataset.avatar,\n\tdisableMenu: true,\n\tdisableTooltip: true,\n}\n\nconst AvatarInMenu = Vue.extend(Avatar)\nnew AvatarInMenu({ propsData }).$mount('#avatardiv-menu')\n\n// Register settings menu entry\nexport default new Vue({\n\tel: 'li[data-id=\"user_status-menuitem\"]',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'UserStatusRoot',\n\trender: h => h(UserStatus),\n\tstore,\n})\n\n// Register dashboard status\ndocument.addEventListener('DOMContentLoaded', function() {\n\tif (!OCA.Dashboard) {\n\t\treturn\n\t}\n\n\tOCA.Dashboard.registerStatus('status', (el) => {\n\t\tconst Dashboard = Vue.extend(UserStatus)\n\t\treturn new Dashboard({\n\t\t\tpropsData: {\n\t\t\t\tinline: true,\n\t\t\t},\n\t\t\tstore,\n\t\t}).$mount(el)\n\t})\n})\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { mapState } from 'vuex'\nimport { showError } from '@nextcloud/dialogs'\n\nexport default {\n\tcomputed: {\n\t\t...mapState({\n\t\t\tstatusType: state => state.userStatus.status,\n\t\t\tstatusIsUserDefined: state => state.userStatus.statusIsUserDefined,\n\t\t\tcustomIcon: state => state.userStatus.icon,\n\t\t\tcustomMessage: state => state.userStatus.message,\n\t\t}),\n\n\t\t/**\n\t\t * The message displayed in the top right corner\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tvisibleMessage() {\n\t\t\tif (this.customIcon && this.customMessage) {\n\t\t\t\treturn `${this.customIcon} ${this.customMessage}`\n\t\t\t}\n\n\t\t\tif (this.customMessage) {\n\t\t\t\treturn this.customMessage\n\t\t\t}\n\n\t\t\tif (this.statusIsUserDefined) {\n\t\t\t\tswitch (this.statusType) {\n\t\t\t\tcase 'online':\n\t\t\t\t\treturn this.$t('user_status', 'Online')\n\n\t\t\t\tcase 'away':\n\t\t\t\t\treturn this.$t('user_status', 'Away')\n\n\t\t\t\tcase 'dnd':\n\t\t\t\t\treturn this.$t('user_status', 'Do not disturb')\n\n\t\t\t\tcase 'invisible':\n\t\t\t\t\treturn this.$t('user_status', 'Invisible')\n\n\t\t\t\tcase 'offline':\n\t\t\t\t\treturn this.$t('user_status', 'Offline')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.$t('user_status', 'Set status')\n\t\t},\n\n\t\t/**\n\t\t * The status indicator icon\n\t\t *\n\t\t * @return {string | null}\n\t\t */\n\t\tstatusIcon() {\n\t\t\tswitch (this.statusType) {\n\t\t\tcase 'online':\n\t\t\t\treturn 'icon-user-status-online'\n\n\t\t\tcase 'away':\n\t\t\t\treturn 'icon-user-status-away'\n\n\t\t\tcase 'dnd':\n\t\t\t\treturn 'icon-user-status-dnd'\n\n\t\t\tcase 'invisible':\n\t\t\tcase 'offline':\n\t\t\t\treturn 'icon-user-status-invisible'\n\t\t\t}\n\n\t\t\treturn ''\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Changes the user-status\n\t\t *\n\t\t * @param {string} statusType (online / away / dnd / invisible)\n\t\t */\n\t\tasync changeStatus(statusType) {\n\t\t\ttry {\n\t\t\t\tawait this.$store.dispatch('setStatus', { statusType })\n\t\t\t} catch (err) {\n\t\t\t\tshowError(this.$t('user_status', 'There was an error saving the new status'))\n\t\t\t\tconsole.debug(err)\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst dateFactory = () => {\n\treturn new Date()\n}\n\nexport {\n\tdateFactory,\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-status-menu-item__header[data-v-a0c4b32c]{display:flex !important;flex-direction:column !important;width:auto !important;height:66px !important;padding:10px 12px 5px 12px !important;align-items:flex-start !important;color:var(--color-main-text) !important}.user-status-menu-item__header[data-v-a0c4b32c]:not([href]){height:var(--header-menu-item-height) !important;color:var(--color-text-maxcontrast) !important;cursor:default !important}.user-status-menu-item__header:not([href]) *[data-v-a0c4b32c]{cursor:default !important}.user-status-menu-item__header[data-v-a0c4b32c]:not([href]):hover{background-color:transparent !important}.user-status-menu-item__header-content[data-v-a0c4b32c]{display:inline-flex !important;font-weight:bold !important;gap:0 10px !important;width:auto}.user-status-menu-item__header-content-displayname[data-v-a0c4b32c]{width:auto}.user-status-menu-item__header-content-placeholder[data-v-a0c4b32c]{width:16px !important;height:24px !important;margin-right:10px !important;visibility:hidden !important}.user-status-menu-item__header span[data-v-a0c4b32c]{color:var(--color-text-maxcontrast) !important}.user-status-menu-item__toggle-icon[data-v-a0c4b32c]{width:16px;height:16px;margin-right:10px;opacity:1 !important;background-size:16px}.user-status-menu-item__toggle--inline[data-v-a0c4b32c]{width:auto;min-width:44px;height:44px;margin:0;border:0;border-radius:var(--border-radius-pill);background-color:var(--color-background-translucent);font-size:inherit;font-weight:normal;-webkit-backdrop-filter:var(--background-blur);backdrop-filter:var(--background-blur)}.user-status-menu-item__toggle--inline[data-v-a0c4b32c]:active,.user-status-menu-item__toggle--inline[data-v-a0c4b32c]:hover,.user-status-menu-item__toggle--inline[data-v-a0c4b32c]:focus{background-color:var(--color-background-hover)}li[data-v-a0c4b32c]{list-style-type:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/UserStatus.vue\"],\"names\":[],\"mappings\":\"AAkOC,gDACC,uBAAA,CACA,gCAAA,CACA,qBAAA,CACA,sBAAA,CACA,qCAAA,CACA,iCAAA,CACA,uCAAA,CAEA,4DACC,gDAAA,CACA,8CAAA,CACA,yBAAA,CAEA,8DACC,yBAAA,CAGD,kEACC,uCAAA,CAIF,wDACC,8BAAA,CACA,2BAAA,CACA,qBAAA,CACA,UAAA,CAEA,oEACC,UAAA,CAGD,oEACC,qBAAA,CACA,sBAAA,CACA,4BAAA,CACA,4BAAA,CAIF,qDACC,8CAAA,CAKD,qDACC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,oBAAA,CACA,oBAAA,CAID,wDACC,UAAA,CACA,cAAA,CACA,WAAA,CACA,QAAA,CACA,QAAA,CACA,uCAAA,CACA,oDAAA,CACA,iBAAA,CACA,kBAAA,CAEA,8CAAA,CACA,sCAAA,CAEA,2LAGC,8CAAA,CAMJ,oBACC,oBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.user-status-menu-item {\\n\\t&__header {\\n\\t\\tdisplay: flex !important;\\n\\t\\tflex-direction: column !important;\\n\\t\\twidth: auto !important;\\n\\t\\theight: 44px * 1.5 !important;\\n\\t\\tpadding: 10px 12px 5px 12px !important;\\n\\t\\talign-items: flex-start !important;\\n\\t\\tcolor: var(--color-main-text) !important;\\n\\n\\t\\t&:not([href]) {\\n\\t\\t\\theight: var(--header-menu-item-height) !important;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t\\t\\tcursor: default !important;\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\tcursor: default !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-content {\\n\\t\\t\\tdisplay: inline-flex !important;\\n\\t\\t\\tfont-weight: bold !important;\\n\\t\\t\\tgap: 0 10px !important;\\n\\t\\t\\twidth: auto;\\n\\n\\t\\t\\t&-displayname {\\n\\t\\t\\t\\twidth: auto;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-placeholder {\\n\\t\\t\\t\\twidth: 16px !important;\\n\\t\\t\\t\\theight: 24px !important;\\n\\t\\t\\t\\tmargin-right: 10px !important;\\n\\t\\t\\t\\tvisibility: hidden !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tspan {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__toggle {\\n\\t\\t&-icon {\\n\\t\\t\\twidth: 16px;\\n\\t\\t\\theight: 16px;\\n\\t\\t\\tmargin-right: 10px;\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t\\tbackground-size: 16px;\\n\\t\\t}\\n\\n\\t\\t// In dashboard\\n\\t\\t&--inline {\\n\\t\\t\\twidth: auto;\\n\\t\\t\\tmin-width: 44px;\\n\\t\\t\\theight: 44px;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tborder: 0;\\n\\t\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\t\\tbackground-color: var(--color-background-translucent);\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\tfont-weight: normal;\\n\\n\\t\\t\\t-webkit-backdrop-filter: var(--background-blur);\\n\\t\\t\\tbackdrop-filter: var(--background-blur);\\n\\n\\t\\t\\t&:active,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\nli {\\n\\tlist-style-type: none;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + \"user-status-modal\" + \"-\" + chunkId + \".js?v=\" + \"47800d5f24648164a19e\" + \"\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 613;","__webpack_require__.p = \"/dist/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t613: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [820], () => (__webpack_require__(99753)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","async","url","generateUrl","HttpClient","status","isAway","data","options","_vm","this","_h","$createElement","_c","_self","staticClass","inline","_e","attrs","profilePageLink","on","loadProfilePage","_v","_s","displayName","loadingProfilePage","t","tag","class","$event","preventDefault","stopPropagation","openModal","apply","arguments","statusIcon","visibleMessage","closeModal","state","predefinedStatuses","mutations","addPredefinedStatus","push","getters","actions","commit","length","statuses","generateOcsUrl","ocs","fetchAllPredefinedStatuses","getTimestampForClearAt","clearAt","date","dateFactory","type","setSeconds","getSeconds","time","Math","floor","getTime","Number","moment","endOf","format","statusIsUserDefined","message","icon","messageIsPredefined","messageId","setStatus","statusType","setPredefinedMessage","setCustomMessage","clearMessage","loadStatusFromServer","emit","userId","getCurrentUser","uid","rootState","resolvedClearAt","find","fetchCurrentStatus","loadStatusFromInitialState","loadState","Vue","Vuex","modules","userStatus","strict","__webpack_nonce__","btoa","getRequestToken","__webpack_public_path__","OC","linkTo","avatarDiv","document","getElementById","propsData","preloadedUserStatus","dataset","userstatus_message","userstatus_icon","userstatus","user","displayname","avatar","disableMenu","disableTooltip","Avatar","$mount","el","name","render","h","UserStatus","store","addEventListener","OCA","Dashboard","registerStatus","computed","mapState","customIcon","customMessage","$t","methods","$store","dispatch","err","showError","console","debug","Date","___CSS_LOADER_EXPORT___","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","call","m","amdD","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","key","splice","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","get","f","chunkId","Promise","all","reduce","promises","u","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","p","installedChunks","installedChunkData","promise","reject","error","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file