2025-10-02 05:02:41 -04:00
|
|
|
(()=>{"use strict";var e,s,a,r={33114:(e,t,s)=>{s.d(t,{A:()=>o});var a=s(85168),r=s(53334),n=s(95353),u=s(45369);const o={computed:{...(0,n.aH)({statusType:e=>e.userStatus.status,statusIsUserDefined:e=>e.userStatus.statusIsUserDefined,customIcon:e=>e.userStatus.icon,customMessage:e=>e.userStatus.message}),visibleMessage(){if(this.customIcon&&this.customMessage)return`${this.customIcon} ${this.customMessage}`;if(this.customMessage)return this.customMessage;if(this.statusIsUserDefined)switch(this.statusType){case"online":return(0,r.t)("user_status","Online");case"away":case"busy":return(0,r.t)("user_status","Away");case"dnd":return(0,r.t)("user_status","Do not disturb");case"invisible":return(0,r.t)("user_status","Invisible");case"offline":return(0,r.t)("user_status","Offline")}return(0,r.t)("user_status","Set status")}},methods:{async changeStatus(e){try{await this.$store.dispatch("setStatus",{statusType:e})}catch(e){(0,a.Qg)((0,r.t)("user_status","There was an error saving the new status")),u.v.debug(e)}}}}},45369:(e,t,s)=>{s.d(t,{v:()=>a});const a=(0,s(35947).YK)().detectLogLevel().setApp("user_status").build()},53611:(e,t,s)=>{s.d(t,{A:()=>a.N});var a=s(12318)},61913:(e,t,s)=>{function a(){return new Date}s.d(t,{R:()=>a})},67789:(e,t,s)=>{s.d(t,{A:()=>o});var a=s(71354),r=s.n(a),n=s(76314),u=s.n(n)()(r());u.push([e.id,".user-status-icon[data-v-3ecfc87b]{width:20px;height:20px;margin:calc((var(--default-clickable-area) - 20px)/2);opacity:1 !important;background-size:20px;vertical-align:middle !important}","",{version:3,sources:["webpack://./apps/user_status/src/UserStatus.vue"],names:[],mappings:"AACA,mCACC,UAAA,CACA,WAAA,CACA,qDAAA,CACA,oBAAA,CACA,oBAAA,CACA,gCAAA",sourcesContent:["\n.user-status-icon {\n\twidth: 20px;\n\theight: 20px;\n\tmargin: calc((var(--default-clickable-area) - 20px) / 2); // 20px icon size\n\topacity: 1 !important;\n\tbackground-size: 20px;\n\tvertical-align: middle !important;\n}\n"],sourceRoot:""}]);const o=u},82495:(e,s,a)=>{var r=a(21777),n=a(61338),u=a(85471),o=a(17334),i=a.n(o),c=a(54914),d=a(74095),l=a(1522),m=a(53611),p=a(45369),g=a(33114),f=a(65043),v=a(63814);const h={name:"UserStatus",components:{Fragment:c.F,NcButton:d.A,NcListItem:l.A,NcUserStatusIcon:m.A,SetStatusModal:()=>Promise.all([a.e(4208),a.e(5133)]).then(a.bind(a,25750))},mixins:[g.A],props:{inline:{type:Boolean,default:!1}},data:()=>({heartbeatInterval:null,isAway:!1,isModalOpen:!1,mouseMoveListener:null,setAwayTimeout:null}),mounted(){this.$store.dispatch("loadStatusFromInitialState"),OC.config.session_keepalive&&(this.heartbeatInterval=setInterval(this._backgroundHeartbeat.bind(this),3e5),this.setAwayTimeout=()=>{this.isAway=!0},this.mouseMoveListener=i()(()=>{const e=this.isAway;this.isAway=!1,clearTimeout(this.setAwayTimeout),setTimeout(this.setAwayTimeout,12e4),e&&this._backgroundHeartbeat()},2e3,!0),window.addEventListener("mousemove",this.mouseMoveListener,{capture:!0,passive:!0}),this._backgroundHeartbeat()),(0,n.B1)("user_status:status.updated",this.handleUserStatusUpdated)},beforeDestroy(){window.removeEventListener("mouseMove",this.mouseMoveListener),clearInterval(this.heartbeatInterval),(0,n.al)("user_status:status.updated",this.handleUserStatusUpdated)},methods:{openModal(){this.isModalOpen=!0},closeModal(){this.isModalOpen=!1},async _backgroundHeartbeat(){try{const e=await async function(e){const t=(0,v.KT)("apps/user_status/api/v1/heartbeat?format=json");return(await f.Ay.put(t,{status:e?"away":"online"})).data.ocs.data}(this.isAway);e?.userId?this.$store.dispatch("setStatusFromHeartbeat",e):await this.$store.dispatch("reFetchStatusFromServer")}catch(e){p.v.debug("Failed sending heartbeat, got: "+e.response?.status)}},handleUserStatusUpdated(e){(0,r.HW)()?.uid===e.userId&&this.$store.dispatch("setStatusFromObject",{status:e.status,icon:e.icon,message:e.message})}}};var A=a(85072),y=a.n(A),S=a(97825),b=a.n(S),I=a(77659),w=a.n(I),_=a(55056),M=a.n(_),T=a(10540),C=a.n(T),k=a(41113),O=a.n(k),P=a(67789),F={};F.styleTagTransform=O(),F.setAttributes=M(),F.insert=w().bind(null,"head"),F.domAPI=b(),F.insertStyleEleme
|