From 062a98b2a859d1fdf6d0397bcfe673184b82195e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 12:03:40 +0000 Subject: [PATCH] [web] Rebuild web interface --- htdocs/assets/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/assets/index.js b/htdocs/assets/index.js index 59f5493e..79fdfcdd 100644 --- a/htdocs/assets/index.js +++ b/htdocs/assets/index.js @@ -47,7 +47,7 @@ * vue-router v4.3.0 * (c) 2024 Eduardo San Martin Morote * @license MIT - */const Ns=typeof document<"u";function MT(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const lt=Object.assign;function qu(e,t){const n={};for(const r in t){const s=t[r];n[r]=Kn(s)?s.map(e):e(s)}return n}const Jo=()=>{},Kn=Array.isArray,Gv=/#/g,VT=/&/g,HT=/\//g,UT=/=/g,BT=/\?/g,Kv=/\+/g,jT=/%5B/g,qT=/%5D/g,Zv=/%5E/g,WT=/%60/g,Yv=/%7B/g,GT=/%7C/g,Jv=/%7D/g,KT=/%20/g;function vm(e){return encodeURI(""+e).replace(GT,"|").replace(jT,"[").replace(qT,"]")}function ZT(e){return vm(e).replace(Yv,"{").replace(Jv,"}").replace(Zv,"^")}function Jc(e){return vm(e).replace(Kv,"%2B").replace(KT,"+").replace(Gv,"%23").replace(VT,"%26").replace(WT,"`").replace(Yv,"{").replace(Jv,"}").replace(Zv,"^")}function YT(e){return Jc(e).replace(UT,"%3D")}function JT(e){return vm(e).replace(Gv,"%23").replace(BT,"%3F")}function XT(e){return e==null?"":JT(e).replace(HT,"%2F")}function gi(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const QT=/\/$/,eO=e=>e.replace(QT,"");function Wu(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),s=e(o)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=sO(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:gi(i)}}function tO(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Wp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function nO(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&uo(t.matched[r],n.matched[s])&&Xv(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function uo(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Xv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!rO(e[n],t[n]))return!1;return!0}function rO(e,t){return Kn(e)?Gp(e,t):Kn(t)?Gp(t,e):e===t}function Gp(e,t){return Kn(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function sO(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}var yi;(function(e){e.pop="pop",e.push="push"})(yi||(yi={}));var Xo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Xo||(Xo={}));function oO(e){if(!e)if(Ns){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),eO(e)}const iO=/^[^#]+#/;function aO(e,t){return e.replace(iO,"#")+t}function lO(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const uu=()=>({left:window.scrollX,top:window.scrollY});function uO(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=lO(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Kp(e,t){return(history.state?history.state.position-t:-1)+e}const Xc=new Map;function cO(e,t){Xc.set(e,t)}function dO(e){const t=Xc.get(e);return Xc.delete(e),t}let mO=()=>location.protocol+"//"+location.host;function Qv(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Wp(l,"")}return Wp(n,e)+r+s}function fO(e,t,n,r){let s=[],o=[],i=null;const a=({state:f})=>{const p=Qv(e,location),h=n.value,_=t.value;let b=0;if(f){if(n.value=p,t.value=f,i&&i===h){i=null;return}b=_?f.position-_.position:0}else r(p);s.forEach(w=>{w(n.value,h,{delta:b,type:yi.pop,direction:b?b>0?Xo.forward:Xo.back:Xo.unknown})})};function l(){i=n.value}function c(f){s.push(f);const p=()=>{const h=s.indexOf(f);h>-1&&s.splice(h,1)};return o.push(p),p}function m(){const{history:f}=window;f.state&&f.replaceState(lt({},f.state,{scroll:uu()}),"")}function d(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",m)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",m,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function Zp(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?uu():null}}function pO(e){const{history:t,location:n}=window,r={value:Qv(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,m){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:mO()+e+l;try{t[m?"replaceState":"pushState"](c,"",f),s.value=c}catch(p){console.error(p),n[m?"replace":"assign"](f)}}function i(l,c){const m=lt({},t.state,Zp(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});o(l,m,!0),r.value=l}function a(l,c){const m=lt({},s.value,t.state,{forward:l,scroll:uu()});o(m.current,m,!0);const d=lt({},Zp(r.value,l,null),{position:m.position+1},c);o(l,d,!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function hO(e){e=oO(e);const t=pO(e),n=fO(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=lt({location:"",base:e,go:r,createHref:aO.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function _O(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),hO(e)}function gO(e){return typeof e=="string"||e&&typeof e=="object"}function e1(e){return typeof e=="string"||typeof e=="symbol"}const Tr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},t1=Symbol("");var Yp;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Yp||(Yp={}));function co(e,t){return lt(new Error,{type:e,[t1]:!0},t)}function dr(e,t){return e instanceof Error&&t1 in e&&(t==null||!!(e.type&t))}const Jp="[^/]+?",yO={sensitive:!1,strict:!1,start:!0,end:!0},vO=/[.+*?^${}()[\]/\\]/g;function bO(e,t){const n=lt({},yO,t),r=[];let s=n.start?"^":"";const o=[];for(const c of e){const m=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function CO(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const wO={type:0,value:""},kO=/[a-zA-Z0-9_]/;function xO(e){if(!e)return[[]];if(e==="/")return[[wO]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,c="",m="";function d(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:m,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{i(C)}:Jo}function i(m){if(e1(m)){const d=r.get(m);d&&(r.delete(m),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(m);d>-1&&(n.splice(d,1),m.record.name&&r.delete(m.record.name),m.children.forEach(i),m.alias.forEach(i))}}function a(){return n}function l(m){let d=0;for(;d=0&&(m.record.path!==n[d].record.path||!n1(m,n[d]));)d++;n.splice(d,0,m),m.record.name&&!eh(m)&&r.set(m.record.name,m)}function c(m,d){let f,p={},h,_;if("name"in m&&m.name){if(f=r.get(m.name),!f)throw co(1,{location:m});_=f.record.name,p=lt(Qp(d.params,f.keys.filter(C=>!C.optional).concat(f.parent?f.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),m.params&&Qp(m.params,f.keys.map(C=>C.name))),h=f.stringify(p)}else if(m.path!=null)h=m.path,f=n.find(C=>C.re.test(h)),f&&(p=f.parse(h),_=f.record.name);else{if(f=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!f)throw co(1,{location:m,currentLocation:d});_=f.record.name,p=lt({},d.params,m.params),h=f.stringify(p)}const b=[];let w=f;for(;w;)b.unshift(w.record),w=w.parent;return{name:_,path:h,params:p,matched:b,meta:TO(b)}}return e.forEach(m=>o(m)),{addRoute:o,resolve:c,removeRoute:i,getRoutes:a,getRecordMatcher:s}}function Qp(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function $O(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:AO(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function AO(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function eh(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function TO(e){return e.reduce((t,n)=>lt(t,n.meta),{})}function th(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function n1(e,t){return t.children.some(n=>n===e||n1(e,n))}function OO(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Jc(o)):[r&&Jc(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function DO(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Kn(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const PO=Symbol(""),rh=Symbol(""),bm=Symbol(""),r1=Symbol(""),Qc=Symbol("");function To(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Nr(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const c=f=>{f===!1?l(co(4,{from:n,to:t})):f instanceof Error?l(f):gO(f)?l(co(2,{from:t,to:f})):(i&&r.enterCallbacks[s]===i&&typeof f=="function"&&i.push(f),a())},m=o(()=>e.call(r&&r.instances[s],t,n,c));let d=Promise.resolve(m);e.length<3&&(d=d.then(c)),d.catch(f=>l(f))})}function Gu(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(IO(l)){const m=(l.__vccOpts||l)[t];m&&o.push(Nr(m,n,r,i,a,s))}else{let c=l();o.push(()=>c.then(m=>{if(!m)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const d=MT(m)?m.default:m;i.components[a]=d;const p=(d.__vccOpts||d)[t];return p&&Nr(p,n,r,i,a,s)()}))}}return o}function IO(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function sh(e){const t=jn(bm),n=jn(r1),r=Lt(()=>t.resolve(yn(e.to))),s=Lt(()=>{const{matched:l}=r.value,{length:c}=l,m=l[c-1],d=n.matched;if(!m||!d.length)return-1;const f=d.findIndex(uo.bind(null,m));if(f>-1)return f;const p=oh(l[c-2]);return c>1&&oh(m)===p&&d[d.length-1].path!==p?d.findIndex(uo.bind(null,l[c-2])):f}),o=Lt(()=>s.value>-1&&NO(n.params,r.value.params)),i=Lt(()=>s.value>-1&&s.value===n.matched.length-1&&Xv(n.params,r.value.params));function a(l={}){return LO(l)?t[yn(e.replace)?"replace":"push"](yn(e.to)).catch(Jo):Promise.resolve()}return{route:r,href:Lt(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}const FO=br({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:sh,setup(e,{slots:t}){const n=po(sh(e)),{options:r}=jn(bm),s=Lt(()=>({[ih(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ih(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:tr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),RO=FO;function LO(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function NO(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Kn(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function oh(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ih=(e,t,n)=>e??t??n,MO=br({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=jn(Qc),s=Lt(()=>e.route||r.value),o=jn(rh,0),i=Lt(()=>{let c=yn(o);const{matched:m}=s.value;let d;for(;(d=m[c])&&!d.components;)c++;return c}),a=Lt(()=>s.value.matched[i.value]);qo(rh,Lt(()=>i.value+1)),qo(PO,a),qo(Qc,s);const l=sr();return bn(()=>[l.value,a.value,e.name],([c,m,d],[f,p,h])=>{m&&(m.instances[d]=c,p&&p!==m&&c&&c===f&&(m.leaveGuards.size||(m.leaveGuards=p.leaveGuards),m.updateGuards.size||(m.updateGuards=p.updateGuards))),c&&m&&(!p||!uo(m,p)||!f)&&(m.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=s.value,m=e.name,d=a.value,f=d&&d.components[m];if(!f)return ah(n.default,{Component:f,route:c});const p=d.props[m],h=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=tr(f,lt({},h,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(d.instances[m]=null)},ref:l}));return ah(n.default,{Component:b,route:c})||b}}});function ah(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const VO=MO;function HO(e){const t=SO(e.routes,e),n=e.parseQuery||OO,r=e.stringifyQuery||nh,s=e.history,o=To(),i=To(),a=To(),l=Dd(Tr);let c=Tr;Ns&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const m=qu.bind(null,W=>""+W),d=qu.bind(null,XT),f=qu.bind(null,gi);function p(W,ue){let ie,ge;return e1(W)?(ie=t.getRecordMatcher(W),ge=ue):ge=W,t.addRoute(ge,ie)}function h(W){const ue=t.getRecordMatcher(W);ue&&t.removeRoute(ue)}function _(){return t.getRoutes().map(W=>W.record)}function b(W){return!!t.getRecordMatcher(W)}function w(W,ue){if(ue=lt({},ue||l.value),typeof W=="string"){const O=Wu(n,W,ue.path),H=t.resolve({path:O.path},ue),Y=s.createHref(O.fullPath);return lt(O,H,{params:f(H.params),hash:gi(O.hash),redirectedFrom:void 0,href:Y})}let ie;if(W.path!=null)ie=lt({},W,{path:Wu(n,W.path,ue.path).path});else{const O=lt({},W.params);for(const H in O)O[H]==null&&delete O[H];ie=lt({},W,{params:d(O)}),ue.params=d(ue.params)}const ge=t.resolve(ie,ue),Ve=W.hash||"";ge.params=m(f(ge.params));const Ke=tO(r,lt({},W,{hash:ZT(Ve),path:ge.path})),A=s.createHref(Ke);return lt({fullPath:Ke,hash:Ve,query:r===nh?DO(W.query):W.query||{}},ge,{redirectedFrom:void 0,href:A})}function C(W){return typeof W=="string"?Wu(n,W,l.value.path):lt({},W)}function v(W,ue){if(c!==W)return co(8,{from:ue,to:W})}function z(W){return N(W)}function S(W){return z(lt(C(W),{replace:!0}))}function x(W){const ue=W.matched[W.matched.length-1];if(ue&&ue.redirect){const{redirect:ie}=ue;let ge=typeof ie=="function"?ie(W):ie;return typeof ge=="string"&&(ge=ge.includes("?")||ge.includes("#")?ge=C(ge):{path:ge},ge.params={}),lt({query:W.query,hash:W.hash,params:ge.path!=null?{}:W.params},ge)}}function N(W,ue){const ie=c=w(W),ge=l.value,Ve=W.state,Ke=W.force,A=W.replace===!0,O=x(ie);if(O)return N(lt(C(O),{state:typeof O=="object"?lt({},Ve,O.state):Ve,force:Ke,replace:A}),ue||ie);const H=ie;H.redirectedFrom=ue;let Y;return!Ke&&nO(r,ge,ie)&&(Y=co(16,{to:H,from:ge}),We(ge,ge,!0,!1)),(Y?Promise.resolve(Y):L(H,ge)).catch(K=>dr(K)?dr(K,2)?K:Je(K):oe(K,H,ge)).then(K=>{if(K){if(dr(K,2))return N(lt({replace:A},C(K.to),{state:typeof K.to=="object"?lt({},Ve,K.to.state):Ve,force:Ke}),ue||H)}else K=B(H,ge,!0,A,Ve);return Z(H,ge,K),K})}function D(W,ue){const ie=v(W,ue);return ie?Promise.reject(ie):Promise.resolve()}function P(W){const ue=pt.values().next().value;return ue&&typeof ue.runWithContext=="function"?ue.runWithContext(W):W()}function L(W,ue){let ie;const[ge,Ve,Ke]=UO(W,ue);ie=Gu(ge.reverse(),"beforeRouteLeave",W,ue);for(const O of ge)O.leaveGuards.forEach(H=>{ie.push(Nr(H,W,ue))});const A=D.bind(null,W,ue);return ie.push(A),Ne(ie).then(()=>{ie=[];for(const O of o.list())ie.push(Nr(O,W,ue));return ie.push(A),Ne(ie)}).then(()=>{ie=Gu(Ve,"beforeRouteUpdate",W,ue);for(const O of Ve)O.updateGuards.forEach(H=>{ie.push(Nr(H,W,ue))});return ie.push(A),Ne(ie)}).then(()=>{ie=[];for(const O of Ke)if(O.beforeEnter)if(Kn(O.beforeEnter))for(const H of O.beforeEnter)ie.push(Nr(H,W,ue));else ie.push(Nr(O.beforeEnter,W,ue));return ie.push(A),Ne(ie)}).then(()=>(W.matched.forEach(O=>O.enterCallbacks={}),ie=Gu(Ke,"beforeRouteEnter",W,ue,P),ie.push(A),Ne(ie))).then(()=>{ie=[];for(const O of i.list())ie.push(Nr(O,W,ue));return ie.push(A),Ne(ie)}).catch(O=>dr(O,8)?O:Promise.reject(O))}function Z(W,ue,ie){a.list().forEach(ge=>P(()=>ge(W,ue,ie)))}function B(W,ue,ie,ge,Ve){const Ke=v(W,ue);if(Ke)return Ke;const A=ue===Tr,O=Ns?history.state:{};ie&&(ge||A?s.replace(W.fullPath,lt({scroll:A&&O&&O.scroll},Ve)):s.push(W.fullPath,Ve)),l.value=W,We(W,ue,ie,A),Je()}let q;function X(){q||(q=s.listen((W,ue,ie)=>{if(!ht.listening)return;const ge=w(W),Ve=x(ge);if(Ve){N(lt(Ve,{replace:!0}),ge).catch(Jo);return}c=ge;const Ke=l.value;Ns&&cO(Kp(Ke.fullPath,ie.delta),uu()),L(ge,Ke).catch(A=>dr(A,12)?A:dr(A,2)?(N(A.to,ge).then(O=>{dr(O,20)&&!ie.delta&&ie.type===yi.pop&&s.go(-1,!1)}).catch(Jo),Promise.reject()):(ie.delta&&s.go(-ie.delta,!1),oe(A,ge,Ke))).then(A=>{A=A||B(ge,Ke,!1),A&&(ie.delta&&!dr(A,8)?s.go(-ie.delta,!1):ie.type===yi.pop&&dr(A,20)&&s.go(-1,!1)),Z(ge,Ke,A)}).catch(Jo)}))}let pe=To(),G=To(),re;function oe(W,ue,ie){Je(W);const ge=G.list();return ge.length?ge.forEach(Ve=>Ve(W,ue,ie)):console.error(W),Promise.reject(W)}function Be(){return re&&l.value!==Tr?Promise.resolve():new Promise((W,ue)=>{pe.add([W,ue])})}function Je(W){return re||(re=!W,X(),pe.list().forEach(([ue,ie])=>W?ie(W):ue()),pe.reset()),W}function We(W,ue,ie,ge){const{scrollBehavior:Ve}=e;if(!Ns||!Ve)return Promise.resolve();const Ke=!ie&&dO(Kp(W.fullPath,0))||(ge||!ie)&&history.state&&history.state.scroll||null;return ho().then(()=>Ve(W,ue,Ke)).then(A=>A&&uO(A)).catch(A=>oe(A,W,ue))}const Ue=W=>s.go(W);let dt;const pt=new Set,ht={currentRoute:l,listening:!0,addRoute:p,removeRoute:h,hasRoute:b,getRoutes:_,resolve:w,options:e,push:z,replace:S,go:Ue,back:()=>Ue(-1),forward:()=>Ue(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:G.add,isReady:Be,install(W){const ue=this;W.component("RouterLink",RO),W.component("RouterView",VO),W.config.globalProperties.$router=ue,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>yn(l)}),Ns&&!dt&&l.value===Tr&&(dt=!0,z(s.location).catch(Ve=>{}));const ie={};for(const Ve in Tr)Object.defineProperty(ie,Ve,{get:()=>l.value[Ve],enumerable:!0});W.provide(bm,ue),W.provide(r1,Ed(ie)),W.provide(Qc,l);const ge=W.unmount;pt.add(W),W.unmount=function(){pt.delete(W),pt.size<1&&(c=Tr,q&&q(),q=null,l.value=Tr,dt=!1,re=!1),ge()}}};function Ne(W){return W.reduce((ue,ie)=>ue.then(()=>P(ie)),Promise.resolve())}return ht}function UO(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iuo(c,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>uo(c,l))||s.push(l))}return[n,r,s]}const BO={name:"PageAbout",computed:{config(){return this.$store.state.config},library(){return this.$store.state.library}},methods:{showUpdateDialog(){this.$store.commit(zi,!0)}}},jO={class:"section"},qO={class:"container"},WO={class:"columns is-centered"},GO={class:"column is-four-fifths has-text-centered-mobile"},KO=["textContent"],ZO={class:"section"},YO={class:"container"},JO={class:"columns is-centered"},XO={class:"column is-four-fifths"},QO={class:"content"},e3={class:"level is-mobile"},t3={class:"level-left"},n3={class:"level-item"},r3=["textContent"],s3={class:"level-right"},o3={key:0},i3=["textContent"],a3={key:1},l3=["textContent"],u3={class:"table"},c3=["textContent"],d3=["textContent"],m3=["textContent"],f3=["textContent"],p3=["textContent"],h3=["textContent"],_3=["textContent"],g3=["textContent"],y3=["textContent"],v3={class:"has-text-right"},b3=["textContent"],z3=["textContent"],C3=["textContent"],w3={class:"has-text-right"},k3=["textContent"],x3=["textContent"],E3={class:"section"},S3={class:"container"},$3={class:"columns is-centered"},A3={class:"column is-four-fifths"},T3={class:"content has-text-centered-mobile"},O3=["textContent"],D3=["textContent"],P3=u("a",{href:"https://bulma.io"},"Bulma",-1),I3=u("a",{href:"https://pictogrammers.com/library/mdi/"},"Material Design Icons",-1),F3=u("a",{href:"https://vuejs.org/"},"Vue.js",-1),R3=u("a",{href:"https://github.com/mzabriskie/axios"},"axios",-1),L3=["textContent"];function N3(e,t,n,r,s,o){const i=$("i18n-t");return k(),T("div",null,[u("section",jO,[u("div",qO,[u("div",WO,[u("div",GO,[u("h1",{class:"title is-4",textContent:g(o.config.library_name)},null,8,KO)])])])]),u("section",ZO,[u("div",YO,[u("div",JO,[u("div",XO,[u("div",QO,[u("nav",e3,[u("div",t3,[u("div",n3,[u("p",{class:"title is-5",textContent:g(e.$t("page.about.library"))},null,8,r3)])]),u("div",s3,[o.library.updating?(k(),T("div",o3,[u("a",{class:"button is-small is-loading",textContent:g(e.$t("page.about.update"))},null,8,i3)])):(k(),T("div",a3,[u("a",{class:"button is-small",onClick:t[0]||(t[0]=a=>o.showUpdateDialog()),textContent:g(e.$t("page.about.update"))},null,8,l3)]))])]),u("table",u3,[u("tbody",null,[u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.artists"))},null,8,c3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.artists))},null,8,d3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.albums"))},null,8,m3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.albums))},null,8,f3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.tracks"))},null,8,p3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.songs))},null,8,h3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.total-playtime"))},null,8,_3),u("td",{class:"has-text-right",textContent:g(e.$filters.durationInDays(o.library.db_playtime*1e3))},null,8,g3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.updated"))},null,8,y3),u("td",v3,[u("span",{textContent:g(e.$t("page.about.updated-on",{time:e.$filters.timeFromNow(o.library.updated_at)}))},null,8,b3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.updated_at))},null,8,z3),gt(") ")])]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.uptime"))},null,8,C3),u("td",w3,[u("span",{textContent:g(e.$filters.timeFromNow(o.library.started_at,!0))},null,8,k3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.started_at))},null,8,x3),gt(") ")])])])])])])])])]),u("section",E3,[u("div",S3,[u("div",$3,[u("div",A3,[u("div",T3,[u("p",{class:"is-size-7",textContent:g(e.$t("page.about.version",{version:o.config.version}))},null,8,O3),u("p",{class:"is-size-7",textContent:g(e.$t("page.about.compiled-with",{options:o.config.buildoptions.join(", ")}))},null,8,D3),y(i,{tag:"p",class:"is-size-7",keypath:"page.about.built-with",scope:"global"},{bulma:E(()=>[P3]),mdi:E(()=>[I3]),vuejs:E(()=>[F3]),axios:E(()=>[R3]),others:E(()=>[u("a",{href:"https://github.com/owntone/owntone-server/network/dependencies",textContent:g(e.$t("page.about.more"))},null,8,L3)]),_:1})])])])])])])}const M3=te(BO,[["render",N3]]),V3={},H3={class:"hero is-light"},U3={class:"hero-body"},B3={class:"container"},j3={class:"columns is-centered"},q3={class:"column is-four-fifths"},W3={class:"columns is-flex-direction-row-reverse"},G3={class:"column fd-has-cover"},K3={class:"column m-auto is-three-fifths has-text-centered-mobile"},Z3={class:"section pt-0"},Y3={class:"container"},J3={class:"columns is-centered"},X3={class:"column is-four-fifths"};function Q3(e,t){return k(),T(we,null,[u("section",H3,[u("div",U3,[u("div",B3,[u("div",j3,[u("div",q3,[u("div",W3,[u("div",G3,[it(e.$slots,"heading-right")]),u("div",K3,[it(e.$slots,"heading-left")])])])])])])]),u("section",Z3,[u("div",Y3,[u("div",J3,[u("div",X3,[it(e.$slots,"content"),it(e.$slots,"footer")])])])])],64)}const cu=te(V3,[["render",Q3]]);var s1={exports:{}},e4=[{value:"#B0171F",name:"indian red"},{value:"#DC143C",css:!0,name:"crimson"},{value:"#FFB6C1",css:!0,name:"lightpink"},{value:"#FFAEB9",name:"lightpink 1"},{value:"#EEA2AD",name:"lightpink 2"},{value:"#CD8C95",name:"lightpink 3"},{value:"#8B5F65",name:"lightpink 4"},{value:"#FFC0CB",css:!0,name:"pink"},{value:"#FFB5C5",name:"pink 1"},{value:"#EEA9B8",name:"pink 2"},{value:"#CD919E",name:"pink 3"},{value:"#8B636C",name:"pink 4"},{value:"#DB7093",css:!0,name:"palevioletred"},{value:"#FF82AB",name:"palevioletred 1"},{value:"#EE799F",name:"palevioletred 2"},{value:"#CD6889",name:"palevioletred 3"},{value:"#8B475D",name:"palevioletred 4"},{value:"#FFF0F5",name:"lavenderblush 1"},{value:"#FFF0F5",css:!0,name:"lavenderblush"},{value:"#EEE0E5",name:"lavenderblush 2"},{value:"#CDC1C5",name:"lavenderblush 3"},{value:"#8B8386",name:"lavenderblush 4"},{value:"#FF3E96",name:"violetred 1"},{value:"#EE3A8C",name:"violetred 2"},{value:"#CD3278",name:"violetred 3"},{value:"#8B2252",name:"violetred 4"},{value:"#FF69B4",css:!0,name:"hotpink"},{value:"#FF6EB4",name:"hotpink 1"},{value:"#EE6AA7",name:"hotpink 2"},{value:"#CD6090",name:"hotpink 3"},{value:"#8B3A62",name:"hotpink 4"},{value:"#872657",name:"raspberry"},{value:"#FF1493",name:"deeppink 1"},{value:"#FF1493",css:!0,name:"deeppink"},{value:"#EE1289",name:"deeppink 2"},{value:"#CD1076",name:"deeppink 3"},{value:"#8B0A50",name:"deeppink 4"},{value:"#FF34B3",name:"maroon 1"},{value:"#EE30A7",name:"maroon 2"},{value:"#CD2990",name:"maroon 3"},{value:"#8B1C62",name:"maroon 4"},{value:"#C71585",css:!0,name:"mediumvioletred"},{value:"#D02090",name:"violetred"},{value:"#DA70D6",css:!0,name:"orchid"},{value:"#FF83FA",name:"orchid 1"},{value:"#EE7AE9",name:"orchid 2"},{value:"#CD69C9",name:"orchid 3"},{value:"#8B4789",name:"orchid 4"},{value:"#D8BFD8",css:!0,name:"thistle"},{value:"#FFE1FF",name:"thistle 1"},{value:"#EED2EE",name:"thistle 2"},{value:"#CDB5CD",name:"thistle 3"},{value:"#8B7B8B",name:"thistle 4"},{value:"#FFBBFF",name:"plum 1"},{value:"#EEAEEE",name:"plum 2"},{value:"#CD96CD",name:"plum 3"},{value:"#8B668B",name:"plum 4"},{value:"#DDA0DD",css:!0,name:"plum"},{value:"#EE82EE",css:!0,name:"violet"},{value:"#FF00FF",vga:!0,name:"magenta"},{value:"#FF00FF",vga:!0,css:!0,name:"fuchsia"},{value:"#EE00EE",name:"magenta 2"},{value:"#CD00CD",name:"magenta 3"},{value:"#8B008B",name:"magenta 4"},{value:"#8B008B",css:!0,name:"darkmagenta"},{value:"#800080",vga:!0,css:!0,name:"purple"},{value:"#BA55D3",css:!0,name:"mediumorchid"},{value:"#E066FF",name:"mediumorchid 1"},{value:"#D15FEE",name:"mediumorchid 2"},{value:"#B452CD",name:"mediumorchid 3"},{value:"#7A378B",name:"mediumorchid 4"},{value:"#9400D3",css:!0,name:"darkviolet"},{value:"#9932CC",css:!0,name:"darkorchid"},{value:"#BF3EFF",name:"darkorchid 1"},{value:"#B23AEE",name:"darkorchid 2"},{value:"#9A32CD",name:"darkorchid 3"},{value:"#68228B",name:"darkorchid 4"},{value:"#4B0082",css:!0,name:"indigo"},{value:"#8A2BE2",css:!0,name:"blueviolet"},{value:"#9B30FF",name:"purple 1"},{value:"#912CEE",name:"purple 2"},{value:"#7D26CD",name:"purple 3"},{value:"#551A8B",name:"purple 4"},{value:"#9370DB",css:!0,name:"mediumpurple"},{value:"#AB82FF",name:"mediumpurple 1"},{value:"#9F79EE",name:"mediumpurple 2"},{value:"#8968CD",name:"mediumpurple 3"},{value:"#5D478B",name:"mediumpurple 4"},{value:"#483D8B",css:!0,name:"darkslateblue"},{value:"#8470FF",name:"lightslateblue"},{value:"#7B68EE",css:!0,name:"mediumslateblue"},{value:"#6A5ACD",css:!0,name:"slateblue"},{value:"#836FFF",name:"slateblue 1"},{value:"#7A67EE",name:"slateblue 2"},{value:"#6959CD",name:"slateblue 3"},{value:"#473C8B",name:"slateblue 4"},{value:"#F8F8FF",css:!0,name:"ghostwhite"},{value:"#E6E6FA",css:!0,name:"lavender"},{value:"#0000FF",vga:!0,css:!0,name:"blue"},{value:"#0000EE",name:"blue 2"},{value:"#0000CD",name:"blue 3"},{value:"#0000CD",css:!0,name:"mediumblue"},{value:"#00008B",name:"blue 4"},{value:"#00008B",css:!0,name:"darkblue"},{value:"#000080",vga:!0,css:!0,name:"navy"},{value:"#191970",css:!0,name:"midnightblue"},{value:"#3D59AB",name:"cobalt"},{value:"#4169E1",css:!0,name:"royalblue"},{value:"#4876FF",name:"royalblue 1"},{value:"#436EEE",name:"royalblue 2"},{value:"#3A5FCD",name:"royalblue 3"},{value:"#27408B",name:"royalblue 4"},{value:"#6495ED",css:!0,name:"cornflowerblue"},{value:"#B0C4DE",css:!0,name:"lightsteelblue"},{value:"#CAE1FF",name:"lightsteelblue 1"},{value:"#BCD2EE",name:"lightsteelblue 2"},{value:"#A2B5CD",name:"lightsteelblue 3"},{value:"#6E7B8B",name:"lightsteelblue 4"},{value:"#778899",css:!0,name:"lightslategray"},{value:"#708090",css:!0,name:"slategray"},{value:"#C6E2FF",name:"slategray 1"},{value:"#B9D3EE",name:"slategray 2"},{value:"#9FB6CD",name:"slategray 3"},{value:"#6C7B8B",name:"slategray 4"},{value:"#1E90FF",name:"dodgerblue 1"},{value:"#1E90FF",css:!0,name:"dodgerblue"},{value:"#1C86EE",name:"dodgerblue 2"},{value:"#1874CD",name:"dodgerblue 3"},{value:"#104E8B",name:"dodgerblue 4"},{value:"#F0F8FF",css:!0,name:"aliceblue"},{value:"#4682B4",css:!0,name:"steelblue"},{value:"#63B8FF",name:"steelblue 1"},{value:"#5CACEE",name:"steelblue 2"},{value:"#4F94CD",name:"steelblue 3"},{value:"#36648B",name:"steelblue 4"},{value:"#87CEFA",css:!0,name:"lightskyblue"},{value:"#B0E2FF",name:"lightskyblue 1"},{value:"#A4D3EE",name:"lightskyblue 2"},{value:"#8DB6CD",name:"lightskyblue 3"},{value:"#607B8B",name:"lightskyblue 4"},{value:"#87CEFF",name:"skyblue 1"},{value:"#7EC0EE",name:"skyblue 2"},{value:"#6CA6CD",name:"skyblue 3"},{value:"#4A708B",name:"skyblue 4"},{value:"#87CEEB",css:!0,name:"skyblue"},{value:"#00BFFF",name:"deepskyblue 1"},{value:"#00BFFF",css:!0,name:"deepskyblue"},{value:"#00B2EE",name:"deepskyblue 2"},{value:"#009ACD",name:"deepskyblue 3"},{value:"#00688B",name:"deepskyblue 4"},{value:"#33A1C9",name:"peacock"},{value:"#ADD8E6",css:!0,name:"lightblue"},{value:"#BFEFFF",name:"lightblue 1"},{value:"#B2DFEE",name:"lightblue 2"},{value:"#9AC0CD",name:"lightblue 3"},{value:"#68838B",name:"lightblue 4"},{value:"#B0E0E6",css:!0,name:"powderblue"},{value:"#98F5FF",name:"cadetblue 1"},{value:"#8EE5EE",name:"cadetblue 2"},{value:"#7AC5CD",name:"cadetblue 3"},{value:"#53868B",name:"cadetblue 4"},{value:"#00F5FF",name:"turquoise 1"},{value:"#00E5EE",name:"turquoise 2"},{value:"#00C5CD",name:"turquoise 3"},{value:"#00868B",name:"turquoise 4"},{value:"#5F9EA0",css:!0,name:"cadetblue"},{value:"#00CED1",css:!0,name:"darkturquoise"},{value:"#F0FFFF",name:"azure 1"},{value:"#F0FFFF",css:!0,name:"azure"},{value:"#E0EEEE",name:"azure 2"},{value:"#C1CDCD",name:"azure 3"},{value:"#838B8B",name:"azure 4"},{value:"#E0FFFF",name:"lightcyan 1"},{value:"#E0FFFF",css:!0,name:"lightcyan"},{value:"#D1EEEE",name:"lightcyan 2"},{value:"#B4CDCD",name:"lightcyan 3"},{value:"#7A8B8B",name:"lightcyan 4"},{value:"#BBFFFF",name:"paleturquoise 1"},{value:"#AEEEEE",name:"paleturquoise 2"},{value:"#AEEEEE",css:!0,name:"paleturquoise"},{value:"#96CDCD",name:"paleturquoise 3"},{value:"#668B8B",name:"paleturquoise 4"},{value:"#2F4F4F",css:!0,name:"darkslategray"},{value:"#97FFFF",name:"darkslategray 1"},{value:"#8DEEEE",name:"darkslategray 2"},{value:"#79CDCD",name:"darkslategray 3"},{value:"#528B8B",name:"darkslategray 4"},{value:"#00FFFF",name:"cyan"},{value:"#00FFFF",css:!0,name:"aqua"},{value:"#00EEEE",name:"cyan 2"},{value:"#00CDCD",name:"cyan 3"},{value:"#008B8B",name:"cyan 4"},{value:"#008B8B",css:!0,name:"darkcyan"},{value:"#008080",vga:!0,css:!0,name:"teal"},{value:"#48D1CC",css:!0,name:"mediumturquoise"},{value:"#20B2AA",css:!0,name:"lightseagreen"},{value:"#03A89E",name:"manganeseblue"},{value:"#40E0D0",css:!0,name:"turquoise"},{value:"#808A87",name:"coldgrey"},{value:"#00C78C",name:"turquoiseblue"},{value:"#7FFFD4",name:"aquamarine 1"},{value:"#7FFFD4",css:!0,name:"aquamarine"},{value:"#76EEC6",name:"aquamarine 2"},{value:"#66CDAA",name:"aquamarine 3"},{value:"#66CDAA",css:!0,name:"mediumaquamarine"},{value:"#458B74",name:"aquamarine 4"},{value:"#00FA9A",css:!0,name:"mediumspringgreen"},{value:"#F5FFFA",css:!0,name:"mintcream"},{value:"#00FF7F",css:!0,name:"springgreen"},{value:"#00EE76",name:"springgreen 1"},{value:"#00CD66",name:"springgreen 2"},{value:"#008B45",name:"springgreen 3"},{value:"#3CB371",css:!0,name:"mediumseagreen"},{value:"#54FF9F",name:"seagreen 1"},{value:"#4EEE94",name:"seagreen 2"},{value:"#43CD80",name:"seagreen 3"},{value:"#2E8B57",name:"seagreen 4"},{value:"#2E8B57",css:!0,name:"seagreen"},{value:"#00C957",name:"emeraldgreen"},{value:"#BDFCC9",name:"mint"},{value:"#3D9140",name:"cobaltgreen"},{value:"#F0FFF0",name:"honeydew 1"},{value:"#F0FFF0",css:!0,name:"honeydew"},{value:"#E0EEE0",name:"honeydew 2"},{value:"#C1CDC1",name:"honeydew 3"},{value:"#838B83",name:"honeydew 4"},{value:"#8FBC8F",css:!0,name:"darkseagreen"},{value:"#C1FFC1",name:"darkseagreen 1"},{value:"#B4EEB4",name:"darkseagreen 2"},{value:"#9BCD9B",name:"darkseagreen 3"},{value:"#698B69",name:"darkseagreen 4"},{value:"#98FB98",css:!0,name:"palegreen"},{value:"#9AFF9A",name:"palegreen 1"},{value:"#90EE90",name:"palegreen 2"},{value:"#90EE90",css:!0,name:"lightgreen"},{value:"#7CCD7C",name:"palegreen 3"},{value:"#548B54",name:"palegreen 4"},{value:"#32CD32",css:!0,name:"limegreen"},{value:"#228B22",css:!0,name:"forestgreen"},{value:"#00FF00",vga:!0,name:"green 1"},{value:"#00FF00",vga:!0,css:!0,name:"lime"},{value:"#00EE00",name:"green 2"},{value:"#00CD00",name:"green 3"},{value:"#008B00",name:"green 4"},{value:"#008000",vga:!0,css:!0,name:"green"},{value:"#006400",css:!0,name:"darkgreen"},{value:"#308014",name:"sapgreen"},{value:"#7CFC00",css:!0,name:"lawngreen"},{value:"#7FFF00",name:"chartreuse 1"},{value:"#7FFF00",css:!0,name:"chartreuse"},{value:"#76EE00",name:"chartreuse 2"},{value:"#66CD00",name:"chartreuse 3"},{value:"#458B00",name:"chartreuse 4"},{value:"#ADFF2F",css:!0,name:"greenyellow"},{value:"#CAFF70",name:"darkolivegreen 1"},{value:"#BCEE68",name:"darkolivegreen 2"},{value:"#A2CD5A",name:"darkolivegreen 3"},{value:"#6E8B3D",name:"darkolivegreen 4"},{value:"#556B2F",css:!0,name:"darkolivegreen"},{value:"#6B8E23",css:!0,name:"olivedrab"},{value:"#C0FF3E",name:"olivedrab 1"},{value:"#B3EE3A",name:"olivedrab 2"},{value:"#9ACD32",name:"olivedrab 3"},{value:"#9ACD32",css:!0,name:"yellowgreen"},{value:"#698B22",name:"olivedrab 4"},{value:"#FFFFF0",name:"ivory 1"},{value:"#FFFFF0",css:!0,name:"ivory"},{value:"#EEEEE0",name:"ivory 2"},{value:"#CDCDC1",name:"ivory 3"},{value:"#8B8B83",name:"ivory 4"},{value:"#F5F5DC",css:!0,name:"beige"},{value:"#FFFFE0",name:"lightyellow 1"},{value:"#FFFFE0",css:!0,name:"lightyellow"},{value:"#EEEED1",name:"lightyellow 2"},{value:"#CDCDB4",name:"lightyellow 3"},{value:"#8B8B7A",name:"lightyellow 4"},{value:"#FAFAD2",css:!0,name:"lightgoldenrodyellow"},{value:"#FFFF00",vga:!0,name:"yellow 1"},{value:"#FFFF00",vga:!0,css:!0,name:"yellow"},{value:"#EEEE00",name:"yellow 2"},{value:"#CDCD00",name:"yellow 3"},{value:"#8B8B00",name:"yellow 4"},{value:"#808069",name:"warmgrey"},{value:"#808000",vga:!0,css:!0,name:"olive"},{value:"#BDB76B",css:!0,name:"darkkhaki"},{value:"#FFF68F",name:"khaki 1"},{value:"#EEE685",name:"khaki 2"},{value:"#CDC673",name:"khaki 3"},{value:"#8B864E",name:"khaki 4"},{value:"#F0E68C",css:!0,name:"khaki"},{value:"#EEE8AA",css:!0,name:"palegoldenrod"},{value:"#FFFACD",name:"lemonchiffon 1"},{value:"#FFFACD",css:!0,name:"lemonchiffon"},{value:"#EEE9BF",name:"lemonchiffon 2"},{value:"#CDC9A5",name:"lemonchiffon 3"},{value:"#8B8970",name:"lemonchiffon 4"},{value:"#FFEC8B",name:"lightgoldenrod 1"},{value:"#EEDC82",name:"lightgoldenrod 2"},{value:"#CDBE70",name:"lightgoldenrod 3"},{value:"#8B814C",name:"lightgoldenrod 4"},{value:"#E3CF57",name:"banana"},{value:"#FFD700",name:"gold 1"},{value:"#FFD700",css:!0,name:"gold"},{value:"#EEC900",name:"gold 2"},{value:"#CDAD00",name:"gold 3"},{value:"#8B7500",name:"gold 4"},{value:"#FFF8DC",name:"cornsilk 1"},{value:"#FFF8DC",css:!0,name:"cornsilk"},{value:"#EEE8CD",name:"cornsilk 2"},{value:"#CDC8B1",name:"cornsilk 3"},{value:"#8B8878",name:"cornsilk 4"},{value:"#DAA520",css:!0,name:"goldenrod"},{value:"#FFC125",name:"goldenrod 1"},{value:"#EEB422",name:"goldenrod 2"},{value:"#CD9B1D",name:"goldenrod 3"},{value:"#8B6914",name:"goldenrod 4"},{value:"#B8860B",css:!0,name:"darkgoldenrod"},{value:"#FFB90F",name:"darkgoldenrod 1"},{value:"#EEAD0E",name:"darkgoldenrod 2"},{value:"#CD950C",name:"darkgoldenrod 3"},{value:"#8B6508",name:"darkgoldenrod 4"},{value:"#FFA500",name:"orange 1"},{value:"#FF8000",css:!0,name:"orange"},{value:"#EE9A00",name:"orange 2"},{value:"#CD8500",name:"orange 3"},{value:"#8B5A00",name:"orange 4"},{value:"#FFFAF0",css:!0,name:"floralwhite"},{value:"#FDF5E6",css:!0,name:"oldlace"},{value:"#F5DEB3",css:!0,name:"wheat"},{value:"#FFE7BA",name:"wheat 1"},{value:"#EED8AE",name:"wheat 2"},{value:"#CDBA96",name:"wheat 3"},{value:"#8B7E66",name:"wheat 4"},{value:"#FFE4B5",css:!0,name:"moccasin"},{value:"#FFEFD5",css:!0,name:"papayawhip"},{value:"#FFEBCD",css:!0,name:"blanchedalmond"},{value:"#FFDEAD",name:"navajowhite 1"},{value:"#FFDEAD",css:!0,name:"navajowhite"},{value:"#EECFA1",name:"navajowhite 2"},{value:"#CDB38B",name:"navajowhite 3"},{value:"#8B795E",name:"navajowhite 4"},{value:"#FCE6C9",name:"eggshell"},{value:"#D2B48C",css:!0,name:"tan"},{value:"#9C661F",name:"brick"},{value:"#FF9912",name:"cadmiumyellow"},{value:"#FAEBD7",css:!0,name:"antiquewhite"},{value:"#FFEFDB",name:"antiquewhite 1"},{value:"#EEDFCC",name:"antiquewhite 2"},{value:"#CDC0B0",name:"antiquewhite 3"},{value:"#8B8378",name:"antiquewhite 4"},{value:"#DEB887",css:!0,name:"burlywood"},{value:"#FFD39B",name:"burlywood 1"},{value:"#EEC591",name:"burlywood 2"},{value:"#CDAA7D",name:"burlywood 3"},{value:"#8B7355",name:"burlywood 4"},{value:"#FFE4C4",name:"bisque 1"},{value:"#FFE4C4",css:!0,name:"bisque"},{value:"#EED5B7",name:"bisque 2"},{value:"#CDB79E",name:"bisque 3"},{value:"#8B7D6B",name:"bisque 4"},{value:"#E3A869",name:"melon"},{value:"#ED9121",name:"carrot"},{value:"#FF8C00",css:!0,name:"darkorange"},{value:"#FF7F00",name:"darkorange 1"},{value:"#EE7600",name:"darkorange 2"},{value:"#CD6600",name:"darkorange 3"},{value:"#8B4500",name:"darkorange 4"},{value:"#FFA54F",name:"tan 1"},{value:"#EE9A49",name:"tan 2"},{value:"#CD853F",name:"tan 3"},{value:"#CD853F",css:!0,name:"peru"},{value:"#8B5A2B",name:"tan 4"},{value:"#FAF0E6",css:!0,name:"linen"},{value:"#FFDAB9",name:"peachpuff 1"},{value:"#FFDAB9",css:!0,name:"peachpuff"},{value:"#EECBAD",name:"peachpuff 2"},{value:"#CDAF95",name:"peachpuff 3"},{value:"#8B7765",name:"peachpuff 4"},{value:"#FFF5EE",name:"seashell 1"},{value:"#FFF5EE",css:!0,name:"seashell"},{value:"#EEE5DE",name:"seashell 2"},{value:"#CDC5BF",name:"seashell 3"},{value:"#8B8682",name:"seashell 4"},{value:"#F4A460",css:!0,name:"sandybrown"},{value:"#C76114",name:"rawsienna"},{value:"#D2691E",css:!0,name:"chocolate"},{value:"#FF7F24",name:"chocolate 1"},{value:"#EE7621",name:"chocolate 2"},{value:"#CD661D",name:"chocolate 3"},{value:"#8B4513",name:"chocolate 4"},{value:"#8B4513",css:!0,name:"saddlebrown"},{value:"#292421",name:"ivoryblack"},{value:"#FF7D40",name:"flesh"},{value:"#FF6103",name:"cadmiumorange"},{value:"#8A360F",name:"burntsienna"},{value:"#A0522D",css:!0,name:"sienna"},{value:"#FF8247",name:"sienna 1"},{value:"#EE7942",name:"sienna 2"},{value:"#CD6839",name:"sienna 3"},{value:"#8B4726",name:"sienna 4"},{value:"#FFA07A",name:"lightsalmon 1"},{value:"#FFA07A",css:!0,name:"lightsalmon"},{value:"#EE9572",name:"lightsalmon 2"},{value:"#CD8162",name:"lightsalmon 3"},{value:"#8B5742",name:"lightsalmon 4"},{value:"#FF7F50",css:!0,name:"coral"},{value:"#FF4500",name:"orangered 1"},{value:"#FF4500",css:!0,name:"orangered"},{value:"#EE4000",name:"orangered 2"},{value:"#CD3700",name:"orangered 3"},{value:"#8B2500",name:"orangered 4"},{value:"#5E2612",name:"sepia"},{value:"#E9967A",css:!0,name:"darksalmon"},{value:"#FF8C69",name:"salmon 1"},{value:"#EE8262",name:"salmon 2"},{value:"#CD7054",name:"salmon 3"},{value:"#8B4C39",name:"salmon 4"},{value:"#FF7256",name:"coral 1"},{value:"#EE6A50",name:"coral 2"},{value:"#CD5B45",name:"coral 3"},{value:"#8B3E2F",name:"coral 4"},{value:"#8A3324",name:"burntumber"},{value:"#FF6347",name:"tomato 1"},{value:"#FF6347",css:!0,name:"tomato"},{value:"#EE5C42",name:"tomato 2"},{value:"#CD4F39",name:"tomato 3"},{value:"#8B3626",name:"tomato 4"},{value:"#FA8072",css:!0,name:"salmon"},{value:"#FFE4E1",name:"mistyrose 1"},{value:"#FFE4E1",css:!0,name:"mistyrose"},{value:"#EED5D2",name:"mistyrose 2"},{value:"#CDB7B5",name:"mistyrose 3"},{value:"#8B7D7B",name:"mistyrose 4"},{value:"#FFFAFA",name:"snow 1"},{value:"#FFFAFA",css:!0,name:"snow"},{value:"#EEE9E9",name:"snow 2"},{value:"#CDC9C9",name:"snow 3"},{value:"#8B8989",name:"snow 4"},{value:"#BC8F8F",css:!0,name:"rosybrown"},{value:"#FFC1C1",name:"rosybrown 1"},{value:"#EEB4B4",name:"rosybrown 2"},{value:"#CD9B9B",name:"rosybrown 3"},{value:"#8B6969",name:"rosybrown 4"},{value:"#F08080",css:!0,name:"lightcoral"},{value:"#CD5C5C",css:!0,name:"indianred"},{value:"#FF6A6A",name:"indianred 1"},{value:"#EE6363",name:"indianred 2"},{value:"#8B3A3A",name:"indianred 4"},{value:"#CD5555",name:"indianred 3"},{value:"#A52A2A",css:!0,name:"brown"},{value:"#FF4040",name:"brown 1"},{value:"#EE3B3B",name:"brown 2"},{value:"#CD3333",name:"brown 3"},{value:"#8B2323",name:"brown 4"},{value:"#B22222",css:!0,name:"firebrick"},{value:"#FF3030",name:"firebrick 1"},{value:"#EE2C2C",name:"firebrick 2"},{value:"#CD2626",name:"firebrick 3"},{value:"#8B1A1A",name:"firebrick 4"},{value:"#FF0000",vga:!0,name:"red 1"},{value:"#FF0000",vga:!0,css:!0,name:"red"},{value:"#EE0000",name:"red 2"},{value:"#CD0000",name:"red 3"},{value:"#8B0000",name:"red 4"},{value:"#8B0000",css:!0,name:"darkred"},{value:"#800000",vga:!0,css:!0,name:"maroon"},{value:"#8E388E",name:"sgi beet"},{value:"#7171C6",name:"sgi slateblue"},{value:"#7D9EC0",name:"sgi lightblue"},{value:"#388E8E",name:"sgi teal"},{value:"#71C671",name:"sgi chartreuse"},{value:"#8E8E38",name:"sgi olivedrab"},{value:"#C5C1AA",name:"sgi brightgray"},{value:"#C67171",name:"sgi salmon"},{value:"#555555",name:"sgi darkgray"},{value:"#1E1E1E",name:"sgi gray 12"},{value:"#282828",name:"sgi gray 16"},{value:"#515151",name:"sgi gray 32"},{value:"#5B5B5B",name:"sgi gray 36"},{value:"#848484",name:"sgi gray 52"},{value:"#8E8E8E",name:"sgi gray 56"},{value:"#AAAAAA",name:"sgi lightgray"},{value:"#B7B7B7",name:"sgi gray 72"},{value:"#C1C1C1",name:"sgi gray 76"},{value:"#EAEAEA",name:"sgi gray 92"},{value:"#F4F4F4",name:"sgi gray 96"},{value:"#FFFFFF",vga:!0,css:!0,name:"white"},{value:"#F5F5F5",name:"white smoke"},{value:"#F5F5F5",name:"gray 96"},{value:"#DCDCDC",css:!0,name:"gainsboro"},{value:"#D3D3D3",css:!0,name:"lightgrey"},{value:"#C0C0C0",vga:!0,css:!0,name:"silver"},{value:"#A9A9A9",css:!0,name:"darkgray"},{value:"#808080",vga:!0,css:!0,name:"gray"},{value:"#696969",css:!0,name:"dimgray"},{value:"#696969",name:"gray 42"},{value:"#000000",vga:!0,css:!0,name:"black"},{value:"#FCFCFC",name:"gray 99"},{value:"#FAFAFA",name:"gray 98"},{value:"#F7F7F7",name:"gray 97"},{value:"#F2F2F2",name:"gray 95"},{value:"#F0F0F0",name:"gray 94"},{value:"#EDEDED",name:"gray 93"},{value:"#EBEBEB",name:"gray 92"},{value:"#E8E8E8",name:"gray 91"},{value:"#E5E5E5",name:"gray 90"},{value:"#E3E3E3",name:"gray 89"},{value:"#E0E0E0",name:"gray 88"},{value:"#DEDEDE",name:"gray 87"},{value:"#DBDBDB",name:"gray 86"},{value:"#D9D9D9",name:"gray 85"},{value:"#D6D6D6",name:"gray 84"},{value:"#D4D4D4",name:"gray 83"},{value:"#D1D1D1",name:"gray 82"},{value:"#CFCFCF",name:"gray 81"},{value:"#CCCCCC",name:"gray 80"},{value:"#C9C9C9",name:"gray 79"},{value:"#C7C7C7",name:"gray 78"},{value:"#C4C4C4",name:"gray 77"},{value:"#C2C2C2",name:"gray 76"},{value:"#BFBFBF",name:"gray 75"},{value:"#BDBDBD",name:"gray 74"},{value:"#BABABA",name:"gray 73"},{value:"#B8B8B8",name:"gray 72"},{value:"#B5B5B5",name:"gray 71"},{value:"#B3B3B3",name:"gray 70"},{value:"#B0B0B0",name:"gray 69"},{value:"#ADADAD",name:"gray 68"},{value:"#ABABAB",name:"gray 67"},{value:"#A8A8A8",name:"gray 66"},{value:"#A6A6A6",name:"gray 65"},{value:"#A3A3A3",name:"gray 64"},{value:"#A1A1A1",name:"gray 63"},{value:"#9E9E9E",name:"gray 62"},{value:"#9C9C9C",name:"gray 61"},{value:"#999999",name:"gray 60"},{value:"#969696",name:"gray 59"},{value:"#949494",name:"gray 58"},{value:"#919191",name:"gray 57"},{value:"#8F8F8F",name:"gray 56"},{value:"#8C8C8C",name:"gray 55"},{value:"#8A8A8A",name:"gray 54"},{value:"#878787",name:"gray 53"},{value:"#858585",name:"gray 52"},{value:"#828282",name:"gray 51"},{value:"#7F7F7F",name:"gray 50"},{value:"#7D7D7D",name:"gray 49"},{value:"#7A7A7A",name:"gray 48"},{value:"#787878",name:"gray 47"},{value:"#757575",name:"gray 46"},{value:"#737373",name:"gray 45"},{value:"#707070",name:"gray 44"},{value:"#6E6E6E",name:"gray 43"},{value:"#666666",name:"gray 40"},{value:"#636363",name:"gray 39"},{value:"#616161",name:"gray 38"},{value:"#5E5E5E",name:"gray 37"},{value:"#5C5C5C",name:"gray 36"},{value:"#595959",name:"gray 35"},{value:"#575757",name:"gray 34"},{value:"#545454",name:"gray 33"},{value:"#525252",name:"gray 32"},{value:"#4F4F4F",name:"gray 31"},{value:"#4D4D4D",name:"gray 30"},{value:"#4A4A4A",name:"gray 29"},{value:"#474747",name:"gray 28"},{value:"#454545",name:"gray 27"},{value:"#424242",name:"gray 26"},{value:"#404040",name:"gray 25"},{value:"#3D3D3D",name:"gray 24"},{value:"#3B3B3B",name:"gray 23"},{value:"#383838",name:"gray 22"},{value:"#363636",name:"gray 21"},{value:"#333333",name:"gray 20"},{value:"#303030",name:"gray 19"},{value:"#2E2E2E",name:"gray 18"},{value:"#2B2B2B",name:"gray 17"},{value:"#292929",name:"gray 16"},{value:"#262626",name:"gray 15"},{value:"#242424",name:"gray 14"},{value:"#212121",name:"gray 13"},{value:"#1F1F1F",name:"gray 12"},{value:"#1C1C1C",name:"gray 11"},{value:"#1A1A1A",name:"gray 10"},{value:"#171717",name:"gray 9"},{value:"#141414",name:"gray 8"},{value:"#121212",name:"gray 7"},{value:"#0F0F0F",name:"gray 6"},{value:"#0D0D0D",name:"gray 5"},{value:"#0A0A0A",name:"gray 4"},{value:"#080808",name:"gray 3"},{value:"#050505",name:"gray 2"},{value:"#030303",name:"gray 1"},{value:"#F5F5F5",css:!0,name:"whitesmoke"}];(function(e){var t=e4,n=t.filter(function(s){return!!s.css}),r=t.filter(function(s){return!!s.vga});e.exports=function(s){var o=e.exports.get(s);return o&&o.value},e.exports.get=function(s){return s=s||"",s=s.trim().toLowerCase(),t.filter(function(o){return o.name.toLowerCase()===s}).pop()},e.exports.all=e.exports.get.all=function(){return t},e.exports.get.css=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),n.filter(function(o){return o.name.toLowerCase()===s}).pop()):n},e.exports.get.vga=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),r.filter(function(o){return o.name.toLowerCase()===s}).pop()):r}})(s1);var t4=s1.exports,n4=1/0,r4="[object Symbol]",s4=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,o1="\\ud800-\\udfff",o4="\\u0300-\\u036f\\ufe20-\\ufe23",i4="\\u20d0-\\u20f0",i1="\\u2700-\\u27bf",a1="a-z\\xdf-\\xf6\\xf8-\\xff",a4="\\xac\\xb1\\xd7\\xf7",l4="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",u4="\\u2000-\\u206f",c4=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",l1="A-Z\\xc0-\\xd6\\xd8-\\xde",d4="\\ufe0e\\ufe0f",u1=a4+l4+u4+c4,c1="['’]",lh="["+u1+"]",m4="["+o4+i4+"]",d1="\\d+",f4="["+i1+"]",m1="["+a1+"]",f1="[^"+o1+u1+d1+i1+a1+l1+"]",p4="\\ud83c[\\udffb-\\udfff]",h4="(?:"+m4+"|"+p4+")",_4="[^"+o1+"]",p1="(?:\\ud83c[\\udde6-\\uddff]){2}",h1="[\\ud800-\\udbff][\\udc00-\\udfff]",Ms="["+l1+"]",g4="\\u200d",uh="(?:"+m1+"|"+f1+")",y4="(?:"+Ms+"|"+f1+")",ch="(?:"+c1+"(?:d|ll|m|re|s|t|ve))?",dh="(?:"+c1+"(?:D|LL|M|RE|S|T|VE))?",_1=h4+"?",g1="["+d4+"]?",v4="(?:"+g4+"(?:"+[_4,p1,h1].join("|")+")"+g1+_1+")*",b4=g1+_1+v4,z4="(?:"+[f4,p1,h1].join("|")+")"+b4,C4=RegExp([Ms+"?"+m1+"+"+ch+"(?="+[lh,Ms,"$"].join("|")+")",y4+"+"+dh+"(?="+[lh,Ms+uh,"$"].join("|")+")",Ms+"?"+uh+"+"+ch,Ms+"+"+dh,d1,z4].join("|"),"g"),w4=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,k4=typeof un=="object"&&un&&un.Object===Object&&un,x4=typeof self=="object"&&self&&self.Object===Object&&self,E4=k4||x4||Function("return this")();function S4(e){return e.match(s4)||[]}function $4(e){return w4.test(e)}function A4(e){return e.match(C4)||[]}var T4=Object.prototype,O4=T4.toString,mh=E4.Symbol,fh=mh?mh.prototype:void 0,ph=fh?fh.toString:void 0;function D4(e){if(typeof e=="string")return e;if(I4(e))return ph?ph.call(e):"";var t=e+"";return t=="0"&&1/e==-n4?"-0":t}function P4(e){return!!e&&typeof e=="object"}function I4(e){return typeof e=="symbol"||P4(e)&&O4.call(e)==r4}function F4(e){return e==null?"":D4(e)}function R4(e,t,n){return e=F4(e),t=n?void 0:t,t===void 0?$4(e)?A4(e):S4(e):e.match(t)||[]}var L4=R4,N4=1/0,M4="[object Symbol]",V4=/^\s+/,zm="\\ud800-\\udfff",y1="\\u0300-\\u036f\\ufe20-\\ufe23",v1="\\u20d0-\\u20f0",b1="\\ufe0e\\ufe0f",H4="["+zm+"]",ed="["+y1+v1+"]",td="\\ud83c[\\udffb-\\udfff]",U4="(?:"+ed+"|"+td+")",z1="[^"+zm+"]",C1="(?:\\ud83c[\\udde6-\\uddff]){2}",w1="[\\ud800-\\udbff][\\udc00-\\udfff]",k1="\\u200d",x1=U4+"?",E1="["+b1+"]?",B4="(?:"+k1+"(?:"+[z1,C1,w1].join("|")+")"+E1+x1+")*",j4=E1+x1+B4,q4="(?:"+[z1+ed+"?",ed,C1,w1,H4].join("|")+")",W4=RegExp(td+"(?="+td+")|"+q4+j4,"g"),G4=RegExp("["+k1+zm+y1+v1+b1+"]"),K4=typeof un=="object"&&un&&un.Object===Object&&un,Z4=typeof self=="object"&&self&&self.Object===Object&&self,Y4=K4||Z4||Function("return this")();function J4(e){return e.split("")}function X4(e,t,n,r){for(var s=e.length,o=n+(r?1:-1);r?o--:++o-1;);return n}function n6(e){return G4.test(e)}function hh(e){return n6(e)?r6(e):J4(e)}function r6(e){return e.match(W4)||[]}var s6=Object.prototype,o6=s6.toString,_h=Y4.Symbol,gh=_h?_h.prototype:void 0,yh=gh?gh.toString:void 0;function i6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:i6(e,t,n)}function l6(e){return!!e&&typeof e=="object"}function u6(e){return typeof e=="symbol"||l6(e)&&o6.call(e)==M4}function c6(e){return e==null?"":S1(e)}function d6(e,t,n){if(e=c6(e),e&&(n||t===void 0))return e.replace(V4,"");if(!e||!(t=S1(t)))return e;var r=hh(e),s=t6(r,hh(t));return a6(r,s).join("")}var m6=d6,nd=1/0,f6=9007199254740991,p6=17976931348623157e292,vh=NaN,h6="[object Symbol]",_6=/^\s+|\s+$/g,g6=/^[-+]0x[0-9a-f]+$/i,y6=/^0b[01]+$/i,v6=/^0o[0-7]+$/i,Cm="\\ud800-\\udfff",$1="\\u0300-\\u036f\\ufe20-\\ufe23",A1="\\u20d0-\\u20f0",T1="\\ufe0e\\ufe0f",b6="["+Cm+"]",rd="["+$1+A1+"]",sd="\\ud83c[\\udffb-\\udfff]",z6="(?:"+rd+"|"+sd+")",O1="[^"+Cm+"]",D1="(?:\\ud83c[\\udde6-\\uddff]){2}",P1="[\\ud800-\\udbff][\\udc00-\\udfff]",I1="\\u200d",F1=z6+"?",R1="["+T1+"]?",C6="(?:"+I1+"(?:"+[O1,D1,P1].join("|")+")"+R1+F1+")*",w6=R1+F1+C6,k6="(?:"+[O1+rd+"?",rd,D1,P1,b6].join("|")+")",od=RegExp(sd+"(?="+sd+")|"+k6+w6,"g"),x6=RegExp("["+I1+Cm+$1+A1+T1+"]"),E6=parseInt,S6=typeof un=="object"&&un&&un.Object===Object&&un,$6=typeof self=="object"&&self&&self.Object===Object&&self,A6=S6||$6||Function("return this")(),T6=D6("length");function O6(e){return e.split("")}function D6(e){return function(t){return t==null?void 0:t[e]}}function wm(e){return x6.test(e)}function L1(e){return wm(e)?I6(e):T6(e)}function P6(e){return wm(e)?F6(e):O6(e)}function I6(e){for(var t=od.lastIndex=0;od.test(e);)t++;return t}function F6(e){return e.match(od)||[]}var R6=Object.prototype,L6=R6.toString,bh=A6.Symbol,N6=Math.ceil,M6=Math.floor,zh=bh?bh.prototype:void 0,Ch=zh?zh.toString:void 0;function wh(e,t){var n="";if(!e||t<1||t>f6)return n;do t%2&&(n+=e),t=M6(t/2),t&&(e+=e);while(t);return n}function V6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:V6(e,t,n)}function U6(e,t){t=t===void 0?" ":N1(t);var n=t.length;if(n<2)return n?wh(t,e):t;var r=wh(t,N6(e/L1(t)));return wm(t)?H6(P6(r),0,e).join(""):r.slice(0,e)}function kh(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function B6(e){return!!e&&typeof e=="object"}function M1(e){return typeof e=="symbol"||B6(e)&&L6.call(e)==h6}function j6(e){if(!e)return e===0?e:0;if(e=W6(e),e===nd||e===-nd){var t=e<0?-1:1;return t*p6}return e===e?e:0}function q6(e){var t=j6(e),n=t%1;return t===t?n?t-n:t:0}function W6(e){if(typeof e=="number")return e;if(M1(e))return vh;if(kh(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=kh(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(_6,"");var n=y6.test(e);return n||v6.test(e)?E6(e.slice(2),n?2:8):g6.test(e)?vh:+e}function G6(e){return e==null?"":N1(e)}function K6(e,t,n){e=G6(e),t=q6(t);var r=t?L1(e):0;return t&&r{const s=(e+(r||"")).toString().includes("%");if(typeof e=="string"?[e,t,n,r]=e.match(/(0?\.?\d{1,3})%?\b/g).map(Number):r!==void 0&&(r=parseFloat(r)),typeof e!="number"||typeof t!="number"||typeof n!="number"||e>255||t>255||n>255)throw new TypeError("Expected three numbers below 256");if(typeof r=="number"){if(!s&&r>=0&&r<=1)r=Math.round(255*r);else if(s&&r>=0&&r<=100)r=Math.round(255*r/100);else throw new TypeError(`Expected alpha value (${r}) as a fraction or percentage`);r=(r|256).toString(16).slice(1)}else r="";return(n|t<<8|e<<16|1<<24).toString(16).slice(1)+r};const vi="a-f\\d",J6=`#?[${vi}]{3}[${vi}]?`,X6=`#?[${vi}]{6}([${vi}]{2})?`,Q6=new RegExp(`[^#${vi}]`,"gi"),e5=new RegExp(`^${J6}$|^${X6}$`,"i");var t5=(e,t={})=>{if(typeof e!="string"||Q6.test(e)||!e5.test(e))throw new TypeError("Expected a valid hex string");e=e.replace(/^#/,"");let n=1;e.length===8&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),e.length===4&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const r=Number.parseInt(e,16),s=r>>16,o=r>>8&255,i=r&255,a=typeof t.alpha=="number"?t.alpha:n;if(t.format==="array")return[s,o,i,a];if(t.format==="css"){const l=a===1?"":` / ${Number((a*100).toFixed(2))}%`;return`rgb(${s} ${o} ${i}${l})`}return{red:s,green:o,blue:i,alpha:a}},n5=t4,r5=L4,s5=m6,o5=Z6,i5=Y6,V1=t5;const Ku=.75,Zu=.25,Yu=16777215,a5=49979693;var l5=function(e){return"#"+d5(String(JSON.stringify(e)))};function u5(e){var t=r5(e),n=[];return t.forEach(function(r){var s=n5(r);s&&n.push(V1(s5(s,"#"),{format:"array"}))}),n}function c5(e){var t=[0,0,0];return e.forEach(function(n){for(var r=0;r<3;r++)t[r]+=n[r]}),[t[0]/e.length,t[1]/e.length,t[2]/e.length]}function d5(e){var t,n=u5(e);n.length>0&&(t=c5(n));var r=1,s=0,o=1;if(e.length>0)for(var i=0;is&&(s=e[i].charCodeAt(0)),o=parseInt(Yu/s),r=(r+e[i].charCodeAt(0)*o*a5)%Yu;var a=(r*e.length%Yu).toString(16);a=o5(a,6,a);var l=V1(a,{format:"array"});return t?i5(Zu*l[0]+Ku*t[0],Zu*l[1]+Ku*t[1],Zu*l[2]+Ku*t[2]):a}const m5=Oi(l5);function f5(e){const t=e.replace(/#/,""),n=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2,2),16),s=parseInt(t.substr(4,2),16);return[.299*n,.587*r,.114*s].reduce((i,a)=>i+a)/255>.5}function p5(e){return f5(e)?"#000000":"#ffffff"}function h5(e){const t=` ${e.caption} `;return`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}function _5(e,t,n){const r=m5(t),s=p5(r),o={width:n.width,height:n.height,textColor:s,backgroundColor:r,caption:e,fontFamily:n.font_family,fontSize:n.font_size,fontWeight:n.font_weight};return h5(o)}const g5={name:"CoverArtwork",props:["artist","album","artwork_url","maxwidth","maxheight"],emits:["click"],data(){return{width:600,height:600,font_family:"sans-serif",font_size:200,font_weight:600,lazy_lifecycle:{error:e=>{e.src=this.dataURI()}}}},computed:{artwork_url_with_size(){return this.maxwidth>0&&this.maxheight>0?V.artwork_url_append_size_params(this.artwork_url,this.maxwidth,this.maxheight):V.artwork_url_append_size_params(this.artwork_url)},alt_text(){return`${this.artist} - ${this.album}`},caption(){return this.album?this.album.substring(0,2):this.artist?this.artist.substring(0,2):""}},methods:{dataURI(){return _5(this.caption,this.alt_text,{width:this.width,height:this.height,font_family:this.font_family,font_size:this.font_size,font_weight:this.font_weight})}}};function y5(e,t,n,r,s,o){const i=Ld("lazy");return k(),T("figure",null,[yt(u("img",{onClick:t[0]||(t[0]=a=>e.$emit("click"))},null,512),[[i,{src:o.artwork_url_with_size,lifecycle:s.lazy_lifecycle}]])])}const Fn=te(g5,[["render",y5]]),{t:Ju,locale:km}=ru.global,H1="GROUP_KEY_NONE";function xm(){return{compareFn:null,groupKeyFn:e=>H1}}function Rn(e,t=!1,n="_"){return{compareFn:t?null:(r,s)=>{const o=r[e]||n,i=s[e]||n;return o.localeCompare(i,km.value)},groupKeyFn:r=>{const s=(r[e]||n).charAt(0);return s.match(new RegExp("\\p{Letter}","gu"))?s.toUpperCase():s.match(new RegExp("\\p{Number}","gu"))?"#":"⌘"}}}function Em(e,{direction:t="asc",defaultValue:n=0}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>{const s=r[e]||n;return Math.floor(s/10)}}}function v5(e,t="asc",n=1){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>r[e]||n}}function xl(e,{direction:t="asc",defaultValue:n="0000"}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o.localeCompare(i,km.value);return t==="asc"?a:a*-1},groupKeyFn:r=>(r[e]||n).substring(0,4)}}function b5(e,t="0000"){return{compareFn:(n,r)=>{const s=n[e]||t;return(r[e]||t).localeCompare(s,km.value)},groupKeyFn:n=>{const r=n[e];if(!r)return t;const s=new Date().getTime()-new Date(r).getTime();return s<864e5?Ju("group-by-list.today"):s<6048e5?Ju("group-by-list.last-week"):s<2592e6?Ju("group-by-list.last-month"):r.substring(0,4)}}}class ve{constructor({items:t=[],total:n=0,offset:r=0,limit:s=-1}={}){this.items=t,this.total=n,this.offset=r,this.limit=s,this.count=t.length,this.indexList=[],this.group(xm())}isEmpty(){return!this.items||this.items.length<=0}group(t,n=[]){const r=n?this.items.filter(o=>n.every(i=>i(o))):this.items;this.count=r.length;const s=t.compareFn?[...r].sort(t.compareFn):r;this.indexList=[...new Set(s.map(t.groupKeyFn))],this.itemsGrouped=s.reduce((o,i)=>{const a=t.groupKeyFn(i);return o[a]=[...o[a]||[],i],o},{})}*generate(){for(const t in this.itemsGrouped){t!==H1&&(yield{groupKey:t,itemId:t,isItem:!1,item:{}});for(const n of this.itemsGrouped[t])yield{groupKey:t,itemId:n.id,isItem:!0,item:n}}}[Symbol.iterator](){return this.generate()}}var U1={exports:{}};(function(e){var t=function(){var n="https://api.spotify.com/v1",r=null,s=null,o=function(f,p){return f.abort=p,f},i=function(f,p){var h;if(s!==null){var _=s.defer();f(function(b){_.resolve(b)},function(b){_.reject(b)}),h=_.promise}else window.Promise&&(h=new window.Promise(f));return h?new o(h,p):null},a=function(){var f=Array.prototype.slice.call(arguments),p=f[0],h=f.slice(1);return p=p||{},h.forEach(function(_){for(var b in _)_.hasOwnProperty(b)&&(p[b]=_[b])}),p},l=function(f,p){var h="";for(var _ in p)if(p.hasOwnProperty(_)){var b=p[_];h+=encodeURIComponent(_)+"="+encodeURIComponent(b)+"&"}return h.length>0&&(h=h.substring(0,h.length-1),f=f+"?"+h),f},c=function(f,p){var h=new XMLHttpRequest,_=function(b,w){function C(x){b&&b(x),p&&p(null,x)}function v(){w&&w(h),p&&p(h,null)}var z=f.type||"GET";if(h.open(z,l(f.url,f.params)),r&&h.setRequestHeader("Authorization","Bearer "+r),h.onreadystatechange=function(){if(h.readyState===4){var x=null;try{x=h.responseText?JSON.parse(h.responseText):""}catch(N){console.error(N)}h.status>=200&&h.status<300?C(x):v()}},z==="GET")h.send(null);else{var S=null;f.postData&&(f.contentType==="image/jpeg"?(S=f.postData,h.setRequestHeader("Content-Type",f.contentType)):(S=JSON.stringify(f.postData),h.setRequestHeader("Content-Type","application/json"))),h.send(S)}};return p?(_(),null):i(_,function(){h.abort()})},m=function(f,p,h,_){var b={},w=null;typeof p=="object"?(b=p,w=h):typeof p=="function"&&(w=p);var C=f.type||"GET";return C!=="GET"&&f.postData&&!_?f.postData=a(f.postData,b):f.params=a(f.params,b),c(f,w)},d=function(){};return d.prototype={constructor:t},d.prototype.getGeneric=function(f,p){var h={url:f};return m(h,p)},d.prototype.getMe=function(f,p){var h={url:n+"/me"};return m(h,f,p)},d.prototype.getMySavedTracks=function(f,p){var h={url:n+"/me/tracks"};return m(h,f,p)},d.prototype.addToMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"PUT",postData:f};return m(_,p,h)},d.prototype.removeFromMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"DELETE",postData:f};return m(_,p,h)},d.prototype.containsMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks/contains",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getMySavedAlbums=function(f,p){var h={url:n+"/me/albums"};return m(h,f,p)},d.prototype.addToMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"PUT",postData:f};return m(_,p,h)},d.prototype.removeFromMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"DELETE",postData:f};return m(_,p,h)},d.prototype.containsMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums/contains",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getMyTopArtists=function(f,p){var h={url:n+"/me/top/artists"};return m(h,f,p)},d.prototype.getMyTopTracks=function(f,p){var h={url:n+"/me/top/tracks"};return m(h,f,p)},d.prototype.getMyRecentlyPlayedTracks=function(f,p){var h={url:n+"/me/player/recently-played"};return m(h,f,p)},d.prototype.followUsers=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"user"}};return m(h,p)},d.prototype.followArtists=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"artist"}};return m(h,p)},d.prototype.followPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers",type:"PUT",postData:{}};return m(_,p,h)},d.prototype.unfollowUsers=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"user"}};return m(h,p)},d.prototype.unfollowArtists=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"artist"}};return m(h,p)},d.prototype.unfollowPlaylist=function(f,p){var h={url:n+"/playlists/"+f+"/followers",type:"DELETE"};return m(h,p)},d.prototype.isFollowingUsers=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"user"}};return m(h,p)},d.prototype.isFollowingArtists=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"artist"}};return m(h,p)},d.prototype.areFollowingPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers/contains",type:"GET",params:{ids:p.join(",")}};return m(_,h)},d.prototype.getFollowedArtists=function(f,p){var h={url:n+"/me/following",type:"GET",params:{type:"artist"}};return m(h,f,p)},d.prototype.getUser=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)};return m(_,p,h)},d.prototype.getUserPlaylists=function(f,p,h){var _;return typeof f=="string"?_={url:n+"/users/"+encodeURIComponent(f)+"/playlists"}:(_={url:n+"/me/playlists"},h=p,p=f),m(_,p,h)},d.prototype.getPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f};return m(_,p,h)},d.prototype.getPlaylistTracks=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks"};return m(_,p,h)},d.prototype.getPlaylistCoverImage=function(f,p){var h={url:n+"/playlists/"+f+"/images"};return m(h,p)},d.prototype.createPlaylist=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)+"/playlists",type:"POST",postData:p};return m(_,p,h)},d.prototype.changePlaylistDetails=function(f,p,h){var _={url:n+"/playlists/"+f,type:"PUT",postData:p};return m(_,p,h)},d.prototype.addTracksToPlaylist=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"POST",postData:{uris:p}};return m(b,h,_,!0)},d.prototype.replaceTracksInPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{uris:p}};return m(_,{},h)},d.prototype.reorderTracksInPlaylist=function(f,p,h,_,b){var w={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{range_start:p,insert_before:h}};return m(w,_,b)},d.prototype.removeTracksFromPlaylist=function(f,p,h){var _=p.map(function(w){return typeof w=="string"?{uri:w}:w}),b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:_}};return m(b,{},h)},d.prototype.removeTracksFromPlaylistWithSnapshotId=function(f,p,h,_){var b=p.map(function(C){return typeof C=="string"?{uri:C}:C}),w={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:b,snapshot_id:h}};return m(w,{},_)},d.prototype.removeTracksFromPlaylistInPositions=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{positions:p,snapshot_id:h}};return m(b,{},_)},d.prototype.uploadCustomPlaylistCoverImage=function(f,p,h){var _={url:n+"/playlists/"+f+"/images",type:"PUT",postData:p.replace(/^data:image\/jpeg;base64,/,""),contentType:"image/jpeg"};return m(_,{},h)},d.prototype.getAlbum=function(f,p,h){var _={url:n+"/albums/"+f};return m(_,p,h)},d.prototype.getAlbumTracks=function(f,p,h){var _={url:n+"/albums/"+f+"/tracks"};return m(_,p,h)},d.prototype.getAlbums=function(f,p,h){var _={url:n+"/albums/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getTrack=function(f,p,h){var _={};return _.url=n+"/tracks/"+f,m(_,p,h)},d.prototype.getTracks=function(f,p,h){var _={url:n+"/tracks/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getArtist=function(f,p,h){var _={url:n+"/artists/"+f};return m(_,p,h)},d.prototype.getArtists=function(f,p,h){var _={url:n+"/artists/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getArtistAlbums=function(f,p,h){var _={url:n+"/artists/"+f+"/albums"};return m(_,p,h)},d.prototype.getArtistTopTracks=function(f,p,h,_){var b={url:n+"/artists/"+f+"/top-tracks",params:{country:p}};return m(b,h,_)},d.prototype.getArtistRelatedArtists=function(f,p,h){var _={url:n+"/artists/"+f+"/related-artists"};return m(_,p,h)},d.prototype.getFeaturedPlaylists=function(f,p){var h={url:n+"/browse/featured-playlists"};return m(h,f,p)},d.prototype.getNewReleases=function(f,p){var h={url:n+"/browse/new-releases"};return m(h,f,p)},d.prototype.getCategories=function(f,p){var h={url:n+"/browse/categories"};return m(h,f,p)},d.prototype.getCategory=function(f,p,h){var _={url:n+"/browse/categories/"+f};return m(_,p,h)},d.prototype.getCategoryPlaylists=function(f,p,h){var _={url:n+"/browse/categories/"+f+"/playlists"};return m(_,p,h)},d.prototype.search=function(f,p,h,_){var b={url:n+"/search/",params:{q:f,type:p.join(",")}};return m(b,h,_)},d.prototype.searchAlbums=function(f,p,h){return this.search(f,["album"],p,h)},d.prototype.searchArtists=function(f,p,h){return this.search(f,["artist"],p,h)},d.prototype.searchTracks=function(f,p,h){return this.search(f,["track"],p,h)},d.prototype.searchPlaylists=function(f,p,h){return this.search(f,["playlist"],p,h)},d.prototype.searchShows=function(f,p,h){return this.search(f,["show"],p,h)},d.prototype.searchEpisodes=function(f,p,h){return this.search(f,["episode"],p,h)},d.prototype.getAudioFeaturesForTrack=function(f,p){var h={};return h.url=n+"/audio-features/"+f,m(h,{},p)},d.prototype.getAudioFeaturesForTracks=function(f,p){var h={url:n+"/audio-features",params:{ids:f}};return m(h,{},p)},d.prototype.getAudioAnalysisForTrack=function(f,p){var h={};return h.url=n+"/audio-analysis/"+f,m(h,{},p)},d.prototype.getRecommendations=function(f,p){var h={url:n+"/recommendations"};return m(h,f,p)},d.prototype.getAvailableGenreSeeds=function(f){var p={url:n+"/recommendations/available-genre-seeds"};return m(p,{},f)},d.prototype.getMyDevices=function(f){var p={url:n+"/me/player/devices"};return m(p,{},f)},d.prototype.getMyCurrentPlaybackState=function(f,p){var h={url:n+"/me/player"};return m(h,f,p)},d.prototype.getMyCurrentPlayingTrack=function(f,p){var h={url:n+"/me/player/currently-playing"};return m(h,f,p)},d.prototype.transferMyPlayback=function(f,p,h){var _=p||{};_.device_ids=f;var b={type:"PUT",url:n+"/me/player",postData:_};return m(b,p,h)},d.prototype.play=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={};["context_uri","uris","offset","position_ms"].forEach(function(C){C in f&&(_[C]=f[C])});var b={type:"PUT",url:n+"/me/player/play",params:h,postData:_},w=typeof f=="function"?f:{};return m(b,w,p)},d.prototype.queue=function(f,p,h){p=p||{};var _="device_id"in p?{uri:f,device_id:p.device_id}:{uri:f},b={type:"POST",url:n+"/me/player/queue",params:_};return m(b,p,h)},d.prototype.pause=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"PUT",url:n+"/me/player/pause",params:h};return m(_,f,p)},d.prototype.skipToNext=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/next",params:h};return m(_,f,p)},d.prototype.skipToPrevious=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/previous",params:h};return m(_,f,p)},d.prototype.seek=function(f,p,h){p=p||{};var _={position_ms:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/seek",params:_};return m(b,p,h)},d.prototype.setRepeat=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/repeat",params:_};return m(b,p,h)},d.prototype.setVolume=function(f,p,h){p=p||{};var _={volume_percent:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/volume",params:_};return m(b,p,h)},d.prototype.setShuffle=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/shuffle",params:_};return m(b,p,h)},d.prototype.getShow=function(f,p,h){var _={};return _.url=n+"/shows/"+f,m(_,p,h)},d.prototype.getShows=function(f,p,h){var _={url:n+"/shows/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getMySavedShows=function(f,p){var h={url:n+"/me/shows"};return m(h,f,p)},d.prototype.addToMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"PUT",postData:f};return m(_,p,h)},d.prototype.removeFromMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"DELETE",postData:f};return m(_,p,h)},d.prototype.containsMySavedShows=function(f,p,h){var _={url:n+"/me/shows/contains",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getShowEpisodes=function(f,p,h){var _={url:n+"/shows/"+f+"/episodes"};return m(_,p,h)},d.prototype.getEpisode=function(f,p,h){var _={};return _.url=n+"/episodes/"+f,m(_,p,h)},d.prototype.getEpisodes=function(f,p,h){var _={url:n+"/episodes/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getAccessToken=function(){return r},d.prototype.setAccessToken=function(f){r=f},d.prototype.setPromiseImplementation=function(f){var p=!1;try{var h=new f(function(_){_()});typeof h.then=="function"&&typeof h.catch=="function"&&(p=!0)}catch(_){console.error(_)}if(p)s=f;else throw new Error("Unsupported implementation of Promises/A+")},d}();e.exports=t})(U1);var z5=U1.exports;const Yn=Oi(z5),C5={name:"ModalDialogTrack",props:["show","track"],emits:["close","play-count-changed"],data(){return{spotify_track:{}}},watch:{track(){if(this.track&&this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"){const e=new Yn;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.track.path.slice(this.track.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{mark_new(){V.library_track_update(this.track.id,{play_count:"reset"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},mark_played(){V.library_track_update(this.track.id,{play_count:"increment"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},open_album(){this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"?this.$router.push({name:"music-spotify-album",params:{id:this.spotify_track.album.id}}):this.track.media_kind==="podcast"?this.$router.push({name:"podcast",params:{id:this.track.album_id}}):this.track.media_kind==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.track.album_id}}):this.track.media_kind==="music"&&this.$router.push({name:"music-album",params:{id:this.track.album_id}})},open_album_artist(){this.track.data_kind==="spotify"?this.$router.push({name:"music-spotify-artist",params:{id:this.spotify_track.artists[0].id}}):this.track.media_kind==="music"||this.track.media_kind==="podcast"?this.$router.push({name:"music-artist",params:{id:this.track.album_artist_id}}):this.track.media_kind==="audiobook"&&this.$router.push({name:"audiobooks-artist",params:{id:this.track.album_artist_id}})},open_genre(){this.$router.push({name:"genre-albums",params:{name:this.track.genre},query:{media_kind:this.track.media_kind}})},play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)}}},w5={key:0,class:"modal is-active"},k5={class:"modal-content fd-modal-card"},x5={class:"card"},E5={class:"card-content"},S5=["textContent"],$5=["textContent"],A5={key:0,class:"buttons"},T5=["textContent"],O5=["textContent"],D5={class:"content is-small"},P5={key:0},I5=["textContent"],F5=["textContent"],R5={key:1},L5=["textContent"],N5=["textContent"],M5={key:2},V5=["textContent"],H5=["textContent"],U5={key:3},B5=["textContent"],j5=["textContent"],q5={key:4},W5=["textContent"],G5=["textContent"],K5={key:5},Z5=["textContent"],Y5=["textContent"],J5={key:6},X5=["textContent"],Q5=["textContent"],eD={key:7},tD=["textContent"],nD=["textContent"],rD=["textContent"],sD=["textContent"],oD=["textContent"],iD={class:"title is-6"},aD=["textContent"],lD={key:8},uD=["textContent"],cD={class:"title is-6"},dD=["textContent"],mD=["textContent"],fD=["textContent"],pD=["textContent"],hD=["textContent"],_D=["textContent"],gD=["textContent"],yD=["textContent"],vD={key:9},bD=["textContent"],zD=["textContent"],CD={class:"card-footer"},wD=["textContent"],kD=["textContent"],xD=["textContent"];function ED(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",w5,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",k5,[u("div",x5,[u("div",E5,[u("p",{class:"title is-4",textContent:g(n.track.title)},null,8,S5),u("p",{class:"subtitle",textContent:g(n.track.artist)},null,8,$5),n.track.media_kind==="podcast"?(k(),T("div",A5,[n.track.play_count>0?(k(),T("a",{key:0,class:"button is-small",onClick:t[1]||(t[1]=(...a)=>o.mark_new&&o.mark_new(...a)),textContent:g(e.$t("dialog.track.mark-as-new"))},null,8,T5)):M("",!0),n.track.play_count===0?(k(),T("a",{key:1,class:"button is-small",onClick:t[2]||(t[2]=(...a)=>o.mark_played&&o.mark_played(...a)),textContent:g(e.$t("dialog.track.mark-as-played"))},null,8,O5)):M("",!0)])):M("",!0),u("div",D5,[n.track.album?(k(),T("p",P5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album"))},null,8,I5),u("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.track.album)},null,8,F5)])):M("",!0),n.track.album_artist&&n.track.media_kind!=="audiobook"?(k(),T("p",R5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album-artist"))},null,8,L5),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...a)=>o.open_album_artist&&o.open_album_artist(...a)),textContent:g(n.track.album_artist)},null,8,N5)])):M("",!0),n.track.composer?(k(),T("p",M5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.composer"))},null,8,V5),u("span",{class:"title is-6",textContent:g(n.track.composer)},null,8,H5)])):M("",!0),n.track.date_released?(k(),T("p",U5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.release-date"))},null,8,B5),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.track.date_released))},null,8,j5)])):n.track.year?(k(),T("p",q5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.year"))},null,8,W5),u("span",{class:"title is-6",textContent:g(n.track.year)},null,8,G5)])):M("",!0),n.track.genre?(k(),T("p",K5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.genre"))},null,8,Z5),u("a",{class:"title is-6 has-text-link",onClick:t[5]||(t[5]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.track.genre)},null,8,Y5)])):M("",!0),n.track.disc_number?(k(),T("p",J5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.position"))},null,8,X5),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,Q5)])):M("",!0),n.track.length_ms?(k(),T("p",eD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.duration"))},null,8,tD),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.length_ms))},null,8,nD)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.path"))},null,8,rD),u("span",{class:"title is-6",textContent:g(n.track.path)},null,8,sD)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.type"))},null,8,oD),u("span",iD,[u("span",{textContent:g([e.$t("media.kind."+n.track.media_kind),e.$t("data.kind."+n.track.data_kind)].join(" - "))},null,8,aD)])]),n.track.samplerate?(k(),T("p",lD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.quality"))},null,8,uD),u("span",cD,[u("span",{textContent:g(n.track.type)},null,8,dD),n.track.samplerate?(k(),T("span",{key:0,textContent:g(e.$t("dialog.track.samplerate",{rate:n.track.samplerate}))},null,8,mD)):M("",!0),n.track.channels?(k(),T("span",{key:1,textContent:g(e.$t("dialog.track.channels",{channels:e.$filters.channels(n.track.channels)}))},null,8,fD)):M("",!0),n.track.bitrate?(k(),T("span",{key:2,textContent:g(e.$t("dialog.track.bitrate",{rate:n.track.bitrate}))},null,8,pD)):M("",!0)])])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.added-on"))},null,8,hD),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.track.time_added))},null,8,_D)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.rating"))},null,8,gD),u("span",{class:"title is-6",textContent:g(e.$t("dialog.track.rating-value",{rating:Math.floor(n.track.rating/10)}))},null,8,yD)]),n.track.comment?(k(),T("p",vD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.comment"))},null,8,bD),u("span",{class:"title is-6",textContent:g(n.track.comment)},null,8,zD)])):M("",!0)])]),u("footer",CD,[u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add"))},null,8,wD)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add-next"))},null,8,kD)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[8]||(t[8]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.play"))},null,8,xD)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[9]||(t[9]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const SD=te(C5,[["render",ED]]),$D={name:"ListTracks",components:{ModalDialogTrack:SD},props:["tracks","uris","expression","show_progress","show_icon"],emits:["play-count-changed"],data(){return{show_details_modal:!1,selected_track:{}}},methods:{play_track(e){this.uris?V.player_play_uri(this.uris,!1,this.tracks.items.indexOf(e)):this.expression?V.player_play_expression(this.expression,!1,this.tracks.items.indexOf(e)):V.player_play_uri(e.uri,!1)},open_dialog(e){this.selected_track=e,this.show_details_modal=!0}}},AD={key:0,class:"mt-6 mb-5 py-2"},TD=["id","textContent"],OD=["onClick"],DD={key:0,class:"media-left is-clickable"},PD={class:"media-content is-clickable is-clipped"},ID=["textContent"],FD=["textContent"],RD=["textContent"],LD=["max","value"],ND={class:"media-right"},MD=["onClick"];function VD(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-track");return k(),T(we,null,[(k(!0),T(we,null,ct(n.tracks,l=>(k(),T(we,{key:l.itemId},[l.isItem?(k(),T("div",{key:1,class:Ee(["media is-align-items-center",{"with-progress":n.show_progress}]),onClick:c=>o.play_track(l.item)},[n.show_icon?(k(),T("figure",DD,[y(i,{class:"icon",name:"file-outline",size:"16"})])):M("",!0),u("div",PD,[u("h1",{class:Ee(["title is-6",{"has-text-grey":l.item.media_kind==="podcast"&&l.item.play_count>0}]),textContent:g(l.item.title)},null,10,ID),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(l.item.artist)},null,8,FD),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g(l.item.album)},null,8,RD),n.show_progress&&l.item.seek_ms>0?(k(),T("progress",{key:0,class:"progress is-info",max:l.item.length_ms,value:l.item.seek_ms},null,8,LD)):M("",!0)]),u("div",ND,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,MD)])],10,OD)):(k(),T("div",AD,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,TD)]))],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,track:s.selected_track,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1),onPlayCountChanged:t[1]||(t[1]=l=>e.$emit("play-count-changed"))},null,8,["show","track"])]))],64)}const Cn=te($D,[["render",VD],["__scopeId","data-v-323e80b3"]]),HD={name:"ModalDialogAlbum",components:{CoverArtwork:Fn},props:["show","album","media_kind","new_tracks"],emits:["close","remove-podcast","play-count-changed"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return V.artwork_url_append_size_params(this.album.artwork_url)},media_kind_resolved(){return this.media_kind?this.media_kind:this.album.media_kind}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:this.album.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.album.id}}):this.$router.push({name:"music-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}}):this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},mark_played(){V.library_album_track_update(this.album.id,{play_count:"played"}).then(({data:e})=>{this.$emit("play-count-changed"),this.$emit("close")})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},UD={key:0,class:"modal is-active"},BD={class:"modal-content fd-modal-card"},jD={class:"card"},qD={class:"card-content"},WD={class:"title is-4"},GD=["textContent"],KD={key:0,class:"buttons"},ZD=["textContent"],YD=["textContent"],JD={class:"content is-small"},XD={key:0},QD=["textContent"],eP=["textContent"],tP={key:1},nP=["textContent"],rP=["textContent"],sP={key:2},oP=["textContent"],iP=["textContent"],aP=["textContent"],lP=["textContent"],uP=["textContent"],cP=["textContent"],dP=["textContent"],mP=["textContent"],fP=["textContent"],pP=["textContent"],hP={class:"card-footer"},_P=["textContent"],gP=["textContent"],yP=["textContent"];function vP(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",UD,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",BD,[u("div",jD,[u("div",qD,[y(i,{artwork_url:n.album.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5"},null,8,["artwork_url","artist","album"]),u("p",WD,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,GD)]),o.media_kind_resolved==="podcast"?(k(),T("div",KD,[u("a",{class:"button is-small",onClick:t[2]||(t[2]=(...l)=>o.mark_played&&o.mark_played(...l)),textContent:g(e.$t("dialog.album.mark-as-played"))},null,8,ZD),n.album.data_kind==="url"?(k(),T("a",{key:0,class:"button is-small",onClick:t[3]||(t[3]=l=>e.$emit("remove-podcast")),textContent:g(e.$t("dialog.album.remove-podcast"))},null,8,YD)):M("",!0)])):M("",!0),u("div",JD,[n.album.artist?(k(),T("p",XD,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.artist"))},null,8,QD),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artist)},null,8,eP)])):M("",!0),n.album.date_released?(k(),T("p",tP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.release-date"))},null,8,nP),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.date_released))},null,8,rP)])):n.album.year>0?(k(),T("p",sP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.year"))},null,8,oP),u("span",{class:"title is-6",textContent:g(n.album.year)},null,8,iP)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.tracks"))},null,8,aP),u("span",{class:"title is-6",textContent:g(n.album.track_count)},null,8,lP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.duration"))},null,8,uP),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.album.length_ms))},null,8,cP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.type"))},null,8,dP),u("span",{class:"title is-6",textContent:g([e.$t("media.kind."+n.album.media_kind),e.$t("data.kind."+n.album.data_kind)].join(" - "))},null,8,mP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.added-on"))},null,8,fP),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.album.time_added))},null,8,pP)])])]),u("footer",hP,[u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add"))},null,8,_P)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add-next"))},null,8,gP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.play"))},null,8,yP)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[8]||(t[8]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const du=te(HD,[["render",vP]]),ia={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data),e.tracks.group(v5("disc_number")),e.tracks.indexList<=1&&e.tracks.group(xm())}},bP={name:"PageAlbum",components:{ContentWithHero:cu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:du},beforeRouteEnter(e,t,n){ia.load(e).then(r=>{n(s=>ia.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ia.load(e).then(s=>{ia.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!0)}}},zP=["textContent"],CP={class:"subtitle is-6 has-text-link"},wP=["textContent"],kP={class:"buttons fd-is-centered-mobile mt-5"},xP=["textContent"],EP=["textContent"];function SP(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,zP),u("h2",CP,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...d)=>o.open_artist&&o.open_artist(...d)),textContent:g(s.album.artist)},null,8,wP)]),u("div",kP,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.album.shuffle"))},null,8,xP)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=d=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.album.track-count",{count:s.album.track_count}))},null,8,EP),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=d=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const $P=te(bP,[["render",SP]]),AP={name:"ListItemTrackSpotify",props:["track","position","context_uri"],methods:{play(){this.track.is_playable&&V.player_play_uri(this.context_uri,!1,this.position)}}},TP={class:"media is-align-items-center"},OP=["textContent"],DP=["textContent"],PP={key:0,class:"subtitle is-7"},IP=["textContent"],FP=["textContent"],RP={class:"media-right"};function LP(e,t,n,r,s,o){return k(),T("div",TP,[u("div",{class:Ee(["media-content is-clipped",{"is-clickable":n.track.is_playable,"fd-is-not-allowed":!n.track.is_playable}]),onClick:t[0]||(t[0]=(...i)=>o.play&&o.play(...i))},[u("h1",{class:Ee(["title is-6",{"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.name)},null,10,OP),u("h2",{class:Ee(["subtitle is-7",{"has-text-grey":n.track.is_playable,"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.artists[0].name)},null,10,DP),n.track.is_playable?M("",!0):(k(),T("h2",PP,[gt(" ("),u("span",{textContent:g(e.$t("list.spotify.not-playable-track"))},null,8,IP),n.track.restrictions&&n.track.restrictions.reason?(k(),T("span",{key:0,textContent:g(e.$t("list.spotify.restriction-reason",{reason:n.track.restrictions.reason}))},null,8,FP)):M("",!0),gt(") ")]))],2),u("div",RP,[it(e.$slots,"actions")])])}const Sm=te(AP,[["render",LP]]),NP={name:"ModalDialogAlbumSpotify",components:{CoverArtwork:Fn},props:["show","album"],emits:["close"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},MP={key:0,class:"modal is-active"},VP={class:"modal-content fd-modal-card"},HP={class:"card"},UP={class:"card-content"},BP={class:"title is-4"},jP=["textContent"],qP={class:"content is-small"},WP=["textContent"],GP=["textContent"],KP=["textContent"],ZP=["textContent"],YP=["textContent"],JP=["textContent"],XP={class:"card-footer"},QP=["textContent"],eI=["textContent"],tI=["textContent"];function nI(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",MP,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",VP,[u("div",HP,[u("div",UP,[y(i,{artwork_url:o.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5",onLoad:o.artwork_loaded,onError:o.artwork_error},null,8,["artwork_url","artist","album","onLoad","onError"]),u("p",BP,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,jP)]),u("div",qP,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.album-artist"))},null,8,WP),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artists[0].name)},null,8,GP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.release-date"))},null,8,KP),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,ZP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.type"))},null,8,YP),u("span",{class:"title is-6",textContent:g(n.album.album_type)},null,8,JP)])])]),u("footer",XP,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add"))},null,8,QP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add-next"))},null,8,eI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.play"))},null,8,tI)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Ri=te(NP,[["render",nI]]),rI={name:"ModalDialogTrackSpotify",props:["show","track","album"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})}}},sI={key:0,class:"modal is-active"},oI={class:"modal-content fd-modal-card"},iI={class:"card"},aI={class:"card-content"},lI=["textContent"],uI=["textContent"],cI={class:"content is-small"},dI=["textContent"],mI=["textContent"],fI=["textContent"],pI=["textContent"],hI=["textContent"],_I=["textContent"],gI=["textContent"],yI=["textContent"],vI=["textContent"],bI=["textContent"],zI=["textContent"],CI=["textContent"],wI={class:"card-footer"},kI=["textContent"],xI=["textContent"],EI=["textContent"];function SI(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",sI,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",oI,[u("div",iI,[u("div",aI,[u("p",{class:"title is-4",textContent:g(n.track.name)},null,8,lI),u("p",{class:"subtitle",textContent:g(n.track.artists[0].name)},null,8,uI),u("div",cI,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album"))},null,8,dI),u("a",{class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.album.name)},null,8,mI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album-artist"))},null,8,fI),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.album.artists[0].name)},null,8,pI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.release-date"))},null,8,hI),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,_I)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.position"))},null,8,gI),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,yI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.duration"))},null,8,vI),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.duration_ms))},null,8,bI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.path"))},null,8,zI),u("span",{class:"title is-6",textContent:g(n.track.uri)},null,8,CI)])])]),u("footer",wI,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add"))},null,8,kI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add-next"))},null,8,xI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.play"))},null,8,EI)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const $m=te(rI,[["render",SI]]),aa={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getAlbum(e.params.id,{market:He.state.spotify.webapi_country})},set(e,t){e.album=t}},$I={name:"PageAlbumSpotify",components:{ContentWithHero:cu,CoverArtwork:Fn,ListItemTrackSpotify:Sm,ModalDialogAlbumSpotify:Ri,ModalDialogTrackSpotify:$m},beforeRouteEnter(e,t,n){aa.load(e).then(r=>{n(s=>aa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;aa.load(e).then(s=>{aa.set(r,s),n()})},data(){return{album:{artists:[{}],tracks:{}},selected_track:{},show_details_modal:!1,show_track_details_modal:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{open_artist(){this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},play(){this.show_details_modal=!1,V.player_play_uri(this.album.uri,!0)},open_track_dialog(e){this.selected_track=e,this.show_track_details_modal=!0}}},AI=["textContent"],TI={class:"subtitle is-6 has-text-link"},OI=["textContent"],DI={class:"buttons fd-is-centered-mobile mt-5"},PI=["textContent"],II=["textContent"],FI=["onClick"];function RI(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-track-spotify"),c=$("modal-dialog-album-spotify"),m=$("modal-dialog-track-spotify"),d=$("content-with-hero");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,AI),u("h2",TI,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(s.album.artists[0].name)},null,8,OI)]),u("div",DI,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.album.shuffle"))},null,8,PI)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:o.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=f=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.spotify.album.track-count",{count:s.album.tracks.total}))},null,8,II),(k(!0),T(we,null,ct(s.album.tracks.items,(f,p)=>(k(),_e(l,{key:f.id,track:f,position:p,context_uri:s.album.uri},{actions:E(()=>[u("a",{onClick:st(h=>o.open_track_dialog(f),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,FI)]),_:2},1032,["track","position","context_uri"]))),128)),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","album"]),y(m,{show:s.show_track_details_modal,track:s.selected_track,album:s.album,onClose:t[5]||(t[5]=f=>s.show_track_details_modal=!1)},null,8,["show","track","album"])]),_:1})])}const LI=te($I,[["render",RI]]),NI={name:"ContentWithHeading",data(){return{options_visible:!1}},computed:{icon_name(){return this.options_visible?"chevron-up":"chevron-down"},position(){return{hash:this.options_visible?"#top":"#app"}}},mounted(){this.$slots.options&&(this.observer=new IntersectionObserver(this.onElementObserved,{rootMargin:"-82px 0px 0px 0px",threshold:1}),this.observer.observe(this.$refs.options_ref))},methods:{onElementObserved(e){e.forEach(({target:t,isIntersecting:n})=>{this.options_visible=n})},visibilityChanged(e){this.options_visible=e}}},MI={class:"section"},VI={class:"container"},HI={class:"columns is-centered"},UI={class:"column is-four-fifths"},BI={key:0},jI={ref:"options_ref",style:{height:"1px"}},qI={class:"buttons is-centered mt-4 mb-2"},WI={id:"top",class:"level is-clipped"},GI={class:"level-left is-flex-shrink-1"},KI={class:"level-item is-flex-shrink-1 has-text-centered-mobile"},ZI={class:"level-right has-text-centered-mobile"},YI={class:"mt-4"};function JI(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",MI,[u("div",VI,[u("div",HI,[u("div",UI,[e.$slots.options?(k(),T("section",BI,[u("div",jI,null,512),it(e.$slots,"options"),u("nav",qI,[y(a,{class:"button is-small is-white",to:o.position},{default:E(()=>[y(i,{class:"icon is-small",name:o.icon_name,size:"16"},null,8,["name"])]),_:1},8,["to"])])])):M("",!0),u("div",{class:Ee({"is-full-height":e.$slots.options})},[u("nav",WI,[u("div",GI,[u("div",KI,[u("div",null,[it(e.$slots,"heading-left")])])]),u("div",ZI,[it(e.$slots,"heading-right")])]),it(e.$slots,"content"),u("div",YI,[it(e.$slots,"footer")])],2)])])])])}const et=te(NI,[["render",JI]]),XI={name:"ControlDropdown",props:["value","options"],emits:["update:value"],data(){return{is_active:!1}},computed:{option:{get(){return this.options.find(e=>e.id===this.value)}}},methods:{onClickOutside(e){this.is_active=!1},select(e){this.is_active=!1,this.$emit("update:value",e.id)}}},QI={class:"dropdown-trigger"},eF=["textContent"],tF={id:"dropdown",class:"dropdown-menu",role:"menu"},nF={class:"dropdown-content"},rF=["onClick","textContent"];function sF(e,t,n,r,s,o){const i=$("mdicon"),a=Ld("click-away");return yt((k(),T("div",{class:Ee(["dropdown",{"is-active":s.is_active}])},[u("div",QI,[u("button",{class:"button","aria-haspopup":"true","aria-controls":"dropdown",onClick:t[0]||(t[0]=l=>s.is_active=!s.is_active)},[u("span",{textContent:g(o.option.name)},null,8,eF),y(i,{class:"icon",name:"chevron-down",size:"16"})])]),u("div",tF,[u("div",nF,[(k(!0),T(we,null,ct(n.options,l=>(k(),T("a",{key:l.id,class:Ee(["dropdown-item",{"is-active":n.value===l.id}]),onClick:c=>o.select(l),textContent:g(l.name)},null,10,rF))),128))])])],2)),[[a,o.onClickOutside]])}const Ss=te(XI,[["render",sF]]),oF={name:"IndexButtonList",props:["index"]},iF={class:"buttons is-centered mb-4 fd-is-square"};function aF(e,t,n,r,s,o){const i=$("router-link");return k(),T("section",null,[u("nav",iF,[(k(!0),T(we,null,ct(n.index,a=>(k(),_e(i,{key:a,class:"button is-small",to:"#index_"+a},{default:E(()=>[gt(g(a),1)]),_:2},1032,["to"]))),128))])])}const Jn=te(oF,[["render",aF]]),lF={name:"ListAlbums",components:{CoverArtwork:Fn,ModalDialog:cm,ModalDialogAlbum:du},props:["albums","media_kind","hide_group_title"],emits:["play-count-changed","podcast-deleted"],data(){return{show_details_modal:!1,selected_album:{},show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value},media_kind_resolved(){return this.media_kind?this.media_kind:this.selected_album.media_kind}},methods:{open_album(e){this.selected_album=e,this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:e.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:e.id}}):this.$router.push({name:"music-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_details_modal=!0},open_remove_podcast_dialog(){V.library_album_tracks(this.selected_album.id,{limit:1}).then(({data:e})=>{V.library_track_playlists(e.items[0].id).then(({data:t})=>{this.rss_playlist_to_remove=t.items.filter(n=>n.type==="rss")[0],this.show_remove_podcast_modal=!0,this.show_details_modal=!1})})},play_count_changed(){this.$emit("play-count-changed")},remove_podcast(){this.show_remove_podcast_modal=!1,V.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$emit("podcast-deleted")})}}},uF={key:0,class:"mt-6 mb-5 py-2"},cF=["id","textContent"],dF=["onClick"],mF={key:0,class:"media-left"},fF={class:"media-content is-clickable is-clipped"},pF=["textContent"],hF=["textContent"],_F=["textContent"],gF={class:"media-right"},yF=["onClick"],vF=["textContent"],bF={class:"is-size-7"},zF=["textContent"],CF=["textContent"];function wF(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon"),l=$("modal-dialog-album"),c=$("modal-dialog");return k(),T(we,null,[(k(!0),T(we,null,ct(n.albums,m=>(k(),T(we,{key:m.itemId},[!m.isItem&&!n.hide_group_title?(k(),T("div",uF,[u("span",{id:"index_"+m.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(m.groupKey)},null,8,cF)])):m.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:d=>o.open_album(m.item)},[o.is_visible_artwork?(k(),T("div",mF,[y(i,{artwork_url:m.item.artwork_url,artist:m.item.artist,album:m.item.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image"},null,8,["artwork_url","artist","album"])])):M("",!0),u("div",fF,[u("div",null,[u("h1",{class:"title is-6",textContent:g(m.item.name)},null,8,pF),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(m.item.artist)},null,8,hF),m.item.date_released&&m.item.media_kind==="music"?(k(),T("h2",{key:0,class:"subtitle is-7 has-text-grey",textContent:g(e.$filters.date(m.item.date_released))},null,8,_F)):M("",!0)])]),u("div",gF,[u("a",{onClick:st(d=>o.open_dialog(m.item),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,yF)])],8,dF)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(l,{show:s.show_details_modal,album:s.selected_album,media_kind:n.media_kind,onRemovePodcast:t[0]||(t[0]=m=>o.open_remove_podcast_dialog()),onPlayCountChanged:t[1]||(t[1]=m=>o.play_count_changed()),onClose:t[2]||(t[2]=m=>s.show_details_modal=!1)},null,8,["show","album","media_kind"]),y(c,{show:s.show_remove_podcast_modal,title:e.$t("page.podcast.remove-podcast"),delete_action:e.$t("page.podcast.remove"),onClose:t[3]||(t[3]=m=>s.show_remove_podcast_modal=!1),onDelete:o.remove_podcast},{"modal-content":E(()=>[u("p",{textContent:g(e.$t("list.albums.info-1"))},null,8,vF),u("p",bF,[gt(" ("),u("span",{textContent:g(e.$t("list.albums.info-2"))},null,8,zF),u("b",{textContent:g(s.rss_playlist_to_remove.name)},null,8,CF),gt(") ")])]),_:1},8,["show","title","delete_action","onDelete"])]))],64)}const ur=te(lF,[["render",wF]]),kF={name:"TabsMusic",computed:{spotify_enabled(){return this.$store.state.spotify.webapi_token_valid}}},xF={class:"section fd-tabs-section"},EF={class:"container"},SF={class:"columns is-centered"},$F={class:"column is-four-fifths"},AF={class:"tabs is-centered is-small"},TF=["onClick","onKeypress"],OF=["textContent"],DF=["onClick","onKeypress"],PF=["textContent"],IF=["onClick","onKeypress"],FF=["textContent"],RF=["onClick","onKeypress"],LF=["textContent"],NF=["onClick","onKeypress"],MF=["textContent"],VF=["onClick","onKeypress"],HF=["textContent"];function UF(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",xF,[u("div",EF,[u("div",SF,[u("div",$F,[u("div",AF,[u("ul",null,[y(a,{to:{name:"music-history"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"history",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.history"))},null,8,OF)],40,TF)],2)]),_:1}),y(a,{to:{name:"music-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.artists"))},null,8,PF)],40,DF)],2)]),_:1}),y(a,{to:{name:"music-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.albums"))},null,8,FF)],40,IF)],2)]),_:1}),y(a,{to:{name:"music-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.genres"))},null,8,LF)],40,RF)],2)]),_:1}),y(a,{to:{name:"music-composers"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"book-open-page-variant",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.composers"))},null,8,MF)],40,NF)],2)]),_:1}),o.spotify_enabled?(k(),_e(a,{key:0,to:{name:"music-spotify"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"spotify",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.spotify"))},null,8,HF)],40,VF)],2)]),_:1})):M("",!0)])])])])])])}const cr=te(kF,[["render",UF]]),la={load(e){return V.library_albums("music")},set(e,t){e.albums_list=new ve(t.data)}},BF={name:"PageAlbums",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListAlbums:ur,TabsMusic:cr},beforeRouteEnter(e,t,n){la.load(e).then(r=>{n(s=>la.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;la.load(e).then(s=>{la.set(r,s),n()})},data(){return{albums_list:new ve,grouping_options:[{id:1,name:this.$t("page.albums.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.albums.sort.recently-added"),options:xl("time_added",{direction:"desc"})},{id:3,name:this.$t("page.albums.sort.recently-released"),options:xl("date_released",{direction:"desc"})}]}},computed:{albums(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.albums_list.group(e.options,[t=>!this.hide_singles||t.track_count>2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},selected_grouping_option_id:{get(){return this.$store.state.albums_sort},set(e){this.$store.commit(Xh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Ol,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}}}},jF={class:"fd-page-with-tabs"},qF={class:"columns"},WF={class:"column"},GF=["textContent"],KF={class:"field"},ZF={class:"control"},YF=["textContent"],JF=["textContent"],XF={key:0,class:"field"},QF={class:"control"},eR=["textContent"],tR=["textContent"],nR={class:"column"},rR=["textContent"],sR=["textContent"],oR=["textContent"];function iR(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-albums"),m=$("content-with-heading");return k(),T("div",jF,[y(i),y(m,null,{options:E(()=>[y(a,{index:o.albums.indexList},null,8,["index"]),u("div",qF,[u("div",WF,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.filter"))},null,8,GF),u("div",KF,[u("div",ZF,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=d=>o.hide_singles=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.albums.hide-singles"))},null,8,YF)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-singles-help"))},null,8,JF)]),o.spotify_enabled?(k(),T("div",XF,[u("div",QF,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=d=>o.hide_spotify=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.albums.hide-spotify"))},null,8,eR)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-spotify-help"))},null,8,tR)])):M("",!0)]),u("div",nR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.sort.title"))},null,8,rR),y(l,{value:o.selected_grouping_option_id,"onUpdate:value":t[2]||(t[2]=d=>o.selected_grouping_option_id=d),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.albums.title"))},null,8,sR),u("p",{class:"heading",textContent:g(e.$t("page.albums.count",{count:o.albums.count}))},null,8,oR)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{albums:o.albums},null,8,["albums"])]),_:1})])}const aR=te(BF,[["render",iR]]),lR={name:"ModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-artist",params:{id:this.artist.id}})}}},uR={key:0,class:"modal is-active"},cR={class:"modal-content fd-modal-card"},dR={class:"card"},mR={class:"card-content"},fR={class:"title is-4"},pR=["textContent"],hR={class:"content is-small"},_R=["textContent"],gR=["textContent"],yR=["textContent"],vR=["textContent"],bR=["textContent"],zR=["textContent"],CR=["textContent"],wR=["textContent"],kR={class:"card-footer"},xR=["textContent"],ER=["textContent"],SR=["textContent"];function $R(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",uR,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",cR,[u("div",dR,[u("div",mR,[u("p",fR,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,pR)]),u("div",hR,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.albums"))},null,8,_R),u("span",{class:"title is-6",textContent:g(n.artist.album_count)},null,8,gR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.tracks"))},null,8,yR),u("span",{class:"title is-6",textContent:g(n.artist.track_count)},null,8,vR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.type"))},null,8,bR),u("span",{class:"title is-6",textContent:g(e.$t("data.kind."+n.artist.data_kind))},null,8,zR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.added-on"))},null,8,CR),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.artist.time_added))},null,8,wR)])])]),u("footer",kR,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add"))},null,8,xR)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add-next"))},null,8,ER)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.play"))},null,8,SR)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const mu=te(lR,[["render",$R]]),ua={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums_list=new ve(t[1].data)}},AR={name:"PageArtist",components:{ContentWithHeading:et,ControlDropdown:Ss,ListAlbums:ur,ModalDialogArtist:mu},beforeRouteEnter(e,t,n){ua.load(e).then(r=>{n(s=>ua.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ua.load(e).then(s=>{ua.set(r,s),n()})},data(){return{artist:{},albums_list:new ve,grouping_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artist.sort.release-date"),options:xl("date_released",{direction:"asc"})}],show_details_modal:!1}},computed:{albums(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.albums_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}},selected_grouping_option_id:{get(){return this.$store.state.artist_albums_sort},set(e){this.$store.commit(Yh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},track_count(){return[...this.albums].reduce((e,t)=>e+(t.isItem?t.item.track_count:0),0)}},methods:{open_tracks(){this.$router.push({name:"music-artist-tracks",params:{id:this.artist.id}})},play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!0)}}},TR={class:"columns"},OR={class:"column"},DR=["textContent"],PR={key:0,class:"field"},IR={class:"control"},FR=["textContent"],RR=["textContent"],LR={class:"column"},NR=["textContent"],MR=["textContent"],VR={class:"buttons is-centered"},HR=["textContent"],UR={class:"heading has-text-centered-mobile"},BR=["textContent"],jR=u("span",null," | ",-1),qR=["textContent"];function WR(e,t,n,r,s,o){const i=$("control-dropdown"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-artist"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[u("div",TR,[u("div",OR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,DR),o.spotify_enabled?(k(),T("div",PR,[u("div",IR,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=d=>o.hide_spotify=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,FR)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,RR)])):M("",!0)]),u("div",LR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,NR),y(i,{value:o.selected_grouping_option_id,"onUpdate:value":t[1]||(t[1]=d=>o.selected_grouping_option_id=d),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,MR)]),"heading-right":E(()=>[u("div",VR,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=d=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...d)=>o.play&&o.play(...d))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,HR)])])]),content:E(()=>[u("p",UR,[u("span",{textContent:g(e.$t("page.artist.album-count",{count:o.albums.count}))},null,8,BR),jR,u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...d)=>o.open_tracks&&o.open_tracks(...d)),textContent:g(e.$t("page.artist.track-count",{count:o.track_count}))},null,8,qR)]),y(l,{albums:o.albums,hide_group_title:!0},null,8,["albums"]),y(c,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=d=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const GR=te(AR,[["render",WR]]),KR={name:"ListItemAlbumSpotify",props:["album"]},ZR={class:"media is-align-items-center"},YR={key:0,class:"media-left is-clickable"},JR={class:"media-content is-clickable is-clipped"},XR=["textContent"],QR=["textContent"],eL=["textContent"],tL={class:"media-right"};function nL(e,t,n,r,s,o){return k(),T("div",ZR,[e.$slots.artwork?(k(),T("div",YR,[it(e.$slots,"artwork")])):M("",!0),u("div",JR,[u("h1",{class:"title is-6",textContent:g(n.album.name)},null,8,XR),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(n.album.artists[0].name)},null,8,QR),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g([n.album.album_type,e.$filters.date(n.album.release_date)].join(", "))},null,8,eL)]),u("div",tL,[it(e.$slots,"actions")])])}const fu=te(KR,[["render",nL]]),rL={name:"ModalDialogArtistSpotify",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.artist.id}})}}},sL={key:0,class:"modal is-active"},oL={class:"modal-content fd-modal-card"},iL={class:"card"},aL={class:"card-content"},lL={class:"title is-4"},uL=["textContent"],cL={class:"content is-small"},dL=["textContent"],mL=["textContent"],fL=["textContent"],pL=["textContent"],hL={class:"card-footer"},_L=["textContent"],gL=["textContent"],yL=["textContent"];function vL(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",sL,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",oL,[u("div",iL,[u("div",aL,[u("p",lL,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,uL)]),u("div",cL,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.popularity"))},null,8,dL),u("span",{class:"title is-6",textContent:g([n.artist.popularity,n.artist.followers.total].join(" / "))},null,8,mL)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.genres"))},null,8,fL),u("span",{class:"title is-6",textContent:g(n.artist.genres.join(", "))},null,8,pL)])])]),u("footer",hL,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add"))},null,8,_L)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add-next"))},null,8,gL)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.play"))},null,8,yL)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const B1=te(rL,[["render",vL]]);function bL(e){return e.scrollHeight}function zL(e){return e.scrollWidth}function CL(e,t){e.scrollTop=e.scrollHeight-t+e.scrollTop}function wL(e,t){e.scrollLeft=e.scrollWidth-t+e.scrollLeft}const kL=u("div",{class:"loading"},"Loading...",-1),xL=u("div",{class:"no-more"},"No more.",-1),EL=u("div",{class:"no-results"},"No results.",-1),SL=u("div",{class:"error"},"Error.",-1),Am=br({__name:"VueEternalLoading",props:{load:{required:!0,type:Function},isInitial:{required:!1,type:Boolean,default:!0},position:{required:!1,type:String,default:"default"},container:{required:!1,type:Object,default:null},margin:{required:!1,type:String,default:void 0}},emits:["update:isInitial"],setup(e,{emit:t}){const n=e,r=sr();let s=sr("loading"),o=sr(n.isInitial),i=0;function a(){ho(()=>{var v,z;n.position==="top"?CL((v=n.container)!=null?v:document.documentElement,i):n.position==="left"&&wL((z=n.container)!=null?z:document.documentElement,i)})}function l(v,z){return v===0?o.value?(m(),"no-results"):(c(),"no-more"):v!==void 0&&z!==void 0&&v{var z,S;v.isIntersecting&&(n.position==="top"?i=bL((z=n.container)!=null?z:document.documentElement):n.position==="left"&&(i=zL((S=n.container)!=null?S:document.documentElement)),_(),n.load({loaded:l,noMore:c,noResults:m,error:d},{isFirstLoad:o.value}))},{root:n.container,threshold:0,rootMargin:n.margin})}let C;return typeof IntersectionObserver<"u"&&F_(()=>{C&&_(),C=w(),b()},{flush:"post"}),bn(()=>n.isInitial,v=>{v&&f()}),bn(o,v=>{v||t("update:isInitial",!1)}),(v,z)=>(k(),T("div",{class:"vue-eternal-loading",ref_key:"rootRef",ref:r},[yn(s)==="loading"?it(v.$slots,"loading",Fo(Hs({key:0},{isFirstLoad:yn(o)})),()=>[kL]):yn(s)==="no-more"?it(v.$slots,"no-more",Fo(Hs({key:1},{retry:p})),()=>[xL]):yn(s)==="no-results"?it(v.$slots,"no-results",Fo(Hs({key:2},{retry:p})),()=>[EL]):yn(s)==="error"?it(v.$slots,"error",Fo(Hs({key:3},{retry:p})),()=>[SL]):M("",!0)],512))}}),id=50,ca={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getArtist(e.params.id),t.getArtistAlbums(e.params.id,{limit:id,offset:0,include_groups:"album,single",market:He.state.spotify.webapi_country})])},set(e,t){e.artist=t[0],e.albums=[],e.total=0,e.offset=0,e.append_albums(t[1])}},$L={name:"PageArtistSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:fu,ModalDialogAlbumSpotify:Ri,ModalDialogArtistSpotify:B1,VueEternalLoading:Am},beforeRouteEnter(e,t,n){ca.load(e).then(r=>{n(s=>ca.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ca.load(e).then(s=>{ca.set(r,s),n()})},data(){return{albums:[],artist:{},offset:0,selected_album:{},show_album_details_modal:!1,show_details_modal:!1,total:0}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{load_next({loaded:e}){const t=new Yn;t.setAccessToken(this.$store.state.spotify.webapi_token),t.getArtistAlbums(this.artist.id,{limit:id,offset:this.offset,include_groups:"album,single"}).then(n=>{this.append_albums(n),e(n.items.length,id)})},append_albums(e){this.albums=this.albums.concat(e.items),this.total=e.total,this.offset+=e.limit},play(){this.show_album_details_modal=!1,V.player_play_uri(this.artist.uri,!0)},open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},AL=["textContent"],TL={class:"buttons is-centered"},OL=["textContent"],DL=["textContent"],PL=["onClick"],IL={class:"columns is-centered"},FL={class:"column has-text-centered"};function RL(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-album-spotify"),c=$("VueEternalLoading"),m=$("modal-dialog-artist-spotify"),d=$("modal-dialog-album-spotify"),f=$("content-with-heading");return k(),T("div",null,[y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,AL)]),"heading-right":E(()=>[u("div",TL,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=p=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...p)=>o.play&&o.play(...p))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.artist.shuffle"))},null,8,OL)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.spotify.artist.album-count",{count:s.total}))},null,8,DL),(k(!0),T(we,null,ct(s.albums,p=>(k(),_e(l,{key:p.id,album:p,onClick:h=>o.open_album(p)},Si({actions:E(()=>[u("a",{onClick:st(h=>o.open_dialog(p),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,PL)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(p),artist:p.artist,album:p.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),s.offset[u("div",IL,[u("div",FL,[y(i,{class:"icon mdi-spin",name:"loading"})])])]),"no-more":E(()=>[gt(" ")]),_:1},8,["load"])):M("",!0),y(m,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=p=>s.show_details_modal=!1)},null,8,["show","artist"]),y(d,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[3]||(t[3]=p=>s.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})])}const LL=te($L,[["render",RL]]),NL={name:"ListArtists",components:{ModalDialogArtist:mu},props:["artists","hide_group_title"],data(){return{show_details_modal:!1,selected_artist:{}}},methods:{open_artist(e){this.selected_artist=e;const t=e.media_kind==="audiobook"?"audiobooks-artist":"music-artist";this.$router.push({name:t,params:{id:e.id}})},open_dialog(e){this.selected_artist=e,this.show_details_modal=!0}}},ML={key:0,class:"mt-6 mb-5 py-2"},VL={class:"media-content is-clipped"},HL=["id","textContent"],UL=["onClick"],BL={class:"media-content is-clickable is-clipped"},jL=["textContent"],qL={class:"media-right"},WL=["onClick"];function GL(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-artist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.artists,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",ML,[u("div",VL,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,HL)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_artist(l.item)},[u("div",BL,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,jL)]),u("div",qL,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,WL)])],8,UL)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{artist:s.selected_artist,show:s.show_details_modal,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["artist","show"])]))],64)}const Tm=te(NL,[["render",GL]]),da={load(e){return V.library_artists("music")},set(e,t){e.artists_list=new ve(t.data)}},KL={name:"PageArtists",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListArtists:Tm,TabsMusic:cr},beforeRouteEnter(e,t,n){da.load(e).then(r=>{n(s=>da.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;da.load(e).then(s=>{da.set(r,s),n()})},data(){return{artists_list:new ve,grouping_options:[{id:1,name:this.$t("page.artists.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artists.sort.recently-added"),options:xl("time_added",{direction:"desc"})}]}},computed:{artists(){if(!this.artists_list)return[];const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.artists_list.group(e.options,[t=>!this.hide_singles||t.track_count>t.album_count*2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.artists_list},selected_grouping_option_id:{get(){return this.$store.state.artists_sort},set(e){this.$store.commit(Zh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Ol,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}}}},ZL={class:"fd-page-with-tabs"},YL={class:"columns"},JL={class:"column"},XL=["textContent"],QL={class:"field"},eN={class:"control"},tN=["textContent"],nN=["textContent"],rN={key:0,class:"field"},sN={class:"control"},oN=["textContent"],iN=["textContent"],aN={class:"column"},lN=["textContent"],uN=["textContent"],cN=["textContent"];function dN(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-artists"),m=$("content-with-heading");return k(),T("div",ZL,[y(i),y(m,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"]),u("div",YL,[u("div",JL,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.filter"))},null,8,XL),u("div",QL,[u("div",eN,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=d=>o.hide_singles=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.artists.hide-singles"))},null,8,tN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-singles-help"))},null,8,nN)]),o.spotify_enabled?(k(),T("div",rN,[u("div",sN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=d=>o.hide_spotify=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artists.hide-spotify"))},null,8,oN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-spotify-help"))},null,8,iN)])):M("",!0)]),u("div",aN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.sort.title"))},null,8,lN),y(l,{value:o.selected_grouping_option_id,"onUpdate:value":t[2]||(t[2]=d=>o.selected_grouping_option_id=d),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.artists.title"))},null,8,uN),u("p",{class:"heading",textContent:g(e.$t("page.artists.count",{count:o.artists.count}))},null,8,cN)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{artists:o.artists},null,8,["artists"])]),_:1})])}const mN=te(KL,[["render",dN]]),ma={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_tracks(e.params.id)])},set(e,t){e.artist=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},fN={name:"PageArtistTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogArtist:mu},beforeRouteEnter(e,t,n){ma.load(e).then(r=>{n(s=>ma.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ma.load(e).then(s=>{ma.set(r,s),n()})},data(){return{artist:{},grouping_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.artist.sort.rating"),options:Em("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{album_count(){return new Set([...this.tracks].filter(e=>e.isItem).map(e=>e.item.album_id)).size},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}},selected_grouping_option_id:{get(){return this.$store.state.artist_tracks_sort},set(e){this.$store.commit(Jh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},tracks(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.tracks_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.tracks_list},track_uris(){return this.tracks_list.items.map(e=>e.uri).join(",")}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.artist.id}})},play(){V.player_play_uri(this.tracks_list.items.map(e=>e.uri).join(","),!0)}}},pN={class:"columns"},hN={class:"column"},_N=["textContent"],gN={key:0,class:"field"},yN={class:"control"},vN=["textContent"],bN=["textContent"],zN={class:"column"},CN=["textContent"],wN=["textContent"],kN={class:"buttons is-centered"},xN=["textContent"],EN={class:"heading has-text-centered-mobile"},SN=["textContent"],$N=u("span",null," | ",-1),AN=["textContent"];function TN(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),m=$("modal-dialog-artist"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",pN,[u("div",hN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,_N),o.spotify_enabled?(k(),T("div",gN,[u("div",yN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=f=>o.hide_spotify=f),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,vN)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,bN)])):M("",!0)]),u("div",zN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,CN),y(a,{value:o.selected_grouping_option_id,"onUpdate:value":t[1]||(t[1]=f=>o.selected_grouping_option_id=f),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,wN)]),"heading-right":E(()=>[u("div",kN,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,xN)])])]),content:E(()=>[u("p",EN,[u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(e.$t("page.artist.album-count",{count:o.album_count}))},null,8,SN),$N,u("span",{textContent:g(e.$t("page.artist.track-count",{count:o.tracks.count}))},null,8,AN)]),y(c,{tracks:o.tracks,uris:o.track_uris},null,8,["tracks","uris"]),y(m,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=f=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const ON=te(fN,[["render",TN]]),fa={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data)}},DN={name:"PageAudiobooksAlbum",components:{ContentWithHero:cu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:du},beforeRouteEnter(e,t,n){fa.load(e).then(r=>{n(s=>fa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;fa.load(e).then(s=>{fa.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!1)}}},PN=["textContent"],IN={class:"subtitle is-6 has-text-link"},FN=["textContent"],RN={class:"buttons fd-is-centered-mobile mt-5"},LN=["textContent"],NN=["textContent"];function MN(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,PN),u("h2",IN,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...d)=>o.open_artist&&o.open_artist(...d)),textContent:g(s.album.artist)},null,8,FN)]),u("div",RN,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.album.play"))},null,8,LN)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=d=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.audiobooks.album.track-count",{count:s.album.track_count}))},null,8,NN),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,media_kind:"audiobook",onClose:t[4]||(t[4]=d=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const VN=te(DN,[["render",MN]]),HN={name:"TabsAudiobooks"},UN={class:"section fd-tabs-section"},BN={class:"container"},jN={class:"columns is-centered"},qN={class:"column is-four-fifths"},WN={class:"tabs is-centered is-small"},GN=["onClick","onKeypress"],KN=["textContent"],ZN=["onClick","onKeypress"],YN=["textContent"],JN=["onClick","onKeypress"],XN=["textContent"];function QN(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",UN,[u("div",BN,[u("div",jN,[u("div",qN,[u("div",WN,[u("ul",null,[y(a,{to:{name:"audiobooks-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.authors"))},null,8,KN)],40,GN)],2)]),_:1}),y(a,{to:{name:"audiobooks-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.audiobooks"))},null,8,YN)],40,ZN)],2)]),_:1}),y(a,{to:{name:"audiobooks-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.genres"))},null,8,XN)],40,JN)],2)]),_:1})])])])])])])}const Om=te(HN,[["render",QN]]),pa={load(e){return V.library_albums("audiobook")},set(e,t){e.albums=new ve(t.data),e.albums.group(Rn("name_sort",!0))}},eM={name:"PageAudiobooksAlbums",components:{TabsAudiobooks:Om,ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur},beforeRouteEnter(e,t,n){pa.load(e).then(r=>{n(s=>pa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;pa.load(e).then(s=>{pa.set(r,s),n()})},data(){return{albums:new ve}}},tM={class:"fd-page-with-tabs"},nM=["textContent"],rM=["textContent"];function sM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-albums"),c=$("content-with-heading");return k(),T("div",tM,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.albums.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.albums.title"))},null,8,nM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.albums.count",{count:s.albums.count}))},null,8,rM)]),content:E(()=>[y(l,{albums:s.albums},null,8,["albums"])]),_:1})])}const oM=te(eM,[["render",sM]]),ha={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums=new ve(t[1].data)}},iM={name:"PageAudiobooksArtist",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogArtist:mu},beforeRouteEnter(e,t,n){ha.load(e).then(r=>{n(s=>ha.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;ha.load(e).then(s=>{ha.set(r,s),n()})},data(){return{artist:{},albums:new ve,show_details_modal:!1}},methods:{play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!1)}}},aM=["textContent"],lM={class:"buttons is-centered"},uM=["textContent"],cM=["textContent"];function dM(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-artist"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,aM)]),"heading-right":E(()=>[u("div",lM,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.artist.play"))},null,8,uM)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.audiobooks.artist.album-count",{count:s.artist.album_count}))},null,8,cM),y(a,{albums:s.albums},null,8,["albums"]),y(l,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=m=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const mM=te(iM,[["render",dM]]),_a={load(e){return V.library_artists("audiobook")},set(e,t){e.artists_list=new ve(t.data)}},fM={name:"PageAudiobooksArtists",components:{ContentWithHeading:et,TabsAudiobooks:Om,IndexButtonList:Jn,ListArtists:Tm},beforeRouteEnter(e,t,n){_a.load(e).then(r=>{n(s=>_a.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;_a.load(e).then(s=>{_a.set(r,s),n()})},data(){return{artists_list:new ve}},computed:{artists(){return this.artists_list?(this.artists_list.group(Rn("name_sort",!0)),this.artists_list):[]}}},pM={class:"fd-page-with-tabs"},hM=["textContent"],_M=["textContent"];function gM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-artists"),c=$("content-with-heading");return k(),T("div",pM,[y(i),y(c,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.artists.title"))},null,8,hM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.artists.count",{count:o.artists.count}))},null,8,_M)]),"heading-right":E(()=>[]),content:E(()=>[y(l,{artists:o.artists},null,8,["artists"])]),_:1})])}const yM=te(fM,[["render",gM]]),vM={name:"ModalDialogGenre",props:["genre","media_kind","show"],emits:["close"],computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`}},methods:{play(){this.$emit("close"),V.player_play_expression(this.expression,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(this.expression)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(this.expression)},open_genre(){this.$emit("close"),this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})}}},bM={key:0,class:"modal is-active"},zM={class:"modal-content fd-modal-card"},CM={class:"card"},wM={class:"card-content"},kM={class:"title is-4"},xM=["textContent"],EM={class:"content is-small"},SM=["textContent"],$M=["textContent"],AM=["textContent"],TM=["textContent"],OM=["textContent"],DM=["textContent"],PM={class:"card-footer"},IM=["textContent"],FM=["textContent"],RM=["textContent"];function LM(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",bM,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",zM,[u("div",CM,[u("div",wM,[u("p",kM,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.genre.name)},null,8,xM)]),u("div",EM,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.albums"))},null,8,SM),u("span",{class:"title is-6",textContent:g(n.genre.album_count)},null,8,$M)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.tracks"))},null,8,AM),u("span",{class:"title is-6",textContent:g(n.genre.track_count)},null,8,TM)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.duration"))},null,8,OM),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.genre.length_ms))},null,8,DM)])])]),u("footer",PM,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add"))},null,8,IM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add-next"))},null,8,FM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.play"))},null,8,RM)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Dm=te(vM,[["render",LM]]),NM={name:"ListGenres",components:{ModalDialogGenre:Dm},props:["genres","hide_group_title","media_kind"],data(){return{show_details_modal:!1,selected_genre:{}}},methods:{open_genre(e){this.$router.push({name:"genre-albums",params:{name:e.name},query:{media_kind:this.media_kind}})},open_dialog(e){this.selected_genre=e,this.show_details_modal=!0}}},MM={key:0,class:"mt-6 mb-5 py-2"},VM={class:"media-content is-clipped"},HM=["id","textContent"],UM=["onClick"],BM={class:"media-content is-clickable is-clipped"},jM=["textContent"],qM={class:"media-right"},WM=["onClick"];function GM(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-genre");return k(),T(we,null,[(k(!0),T(we,null,ct(n.genres,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",MM,[u("div",VM,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,HM)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_genre(l.item)},[u("div",BM,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,jM)]),u("div",qM,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,WM)])],8,UM)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,genre:s.selected_genre,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]))],64)}const j1=te(NM,[["render",GM]]),ga={load(e){return V.library_genres("audiobook")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},KM={name:"PageAudiobooksGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:j1,TabsAudiobooks:Om},beforeRouteEnter(e,t,n){ga.load(e).then(r=>{n(s=>ga.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ga.load(e).then(s=>{ga.set(r,s),n()})},data(){return{genres:new ve}}},ZM={class:"fd-page-with-tabs"},YM=["textContent"],JM=["textContent"];function XM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",ZM,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,YM),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,JM)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"audiobook"},null,8,["genres"])]),_:1})])}const QM=te(KM,[["render",XM]]),ya={load(e){return Promise.all([V.search({type:"album",expression:"time_added after 8 weeks ago and media_kind is music having track_count > 3 order by time_added desc",limit:3}),V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:3})])},set(e,t){e.recently_added=new ve(t[0].data.albums),e.recently_played=new ve(t[1].data.tracks)}},e7={name:"PageMusic",components:{ContentWithHeading:et,ListAlbums:ur,ListTracks:Cn,TabsMusic:cr},beforeRouteEnter(e,t,n){ya.load(e).then(r=>{n(s=>ya.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ya.load(e).then(s=>{ya.set(r,s),n()})},data(){return{recently_added:[],recently_played:{items:[]},selected_track:{}}}},t7={class:"fd-page-with-tabs"},n7=["textContent"],r7={class:"level"},s7={class:"level-item"},o7=["textContent"],i7={class:"level"},a7={class:"level-item"};function l7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("router-link"),c=$("content-with-heading"),m=$("list-tracks");return k(),T("div",t7,[y(i),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,n7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),footer:E(()=>[u("nav",r7,[u("p",s7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-added"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1}),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,o7)]),content:E(()=>[y(m,{tracks:s.recently_played},null,8,["tracks"])]),footer:E(()=>[u("nav",i7,[u("p",a7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-played"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1})])}const u7=te(e7,[["render",l7]]),va={load(e){const t=He.getters.settings_option_recently_added_limit;return V.search({type:"album",expression:"media_kind is music having track_count > 3 order by time_added desc",limit:t})},set(e,t){e.recently_added=new ve(t.data.albums),e.recently_added.group(b5("time_added",{direction:"desc"}))}},c7={name:"PageMusicRecentlyAdded",components:{ContentWithHeading:et,TabsMusic:cr,ListAlbums:ur},beforeRouteEnter(e,t,n){va.load(e).then(r=>{n(s=>va.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.recently_added.isEmpty()){n();return}const r=this;va.load(e).then(s=>{va.set(r,s),n()})},data(){return{recently_added:new ve}}},d7={class:"fd-page-with-tabs"},m7=["textContent"];function f7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("content-with-heading");return k(),T("div",d7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,m7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),_:1})])}const p7=te(c7,[["render",f7]]),ba={load(e){return V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:50})},set(e,t){e.recently_played=new ve(t.data.tracks)}},h7={name:"PageMusicRecentlyPlayed",components:{ContentWithHeading:et,TabsMusic:cr,ListTracks:Cn},beforeRouteEnter(e,t,n){ba.load(e).then(r=>{n(s=>ba.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ba.load(e).then(s=>{ba.set(r,s),n()})},data(){return{recently_played:{}}}},_7={class:"fd-page-with-tabs"},g7=["textContent"];function y7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-tracks"),l=$("content-with-heading");return k(),T("div",_7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,g7)]),content:E(()=>[y(a,{tracks:s.recently_played},null,8,["tracks"])]),_:1})])}const v7=te(h7,[["render",y7]]),b7={name:"ListItemPlaylistSpotify",props:["playlist"],methods:{open_playlist(){this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},z7={class:"media is-align-items-center"},C7=["textContent"],w7=["textContent"],k7={class:"media-right"};function x7(e,t,n,r,s,o){return k(),T("div",z7,[u("div",{class:"media-content is-clickable is-clipped",onClick:t[0]||(t[0]=(...i)=>o.open_playlist&&o.open_playlist(...i))},[u("h1",{class:"title is-6",textContent:g(n.playlist.name)},null,8,C7),u("h2",{class:"subtitle is-7",textContent:g(n.playlist.owner.display_name)},null,8,w7)]),u("div",k7,[it(e.$slots,"actions")])])}const Pm=te(b7,[["render",x7]]),E7={name:"ModalDialogPlaylistSpotify",props:["show","playlist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},S7={key:0,class:"modal is-active"},$7={class:"modal-content fd-modal-card"},A7={class:"card"},T7={class:"card-content"},O7={class:"title is-4"},D7=["textContent"],P7={class:"content is-small"},I7=["textContent"],F7=["textContent"],R7=["textContent"],L7=["textContent"],N7=["textContent"],M7=["textContent"],V7={class:"card-footer"},H7=["textContent"],U7=["textContent"],B7=["textContent"];function j7(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",S7,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",$7,[u("div",A7,[u("div",T7,[u("p",O7,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,D7)]),u("div",P7,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.owner"))},null,8,I7),u("span",{class:"title is-6",textContent:g(n.playlist.owner.display_name)},null,8,F7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.tracks"))},null,8,R7),u("span",{class:"title is-6",textContent:g(n.playlist.tracks.total)},null,8,L7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.path"))},null,8,N7),u("span",{class:"title is-6",textContent:g(n.playlist.uri)},null,8,M7)])])]),u("footer",V7,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add"))},null,8,H7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add-next"))},null,8,U7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.play"))},null,8,B7)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const pu=te(E7,[["render",j7]]),za={load(e){if(He.state.spotify_new_releases.length>0&&He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getNewReleases({country:He.state.spotify.webapi_country,limit:50}),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})])},set(e,t){t&&(He.commit(pd,t[0].albums.items),He.commit(hd,t[1].playlists.items))}},q7={name:"PageMusicSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:fu,ListItemPlaylistSpotify:Pm,ModalDialogAlbumSpotify:Ri,ModalDialogPlaylistSpotify:pu,TabsMusic:cr},beforeRouteEnter(e,t,n){za.load(e).then(r=>{n(s=>za.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;za.load(e).then(s=>{za.set(r,s),n()})},data(){return{show_album_details_modal:!1,selected_album:{},show_playlist_details_modal:!1,selected_playlist:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases.slice(0,3)},featured_playlists(){return this.$store.state.spotify_featured_playlists.slice(0,3)},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},open_playlist_dialog(e){this.selected_playlist=e,this.show_playlist_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},W7={class:"fd-page-with-tabs"},G7=["textContent"],K7=["onClick"],Z7={class:"level"},Y7={class:"level-item"},J7=["textContent"],X7=["onClick"],Q7={class:"level"},e9={class:"level-item"};function t9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),m=$("modal-dialog-album-spotify"),d=$("router-link"),f=$("content-with-heading"),p=$("list-item-playlist-spotify"),h=$("modal-dialog-playlist-spotify");return k(),T("div",W7,[y(i),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,G7)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,_=>(k(),_e(c,{key:_.id,album:_,onClick:b=>o.open_album(_)},Si({actions:E(()=>[u("a",{onClick:st(b=>o.open_album_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,K7)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(_),artist:_.artist,album:_.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(m,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=_=>s.show_album_details_modal=!1)},null,8,["show","album"])]),footer:E(()=>[u("nav",Z7,[u("p",Y7,[y(d,{to:{name:"music-spotify-new-releases"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1}),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,J7)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,_=>(k(),_e(p,{key:_.id,playlist:_},{actions:E(()=>[u("a",{onClick:st(b=>o.open_playlist_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,X7)]),_:2},1032,["playlist"]))),128)),y(h,{show:s.show_playlist_details_modal,playlist:s.selected_playlist,onClose:t[1]||(t[1]=_=>s.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:E(()=>[u("nav",Q7,[u("p",e9,[y(d,{to:{name:"music-spotify-featured-playlists"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1})])}const n9=te(q7,[["render",t9]]),Ca={load(e){if(He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;t.setAccessToken(He.state.spotify.webapi_token),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(hd,t.playlists.items)}},r9={name:"PageMusicSpotifyFeaturedPlaylists",components:{ContentWithHeading:et,ListItemPlaylistSpotify:Pm,ModalDialogPlaylistSpotify:pu,TabsMusic:cr},beforeRouteEnter(e,t,n){Ca.load(e).then(r=>{n(s=>Ca.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ca.load(e).then(s=>{Ca.set(r,s),n()})},data(){return{selected_playlist:{},show_details_modal:!1}},computed:{featured_playlists(){return this.$store.state.spotify_featured_playlists}},methods:{open_playlist_dialog(e){this.selected_playlist=e,this.show_details_modal=!0}}},s9={class:"fd-page-with-tabs"},o9=["textContent"],i9=["onClick"];function a9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("mdicon"),l=$("list-item-playlist-spotify"),c=$("modal-dialog-playlist-spotify"),m=$("content-with-heading");return k(),T("div",s9,[y(i),y(m,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,o9)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,d=>(k(),_e(l,{key:d.id,playlist:d},{actions:E(()=>[u("a",{onClick:st(f=>o.open_playlist_dialog(d),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,i9)]),_:2},1032,["playlist"]))),128)),y(c,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=d=>s.show_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}const l9=te(r9,[["render",a9]]),wa={load(e){if(He.state.spotify_new_releases.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getNewReleases({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(pd,t.albums.items)}},u9={name:"PageMusicSpotifyNewReleases",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:fu,ModalDialogAlbumSpotify:Ri,TabsMusic:cr},beforeRouteEnter(e,t,n){wa.load(e).then(r=>{n(s=>wa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;wa.load(e).then(s=>{wa.set(r,s),n()})},data(){return{show_details_modal:!1,selected_album:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},c9={class:"fd-page-with-tabs"},d9=["textContent"],m9=["onClick"];function f9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),m=$("modal-dialog-album-spotify"),d=$("content-with-heading");return k(),T("div",c9,[y(i),y(d,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,d9)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,f=>(k(),_e(c,{key:f.id,album:f,onClick:p=>o.open_album(f)},Si({actions:E(()=>[u("a",{onClick:st(p=>o.open_album_dialog(f),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,m9)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(f),artist:f.artist,album:f.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(m,{show:s.show_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=f=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const p9=te(u9,[["render",f9]]),h9={name:"ModalDialogComposer",props:["show","composer"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`composer is "${this.composer.name}" and media_kind is music`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`composer is "${this.composer.name}" and media_kind is music`)},open_albums(){this.$emit("close"),this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})}}},_9={key:0,class:"modal is-active"},g9={class:"modal-content fd-modal-card"},y9={class:"card"},v9={class:"card-content"},b9={class:"title is-4"},z9=["textContent"],C9=["textContent"],w9=["textContent"],k9=["textContent"],x9=["textContent"],E9=["textContent"],S9=["textContent"],$9={class:"card-footer"},A9=["textContent"],T9=["textContent"],O9=["textContent"];function D9(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",_9,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",g9,[u("div",y9,[u("div",v9,[u("p",b9,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.name)},null,8,z9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.albums"))},null,8,C9),u("a",{class:"has-text-link is-6",onClick:t[2]||(t[2]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.album_count)},null,8,w9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.tracks"))},null,8,k9),u("a",{class:"has-text-link is-6",onClick:t[3]||(t[3]=(...a)=>o.open_tracks&&o.open_tracks(...a)),textContent:g(n.composer.track_count)},null,8,x9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.duration"))},null,8,E9),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.composer.length_ms))},null,8,S9)])]),u("footer",$9,[u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add"))},null,8,A9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add-next"))},null,8,T9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.play"))},null,8,O9)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[7]||(t[7]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Im=te(h9,[["render",D9]]),ka={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_albums(e.params.name)])},set(e,t){e.composer=t[0].data,e.albums_list=new ve(t[1].data.albums)}},P9={name:"PageComposerAlbums",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogComposer:Im},beforeRouteEnter(e,t,n){ka.load(e).then(r=>{n(s=>ka.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ka.load(e).then(s=>{ka.set(r,s),n()})},data(){return{albums_list:new ve,composer:{},show_details_modal:!1}},methods:{open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})},play(){V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!0)}}},I9=["textContent"],F9={class:"buttons is-centered"},R9=["textContent"],L9={class:"heading has-text-centered-mobile"},N9=["textContent"],M9=u("span",null," | ",-1),V9=["textContent"];function H9(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-composer"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,I9)]),"heading-right":E(()=>[u("div",F9,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,R9)])])]),content:E(()=>[u("p",L9,[u("span",{textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,N9),M9,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...m)=>o.open_tracks&&o.open_tracks(...m)),textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,V9)]),y(a,{albums:s.albums_list,hide_group_title:!0},null,8,["albums"]),y(l,{show:s.show_details_modal,composer:s.composer,onClose:t[3]||(t[3]=m=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const U9=te(P9,[["render",H9]]),xa={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_tracks(e.params.name)])},set(e,t){e.composer=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},B9={name:"PageComposerTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogComposer:Im},beforeRouteEnter(e,t,n){xa.load(e).then(r=>{n(s=>xa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;xa.load(e).then(s=>{xa.set(r,s),n()})},data(){return{composer:{},grouping_options:[{id:1,name:this.$t("page.composer.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.composer.sort.rating"),options:Em("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`composer is "${this.composer.name}" and media_kind is music`},selected_grouping_option_id:{get(){return this.$store.state.composer_tracks_sort},set(e){this.$store.commit(Gh,e)}},tracks(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_albums(){this.show_details_modal=!1,this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},play(){V.player_play_expression(this.expression,!0)}}},j9={class:"columns"},q9={class:"column"},W9=["textContent"],G9=["textContent"],K9={class:"buttons is-centered"},Z9=["textContent"],Y9={class:"heading has-text-centered-mobile"},J9=["textContent"],X9=u("span",null," | ",-1),Q9=["textContent"];function eV(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),m=$("modal-dialog-composer"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",j9,[u("div",q9,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,W9),y(a,{value:o.selected_grouping_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_grouping_option_id=f),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,G9)]),"heading-right":E(()=>[u("div",K9,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,Z9)])])]),content:E(()=>[u("p",Y9,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_albums&&o.open_albums(...f)),textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,J9),X9,u("span",{textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,Q9)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(m,{show:s.show_details_modal,composer:s.composer,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const tV=te(B9,[["render",eV]]),nV={name:"ListComposers",components:{ModalDialogComposer:Im},props:["composers","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_composer:{}}},methods:{open_composer(e){this.selected_composer=e,this.$router.push({name:"music-composer-albums",params:{name:e.name}})},open_dialog(e){this.selected_composer=e,this.show_details_modal=!0}}},rV={key:0,class:"mt-6 mb-5 py-2"},sV={class:"media-content is-clipped"},oV=["id","textContent"],iV=["onClick"],aV={class:"media-content is-clickable is-clipped"},lV=["textContent"],uV={class:"media-right"},cV=["onClick"];function dV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-composer");return k(),T(we,null,[(k(!0),T(we,null,ct(n.composers,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",rV,[u("div",sV,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,oV)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_composer(l.item)},[u("div",aV,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,lV)]),u("div",uV,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,cV)])],8,iV)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,composer:s.selected_composer,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","composer","media_kind"])]))],64)}const q1=te(nV,[["render",dV]]),Ea={load(e){return V.library_composers("music")},set(e,t){e.composers=new ve(t.data),e.composers.group(Rn("name_sort"))}},mV={name:"PageComposers",components:{ContentWithHeading:et,IndexButtonList:Jn,ListComposers:q1,TabsMusic:cr},beforeRouteEnter(e,t,n){Ea.load(e).then(r=>{n(s=>Ea.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.composers.isEmpty()){n();return}const r=this;Ea.load(e).then(s=>{Ea.set(r,s),n()})},data(){return{composers:new ve}}},fV={class:"fd-page-with-tabs"},pV=["textContent"],hV=["textContent"];function _V(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-composers"),c=$("content-with-heading");return k(),T("div",fV,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.composers.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.composers.title"))},null,8,pV),u("p",{class:"heading",textContent:g(e.$t("page.composers.count",{count:s.composers.total}))},null,8,hV)]),content:E(()=>[y(l,{composers:s.composers},null,8,["composers"])]),_:1})])}const gV=te(mV,[["render",_V]]),yV={name:"ModalDialogDirectory",props:["show","directory"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`path starts with "${this.directory}" order by path asc`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`path starts with "${this.directory}" order by path asc`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`path starts with "${this.directory}" order by path asc`)}}},vV={key:0,class:"modal is-active"},bV={class:"modal-content fd-modal-card"},zV={class:"card"},CV={class:"card-content"},wV=["textContent"],kV={class:"card-footer"},xV=["textContent"],EV=["textContent"],SV=["textContent"];function $V(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",vV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",bV,[u("div",zV,[u("div",CV,[u("p",{class:"title is-4",textContent:g(n.directory)},null,8,wV)]),u("footer",kV,[u("a",{class:"card-footer-item has-text-dark",onClick:t[1]||(t[1]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add"))},null,8,xV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add-next"))},null,8,EV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.play"))},null,8,SV)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[4]||(t[4]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const W1=te(yV,[["render",$V]]),AV={name:"ListDirectories",components:{ModalDialogDirectory:W1},props:["directories"],data(){return{show_details_modal:!1,selected_directory:""}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"}},methods:{open_parent_directory(){this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))===""||this.$store.state.config.directories.includes(this.current_directory)?this.$router.push({name:"files"}):this.$router.push({name:"files",query:{directory:this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))}})},open_directory(e){this.$router.push({name:"files",query:{directory:e.path}})},open_dialog(e){this.selected_directory=e.path,this.show_details_modal=!0}}},TV={class:"media-left is-clickable"},OV=u("div",{class:"media-content is-clickable is-clipped"},[u("h1",{class:"title is-6"},"..")],-1),DV={class:"media-right"},PV=["onClick"],IV={class:"media-left is-clickable"},FV={class:"media-content is-clickable is-clipped"},RV=["textContent"],LV=["textContent"],NV={class:"media-right"},MV=["onClick"];function VV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-directory");return k(),T(we,null,[e.$route.query.directory?(k(),T("div",{key:0,class:"media is-align-items-center",onClick:t[0]||(t[0]=l=>o.open_parent_directory())},[u("figure",TV,[y(i,{class:"icon",name:"subdirectory-arrow-left",size:"16"})]),OV,u("div",DV,[it(e.$slots,"actions")])])):M("",!0),(k(!0),T(we,null,ct(n.directories,l=>(k(),T("div",{key:l.path,class:"media is-align-items-center",onClick:c=>o.open_directory(l)},[u("figure",IV,[y(i,{class:"icon",name:"folder",size:"16"})]),u("div",FV,[u("h1",{class:"title is-6",textContent:g(l.path.substring(l.path.lastIndexOf("/")+1))},null,8,RV),u("h2",{class:"subtitle is-7 has-text-grey-light",textContent:g(l.path)},null,8,LV)]),u("div",NV,[u("a",{onClick:st(c=>o.open_dialog(l),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,MV)])],8,PV))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,directory:s.selected_directory,onClose:t[1]||(t[1]=l=>s.show_details_modal=!1)},null,8,["show","directory"])]))],64)}const HV=te(AV,[["render",VV]]),UV={name:"ModalDialogPlaylist",props:["show","playlist","uris"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.uris?this.uris:this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.uris?this.uris:this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.uris?this.uris:this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist",params:{id:this.playlist.id}})}}},BV={key:0,class:"modal is-active"},jV={class:"modal-content fd-modal-card"},qV={class:"card"},WV={class:"card-content"},GV={class:"title is-4"},KV=["textContent"],ZV={class:"content is-small"},YV=["textContent"],JV=["textContent"],XV=["textContent"],QV=["textContent"],eH={key:0},tH=["textContent"],nH=["textContent"],rH={key:0,class:"card-footer"},sH=["textContent"],oH=["textContent"],iH=["textContent"];function aH(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",BV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",jV,[u("div",qV,[u("div",WV,[u("p",GV,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,KV)]),u("div",ZV,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.path"))},null,8,YV),u("span",{class:"title is-6",textContent:g(n.playlist.path)},null,8,JV)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.type"))},null,8,XV),u("span",{class:"title is-6",textContent:g(e.$t("playlist.type."+n.playlist.type))},null,8,QV)]),n.playlist.folder?M("",!0):(k(),T("p",eH,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.track-count"))},null,8,tH),u("span",{class:"title is-6",textContent:g(n.playlist.item_count)},null,8,nH)]))])]),n.playlist.folder?M("",!0):(k(),T("footer",rH,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add"))},null,8,sH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add-next"))},null,8,oH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.play"))},null,8,iH)])]))])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const G1=te(UV,[["render",aH]]),lH={name:"ListPlaylists",components:{ModalDialogPlaylist:G1},props:["playlists"],data(){return{show_details_modal:!1,selected_playlist:{}}},methods:{open_playlist(e){e.type==="folder"?this.$router.push({name:"playlist-folder",params:{id:e.id}}):this.$router.push({name:"playlist",params:{id:e.id}})},open_dialog(e){this.selected_playlist=e,this.show_details_modal=!0},icon_name(e){return e.type==="folder"?"folder":e.type==="rss"?"rss":"music-box-multiple"}}},uH=["onClick"],cH={class:"media-left is-clickable"},dH={class:"media-content is-clickable is-clipped"},mH=["textContent"],fH={class:"media-right"},pH=["onClick"];function hH(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-playlist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.playlists,l=>(k(),T("div",{key:l.itemId,class:"media is-align-items-center",onClick:c=>o.open_playlist(l.item)},[u("figure",cH,[y(i,{class:"icon",name:o.icon_name(l.item),size:"16"},null,8,["name"])]),u("div",dH,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,mH)]),u("div",fH,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,pH)])],8,uH))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","playlist"])]))],64)}const Fm=te(lH,[["render",hH]]),Sa={load(e){return e.query.directory?V.library_files(e.query.directory):Promise.resolve()},set(e,t){t?(e.dirs=t.data.directories,e.playlists=new ve(t.data.playlists),e.tracks=new ve(t.data.tracks)):(e.dirs=e.$store.state.config.directories.map(n=>({path:n})),e.playlists=new ve,e.tracks=new ve)}},_H={name:"PageFiles",components:{ContentWithHeading:et,ListDirectories:HV,ListPlaylists:Fm,ListTracks:Cn,ModalDialogDirectory:W1},beforeRouteEnter(e,t,n){Sa.load(e).then(r=>{n(s=>Sa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Sa.load(e).then(s=>{Sa.set(r,s),n()})},data(){return{dirs:[],playlists:new ve,tracks:new ve,show_details_modal:!1}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"},play_expression(){return`path starts with "${this.current_directory}" order by path asc`}},methods:{play(){V.player_play_expression(this.play_expression,!1)}}},gH=["textContent"],yH=["textContent"],vH={class:"buttons is-centered"},bH=["textContent"];function zH(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-directories"),l=$("list-playlists"),c=$("list-tracks"),m=$("modal-dialog-directory"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.files.title"))},null,8,gH),u("p",{class:"title is-7 has-text-grey",textContent:g(o.current_directory)},null,8,yH)]),"heading-right":E(()=>[u("div",vH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.files.play"))},null,8,bH)])])]),content:E(()=>[y(a,{directories:s.dirs},null,8,["directories"]),y(l,{playlists:s.playlists},null,8,["playlists"]),y(c,{tracks:s.tracks,expression:o.play_expression,show_icon:!0},null,8,["tracks","expression"]),y(m,{show:s.show_details_modal,directory:o.current_directory,onClose:t[2]||(t[2]=f=>s.show_details_modal=!1)},null,8,["show","directory"])]),_:1})])}const CH=te(_H,[["render",zH]]),$a={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_albums(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.albums_list=new ve(t[1].data.albums),e.albums_list.group(Rn("name_sort",!0))}},wH={name:"PageGenreAlbums",components:{ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur,ModalDialogGenre:Dm},beforeRouteEnter(e,t,n){$a.load(e).then(r=>{n(s=>$a.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;$a.load(e).then(s=>{$a.set(r,s),n()})},data(){return{albums_list:new ve,genre:{},media_kind:this.$route.query.media_kind,show_details_modal:!1}},methods:{open_tracks(){this.show_details_modal=!1,this.$router.push({name:"genre-tracks",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`,!0)}}},kH=["textContent"],xH={class:"buttons is-centered"},EH=["textContent"],SH={class:"heading has-text-centered-mobile"},$H=["textContent"],AH=u("span",null," | ",-1),TH=["textContent"];function OH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-genre"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:s.albums_list.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,kH)]),"heading-right":E(()=>[u("div",xH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,EH)])])]),content:E(()=>[u("p",SH,[u("span",{textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,$H),AH,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...d)=>o.open_tracks&&o.open_tracks(...d)),textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,TH)]),y(l,{albums:s.albums_list},null,8,["albums"]),y(c,{genre:s.genre,media_kind:s.media_kind,show:s.show_details_modal,onClose:t[3]||(t[3]=d=>s.show_details_modal=!1)},null,8,["genre","media_kind","show"])]),_:1})])}const DH=te(wH,[["render",OH]]),Aa={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_tracks(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},PH={name:"PageGenreTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogGenre:Dm},beforeRouteEnter(e,t,n){Aa.load(e).then(r=>{n(s=>Aa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.tracks_list.isEmpty()){n();return}const r=this;Aa.load(e).then(s=>{Aa.set(r,s),n()})},data(){return{genre:{},grouping_options:[{id:1,name:this.$t("page.genre.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.genre.sort.rating"),options:Em("rating",{direction:"desc"})}],media_kind:this.$route.query.media_kind,show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`},selected_grouping_option_id:{get(){return this.$store.state.genre_tracks_sort},set(e){this.$store.commit(Kh,e)}},tracks(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_genre(){this.show_details_modal=!1,this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(this.expression,!0)}}},IH={class:"columns"},FH={class:"column"},RH=["textContent"],LH=["textContent"],NH={class:"buttons is-centered"},MH=["textContent"],VH={class:"heading has-text-centered-mobile"},HH=["textContent"],UH=u("span",null," | ",-1),BH=["textContent"];function jH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),m=$("modal-dialog-genre"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",IH,[u("div",FH,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.genre.sort.title"))},null,8,RH),y(a,{value:o.selected_grouping_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_grouping_option_id=f),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,LH)]),"heading-right":E(()=>[u("div",NH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,MH)])])]),content:E(()=>[u("p",VH,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_genre&&o.open_genre(...f)),textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,HH),UH,u("span",{textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,BH)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(m,{show:s.show_details_modal,genre:s.genre,media_kind:s.media_kind,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]),_:1})])}const qH=te(PH,[["render",jH]]),Ta={load(e){return V.library_genres("music")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},WH={name:"PageGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:j1,TabsMusic:cr},beforeRouteEnter(e,t,n){Ta.load(e).then(r=>{n(s=>Ta.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ta.load(e).then(s=>{Ta.set(r,s),n()})},data(){return{genres:new ve}}},GH={class:"fd-page-with-tabs"},KH=["textContent"],ZH=["textContent"];function YH(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",GH,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,KH),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,ZH)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"music"},null,8,["genres"])]),_:1})])}const JH=te(WH,[["render",YH]]),XH={name:"LyricsPane",data(){return this.lastIndex=-1,this.scrollingTimer=null,this.lastItemId=-1,{autoScrolling:!0}},computed:{is_playing(){return this.player.state==="play"},verse_index(){if(this.lyrics.length&&this.lyrics[0].time){const e=this.player.item_progress_ms/1e3,t=this.lyrics,n=this.player.item_id!==this.lastItemId,r=this.lastIndex>=0&&this.lastIndexe;if((n||r)&&this.reset_scrolling(),this.lastIndexe||this.lastIndex===t.length-1)return this.lastIndex;if(this.lastIndexe)return this.lastIndex+1;let s=0,o=t.length-1,i;for(;s<=o;){i=s+o>>1;const a=t[i],l=t[i+1];if(a.time<=e&&((l==null?void 0:l.time)>e||!l))return i;a.time{},Kn=Array.isArray,Gv=/#/g,VT=/&/g,HT=/\//g,UT=/=/g,BT=/\?/g,Kv=/\+/g,jT=/%5B/g,qT=/%5D/g,Zv=/%5E/g,WT=/%60/g,Yv=/%7B/g,GT=/%7C/g,Jv=/%7D/g,KT=/%20/g;function vm(e){return encodeURI(""+e).replace(GT,"|").replace(jT,"[").replace(qT,"]")}function ZT(e){return vm(e).replace(Yv,"{").replace(Jv,"}").replace(Zv,"^")}function Jc(e){return vm(e).replace(Kv,"%2B").replace(KT,"+").replace(Gv,"%23").replace(VT,"%26").replace(WT,"`").replace(Yv,"{").replace(Jv,"}").replace(Zv,"^")}function YT(e){return Jc(e).replace(UT,"%3D")}function JT(e){return vm(e).replace(Gv,"%23").replace(BT,"%3F")}function XT(e){return e==null?"":JT(e).replace(HT,"%2F")}function gi(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const QT=/\/$/,eO=e=>e.replace(QT,"");function Wu(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(r=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),s=e(o)),a>-1&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=sO(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:gi(i)}}function tO(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Wp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function nO(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&uo(t.matched[r],n.matched[s])&&Xv(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function uo(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Xv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!rO(e[n],t[n]))return!1;return!0}function rO(e,t){return Kn(e)?Gp(e,t):Kn(t)?Gp(t,e):e===t}function Gp(e,t){return Kn(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function sO(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}var yi;(function(e){e.pop="pop",e.push="push"})(yi||(yi={}));var Xo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Xo||(Xo={}));function oO(e){if(!e)if(Ns){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),eO(e)}const iO=/^[^#]+#/;function aO(e,t){return e.replace(iO,"#")+t}function lO(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const uu=()=>({left:window.scrollX,top:window.scrollY});function uO(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=lO(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Kp(e,t){return(history.state?history.state.position-t:-1)+e}const Xc=new Map;function cO(e,t){Xc.set(e,t)}function dO(e){const t=Xc.get(e);return Xc.delete(e),t}let mO=()=>location.protocol+"//"+location.host;function Qv(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Wp(l,"")}return Wp(n,e)+r+s}function fO(e,t,n,r){let s=[],o=[],i=null;const a=({state:f})=>{const p=Qv(e,location),h=n.value,_=t.value;let b=0;if(f){if(n.value=p,t.value=f,i&&i===h){i=null;return}b=_?f.position-_.position:0}else r(p);s.forEach(w=>{w(n.value,h,{delta:b,type:yi.pop,direction:b?b>0?Xo.forward:Xo.back:Xo.unknown})})};function l(){i=n.value}function c(f){s.push(f);const p=()=>{const h=s.indexOf(f);h>-1&&s.splice(h,1)};return o.push(p),p}function m(){const{history:f}=window;f.state&&f.replaceState(lt({},f.state,{scroll:uu()}),"")}function d(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",m)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",m,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function Zp(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?uu():null}}function pO(e){const{history:t,location:n}=window,r={value:Qv(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,m){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:mO()+e+l;try{t[m?"replaceState":"pushState"](c,"",f),s.value=c}catch(p){console.error(p),n[m?"replace":"assign"](f)}}function i(l,c){const m=lt({},t.state,Zp(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});o(l,m,!0),r.value=l}function a(l,c){const m=lt({},s.value,t.state,{forward:l,scroll:uu()});o(m.current,m,!0);const d=lt({},Zp(r.value,l,null),{position:m.position+1},c);o(l,d,!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function hO(e){e=oO(e);const t=pO(e),n=fO(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=lt({location:"",base:e,go:r,createHref:aO.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function _O(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),hO(e)}function gO(e){return typeof e=="string"||e&&typeof e=="object"}function e1(e){return typeof e=="string"||typeof e=="symbol"}const Tr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},t1=Symbol("");var Yp;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Yp||(Yp={}));function co(e,t){return lt(new Error,{type:e,[t1]:!0},t)}function dr(e,t){return e instanceof Error&&t1 in e&&(t==null||!!(e.type&t))}const Jp="[^/]+?",yO={sensitive:!1,strict:!1,start:!0,end:!0},vO=/[.+*?^${}()[\]/\\]/g;function bO(e,t){const n=lt({},yO,t),r=[];let s=n.start?"^":"";const o=[];for(const c of e){const m=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function CO(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const wO={type:0,value:""},kO=/[a-zA-Z0-9_]/;function xO(e){if(!e)return[[]];if(e==="/")return[[wO]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,c="",m="";function d(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:m,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{i(C)}:Jo}function i(m){if(e1(m)){const d=r.get(m);d&&(r.delete(m),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(m);d>-1&&(n.splice(d,1),m.record.name&&r.delete(m.record.name),m.children.forEach(i),m.alias.forEach(i))}}function a(){return n}function l(m){let d=0;for(;d=0&&(m.record.path!==n[d].record.path||!n1(m,n[d]));)d++;n.splice(d,0,m),m.record.name&&!eh(m)&&r.set(m.record.name,m)}function c(m,d){let f,p={},h,_;if("name"in m&&m.name){if(f=r.get(m.name),!f)throw co(1,{location:m});_=f.record.name,p=lt(Qp(d.params,f.keys.filter(C=>!C.optional).concat(f.parent?f.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),m.params&&Qp(m.params,f.keys.map(C=>C.name))),h=f.stringify(p)}else if(m.path!=null)h=m.path,f=n.find(C=>C.re.test(h)),f&&(p=f.parse(h),_=f.record.name);else{if(f=d.name?r.get(d.name):n.find(C=>C.re.test(d.path)),!f)throw co(1,{location:m,currentLocation:d});_=f.record.name,p=lt({},d.params,m.params),h=f.stringify(p)}const b=[];let w=f;for(;w;)b.unshift(w.record),w=w.parent;return{name:_,path:h,params:p,matched:b,meta:TO(b)}}return e.forEach(m=>o(m)),{addRoute:o,resolve:c,removeRoute:i,getRoutes:a,getRecordMatcher:s}}function Qp(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function $O(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:AO(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function AO(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function eh(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function TO(e){return e.reduce((t,n)=>lt(t,n.meta),{})}function th(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function n1(e,t){return t.children.some(n=>n===e||n1(e,n))}function OO(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Jc(o)):[r&&Jc(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function DO(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Kn(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const PO=Symbol(""),rh=Symbol(""),bm=Symbol(""),r1=Symbol(""),Qc=Symbol("");function To(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Nr(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const c=f=>{f===!1?l(co(4,{from:n,to:t})):f instanceof Error?l(f):gO(f)?l(co(2,{from:t,to:f})):(i&&r.enterCallbacks[s]===i&&typeof f=="function"&&i.push(f),a())},m=o(()=>e.call(r&&r.instances[s],t,n,c));let d=Promise.resolve(m);e.length<3&&(d=d.then(c)),d.catch(f=>l(f))})}function Gu(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(IO(l)){const m=(l.__vccOpts||l)[t];m&&o.push(Nr(m,n,r,i,a,s))}else{let c=l();o.push(()=>c.then(m=>{if(!m)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const d=MT(m)?m.default:m;i.components[a]=d;const p=(d.__vccOpts||d)[t];return p&&Nr(p,n,r,i,a,s)()}))}}return o}function IO(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function sh(e){const t=jn(bm),n=jn(r1),r=Lt(()=>t.resolve(yn(e.to))),s=Lt(()=>{const{matched:l}=r.value,{length:c}=l,m=l[c-1],d=n.matched;if(!m||!d.length)return-1;const f=d.findIndex(uo.bind(null,m));if(f>-1)return f;const p=oh(l[c-2]);return c>1&&oh(m)===p&&d[d.length-1].path!==p?d.findIndex(uo.bind(null,l[c-2])):f}),o=Lt(()=>s.value>-1&&NO(n.params,r.value.params)),i=Lt(()=>s.value>-1&&s.value===n.matched.length-1&&Xv(n.params,r.value.params));function a(l={}){return LO(l)?t[yn(e.replace)?"replace":"push"](yn(e.to)).catch(Jo):Promise.resolve()}return{route:r,href:Lt(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}const FO=br({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:sh,setup(e,{slots:t}){const n=po(sh(e)),{options:r}=jn(bm),s=Lt(()=>({[ih(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ih(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:tr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),RO=FO;function LO(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function NO(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Kn(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function oh(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ih=(e,t,n)=>e??t??n,MO=br({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=jn(Qc),s=Lt(()=>e.route||r.value),o=jn(rh,0),i=Lt(()=>{let c=yn(o);const{matched:m}=s.value;let d;for(;(d=m[c])&&!d.components;)c++;return c}),a=Lt(()=>s.value.matched[i.value]);qo(rh,Lt(()=>i.value+1)),qo(PO,a),qo(Qc,s);const l=sr();return bn(()=>[l.value,a.value,e.name],([c,m,d],[f,p,h])=>{m&&(m.instances[d]=c,p&&p!==m&&c&&c===f&&(m.leaveGuards.size||(m.leaveGuards=p.leaveGuards),m.updateGuards.size||(m.updateGuards=p.updateGuards))),c&&m&&(!p||!uo(m,p)||!f)&&(m.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=s.value,m=e.name,d=a.value,f=d&&d.components[m];if(!f)return ah(n.default,{Component:f,route:c});const p=d.props[m],h=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=tr(f,lt({},h,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(d.instances[m]=null)},ref:l}));return ah(n.default,{Component:b,route:c})||b}}});function ah(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const VO=MO;function HO(e){const t=SO(e.routes,e),n=e.parseQuery||OO,r=e.stringifyQuery||nh,s=e.history,o=To(),i=To(),a=To(),l=Dd(Tr);let c=Tr;Ns&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const m=qu.bind(null,W=>""+W),d=qu.bind(null,XT),f=qu.bind(null,gi);function p(W,ue){let ie,ge;return e1(W)?(ie=t.getRecordMatcher(W),ge=ue):ge=W,t.addRoute(ge,ie)}function h(W){const ue=t.getRecordMatcher(W);ue&&t.removeRoute(ue)}function _(){return t.getRoutes().map(W=>W.record)}function b(W){return!!t.getRecordMatcher(W)}function w(W,ue){if(ue=lt({},ue||l.value),typeof W=="string"){const O=Wu(n,W,ue.path),H=t.resolve({path:O.path},ue),Y=s.createHref(O.fullPath);return lt(O,H,{params:f(H.params),hash:gi(O.hash),redirectedFrom:void 0,href:Y})}let ie;if(W.path!=null)ie=lt({},W,{path:Wu(n,W.path,ue.path).path});else{const O=lt({},W.params);for(const H in O)O[H]==null&&delete O[H];ie=lt({},W,{params:d(O)}),ue.params=d(ue.params)}const ge=t.resolve(ie,ue),Ve=W.hash||"";ge.params=m(f(ge.params));const Ke=tO(r,lt({},W,{hash:ZT(Ve),path:ge.path})),A=s.createHref(Ke);return lt({fullPath:Ke,hash:Ve,query:r===nh?DO(W.query):W.query||{}},ge,{redirectedFrom:void 0,href:A})}function C(W){return typeof W=="string"?Wu(n,W,l.value.path):lt({},W)}function v(W,ue){if(c!==W)return co(8,{from:ue,to:W})}function z(W){return N(W)}function S(W){return z(lt(C(W),{replace:!0}))}function x(W){const ue=W.matched[W.matched.length-1];if(ue&&ue.redirect){const{redirect:ie}=ue;let ge=typeof ie=="function"?ie(W):ie;return typeof ge=="string"&&(ge=ge.includes("?")||ge.includes("#")?ge=C(ge):{path:ge},ge.params={}),lt({query:W.query,hash:W.hash,params:ge.path!=null?{}:W.params},ge)}}function N(W,ue){const ie=c=w(W),ge=l.value,Ve=W.state,Ke=W.force,A=W.replace===!0,O=x(ie);if(O)return N(lt(C(O),{state:typeof O=="object"?lt({},Ve,O.state):Ve,force:Ke,replace:A}),ue||ie);const H=ie;H.redirectedFrom=ue;let Y;return!Ke&&nO(r,ge,ie)&&(Y=co(16,{to:H,from:ge}),We(ge,ge,!0,!1)),(Y?Promise.resolve(Y):L(H,ge)).catch(K=>dr(K)?dr(K,2)?K:Je(K):oe(K,H,ge)).then(K=>{if(K){if(dr(K,2))return N(lt({replace:A},C(K.to),{state:typeof K.to=="object"?lt({},Ve,K.to.state):Ve,force:Ke}),ue||H)}else K=B(H,ge,!0,A,Ve);return Z(H,ge,K),K})}function D(W,ue){const ie=v(W,ue);return ie?Promise.reject(ie):Promise.resolve()}function P(W){const ue=pt.values().next().value;return ue&&typeof ue.runWithContext=="function"?ue.runWithContext(W):W()}function L(W,ue){let ie;const[ge,Ve,Ke]=UO(W,ue);ie=Gu(ge.reverse(),"beforeRouteLeave",W,ue);for(const O of ge)O.leaveGuards.forEach(H=>{ie.push(Nr(H,W,ue))});const A=D.bind(null,W,ue);return ie.push(A),Ne(ie).then(()=>{ie=[];for(const O of o.list())ie.push(Nr(O,W,ue));return ie.push(A),Ne(ie)}).then(()=>{ie=Gu(Ve,"beforeRouteUpdate",W,ue);for(const O of Ve)O.updateGuards.forEach(H=>{ie.push(Nr(H,W,ue))});return ie.push(A),Ne(ie)}).then(()=>{ie=[];for(const O of Ke)if(O.beforeEnter)if(Kn(O.beforeEnter))for(const H of O.beforeEnter)ie.push(Nr(H,W,ue));else ie.push(Nr(O.beforeEnter,W,ue));return ie.push(A),Ne(ie)}).then(()=>(W.matched.forEach(O=>O.enterCallbacks={}),ie=Gu(Ke,"beforeRouteEnter",W,ue,P),ie.push(A),Ne(ie))).then(()=>{ie=[];for(const O of i.list())ie.push(Nr(O,W,ue));return ie.push(A),Ne(ie)}).catch(O=>dr(O,8)?O:Promise.reject(O))}function Z(W,ue,ie){a.list().forEach(ge=>P(()=>ge(W,ue,ie)))}function B(W,ue,ie,ge,Ve){const Ke=v(W,ue);if(Ke)return Ke;const A=ue===Tr,O=Ns?history.state:{};ie&&(ge||A?s.replace(W.fullPath,lt({scroll:A&&O&&O.scroll},Ve)):s.push(W.fullPath,Ve)),l.value=W,We(W,ue,ie,A),Je()}let q;function X(){q||(q=s.listen((W,ue,ie)=>{if(!ht.listening)return;const ge=w(W),Ve=x(ge);if(Ve){N(lt(Ve,{replace:!0}),ge).catch(Jo);return}c=ge;const Ke=l.value;Ns&&cO(Kp(Ke.fullPath,ie.delta),uu()),L(ge,Ke).catch(A=>dr(A,12)?A:dr(A,2)?(N(A.to,ge).then(O=>{dr(O,20)&&!ie.delta&&ie.type===yi.pop&&s.go(-1,!1)}).catch(Jo),Promise.reject()):(ie.delta&&s.go(-ie.delta,!1),oe(A,ge,Ke))).then(A=>{A=A||B(ge,Ke,!1),A&&(ie.delta&&!dr(A,8)?s.go(-ie.delta,!1):ie.type===yi.pop&&dr(A,20)&&s.go(-1,!1)),Z(ge,Ke,A)}).catch(Jo)}))}let pe=To(),G=To(),re;function oe(W,ue,ie){Je(W);const ge=G.list();return ge.length?ge.forEach(Ve=>Ve(W,ue,ie)):console.error(W),Promise.reject(W)}function Be(){return re&&l.value!==Tr?Promise.resolve():new Promise((W,ue)=>{pe.add([W,ue])})}function Je(W){return re||(re=!W,X(),pe.list().forEach(([ue,ie])=>W?ie(W):ue()),pe.reset()),W}function We(W,ue,ie,ge){const{scrollBehavior:Ve}=e;if(!Ns||!Ve)return Promise.resolve();const Ke=!ie&&dO(Kp(W.fullPath,0))||(ge||!ie)&&history.state&&history.state.scroll||null;return ho().then(()=>Ve(W,ue,Ke)).then(A=>A&&uO(A)).catch(A=>oe(A,W,ue))}const Ue=W=>s.go(W);let dt;const pt=new Set,ht={currentRoute:l,listening:!0,addRoute:p,removeRoute:h,hasRoute:b,getRoutes:_,resolve:w,options:e,push:z,replace:S,go:Ue,back:()=>Ue(-1),forward:()=>Ue(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:G.add,isReady:Be,install(W){const ue=this;W.component("RouterLink",RO),W.component("RouterView",VO),W.config.globalProperties.$router=ue,Object.defineProperty(W.config.globalProperties,"$route",{enumerable:!0,get:()=>yn(l)}),Ns&&!dt&&l.value===Tr&&(dt=!0,z(s.location).catch(Ve=>{}));const ie={};for(const Ve in Tr)Object.defineProperty(ie,Ve,{get:()=>l.value[Ve],enumerable:!0});W.provide(bm,ue),W.provide(r1,Ed(ie)),W.provide(Qc,l);const ge=W.unmount;pt.add(W),W.unmount=function(){pt.delete(W),pt.size<1&&(c=Tr,q&&q(),q=null,l.value=Tr,dt=!1,re=!1),ge()}}};function Ne(W){return W.reduce((ue,ie)=>ue.then(()=>P(ie)),Promise.resolve())}return ht}function UO(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iuo(c,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>uo(c,l))||s.push(l))}return[n,r,s]}const BO={name:"PageAbout",computed:{config(){return this.$store.state.config},library(){return this.$store.state.library}},methods:{showUpdateDialog(){this.$store.commit(zi,!0)}}},jO={class:"section"},qO={class:"container"},WO={class:"columns is-centered"},GO={class:"column is-four-fifths has-text-centered-mobile"},KO=["textContent"],ZO={class:"section"},YO={class:"container"},JO={class:"columns is-centered"},XO={class:"column is-four-fifths"},QO={class:"content"},e3={class:"level is-mobile"},t3={class:"level-left"},n3={class:"level-item"},r3=["textContent"],s3={class:"level-right"},o3={key:0},i3=["textContent"],a3={key:1},l3=["textContent"],u3={class:"table"},c3=["textContent"],d3=["textContent"],m3=["textContent"],f3=["textContent"],p3=["textContent"],h3=["textContent"],_3=["textContent"],g3=["textContent"],y3=["textContent"],v3={class:"has-text-right"},b3=["textContent"],z3=["textContent"],C3=["textContent"],w3={class:"has-text-right"},k3=["textContent"],x3=["textContent"],E3={class:"section"},S3={class:"container"},$3={class:"columns is-centered"},A3={class:"column is-four-fifths"},T3={class:"content has-text-centered-mobile"},O3=["textContent"],D3=["textContent"],P3=u("a",{href:"https://bulma.io"},"Bulma",-1),I3=u("a",{href:"https://pictogrammers.com/library/mdi/"},"Material Design Icons",-1),F3=u("a",{href:"https://vuejs.org/"},"Vue.js",-1),R3=u("a",{href:"https://github.com/mzabriskie/axios"},"axios",-1),L3=["textContent"];function N3(e,t,n,r,s,o){const i=$("i18n-t");return k(),T("div",null,[u("section",jO,[u("div",qO,[u("div",WO,[u("div",GO,[u("h1",{class:"title is-4",textContent:g(o.config.library_name)},null,8,KO)])])])]),u("section",ZO,[u("div",YO,[u("div",JO,[u("div",XO,[u("div",QO,[u("nav",e3,[u("div",t3,[u("div",n3,[u("p",{class:"title is-5",textContent:g(e.$t("page.about.library"))},null,8,r3)])]),u("div",s3,[o.library.updating?(k(),T("div",o3,[u("a",{class:"button is-small is-loading",textContent:g(e.$t("page.about.update"))},null,8,i3)])):(k(),T("div",a3,[u("a",{class:"button is-small",onClick:t[0]||(t[0]=a=>o.showUpdateDialog()),textContent:g(e.$t("page.about.update"))},null,8,l3)]))])]),u("table",u3,[u("tbody",null,[u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.artists"))},null,8,c3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.artists))},null,8,d3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.albums"))},null,8,m3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.albums))},null,8,f3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.tracks"))},null,8,p3),u("td",{class:"has-text-right",textContent:g(e.$filters.number(o.library.songs))},null,8,h3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.total-playtime"))},null,8,_3),u("td",{class:"has-text-right",textContent:g(e.$filters.durationInDays(o.library.db_playtime*1e3))},null,8,g3)]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.updated"))},null,8,y3),u("td",v3,[u("span",{textContent:g(e.$t("page.about.updated-on",{time:e.$filters.timeFromNow(o.library.updated_at)}))},null,8,b3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.updated_at))},null,8,z3),gt(") ")])]),u("tr",null,[u("th",{class:"has-text-left",textContent:g(e.$t("page.about.uptime"))},null,8,C3),u("td",w3,[u("span",{textContent:g(e.$filters.timeFromNow(o.library.started_at,!0))},null,8,k3),gt(" ("),u("span",{class:"has-text-grey",textContent:g(e.$filters.datetime(o.library.started_at))},null,8,x3),gt(") ")])])])])])])])])]),u("section",E3,[u("div",S3,[u("div",$3,[u("div",A3,[u("div",T3,[u("p",{class:"is-size-7",textContent:g(e.$t("page.about.version",{version:o.config.version}))},null,8,O3),u("p",{class:"is-size-7",textContent:g(e.$t("page.about.compiled-with",{options:o.config.buildoptions.join(", ")}))},null,8,D3),y(i,{tag:"p",class:"is-size-7",keypath:"page.about.built-with",scope:"global"},{bulma:E(()=>[P3]),mdi:E(()=>[I3]),vuejs:E(()=>[F3]),axios:E(()=>[R3]),others:E(()=>[u("a",{href:"https://github.com/owntone/owntone-server/network/dependencies",textContent:g(e.$t("page.about.more"))},null,8,L3)]),_:1})])])])])])])}const M3=te(BO,[["render",N3]]),V3={},H3={class:"hero is-light"},U3={class:"hero-body"},B3={class:"container"},j3={class:"columns is-centered"},q3={class:"column is-four-fifths"},W3={class:"columns is-flex-direction-row-reverse"},G3={class:"column fd-has-cover"},K3={class:"column m-auto is-three-fifths has-text-centered-mobile"},Z3={class:"section pt-0"},Y3={class:"container"},J3={class:"columns is-centered"},X3={class:"column is-four-fifths"};function Q3(e,t){return k(),T(we,null,[u("section",H3,[u("div",U3,[u("div",B3,[u("div",j3,[u("div",q3,[u("div",W3,[u("div",G3,[it(e.$slots,"heading-right")]),u("div",K3,[it(e.$slots,"heading-left")])])])])])])]),u("section",Z3,[u("div",Y3,[u("div",J3,[u("div",X3,[it(e.$slots,"content"),it(e.$slots,"footer")])])])])],64)}const cu=te(V3,[["render",Q3]]);var s1={exports:{}},e4=[{value:"#B0171F",name:"indian red"},{value:"#DC143C",css:!0,name:"crimson"},{value:"#FFB6C1",css:!0,name:"lightpink"},{value:"#FFAEB9",name:"lightpink 1"},{value:"#EEA2AD",name:"lightpink 2"},{value:"#CD8C95",name:"lightpink 3"},{value:"#8B5F65",name:"lightpink 4"},{value:"#FFC0CB",css:!0,name:"pink"},{value:"#FFB5C5",name:"pink 1"},{value:"#EEA9B8",name:"pink 2"},{value:"#CD919E",name:"pink 3"},{value:"#8B636C",name:"pink 4"},{value:"#DB7093",css:!0,name:"palevioletred"},{value:"#FF82AB",name:"palevioletred 1"},{value:"#EE799F",name:"palevioletred 2"},{value:"#CD6889",name:"palevioletred 3"},{value:"#8B475D",name:"palevioletred 4"},{value:"#FFF0F5",name:"lavenderblush 1"},{value:"#FFF0F5",css:!0,name:"lavenderblush"},{value:"#EEE0E5",name:"lavenderblush 2"},{value:"#CDC1C5",name:"lavenderblush 3"},{value:"#8B8386",name:"lavenderblush 4"},{value:"#FF3E96",name:"violetred 1"},{value:"#EE3A8C",name:"violetred 2"},{value:"#CD3278",name:"violetred 3"},{value:"#8B2252",name:"violetred 4"},{value:"#FF69B4",css:!0,name:"hotpink"},{value:"#FF6EB4",name:"hotpink 1"},{value:"#EE6AA7",name:"hotpink 2"},{value:"#CD6090",name:"hotpink 3"},{value:"#8B3A62",name:"hotpink 4"},{value:"#872657",name:"raspberry"},{value:"#FF1493",name:"deeppink 1"},{value:"#FF1493",css:!0,name:"deeppink"},{value:"#EE1289",name:"deeppink 2"},{value:"#CD1076",name:"deeppink 3"},{value:"#8B0A50",name:"deeppink 4"},{value:"#FF34B3",name:"maroon 1"},{value:"#EE30A7",name:"maroon 2"},{value:"#CD2990",name:"maroon 3"},{value:"#8B1C62",name:"maroon 4"},{value:"#C71585",css:!0,name:"mediumvioletred"},{value:"#D02090",name:"violetred"},{value:"#DA70D6",css:!0,name:"orchid"},{value:"#FF83FA",name:"orchid 1"},{value:"#EE7AE9",name:"orchid 2"},{value:"#CD69C9",name:"orchid 3"},{value:"#8B4789",name:"orchid 4"},{value:"#D8BFD8",css:!0,name:"thistle"},{value:"#FFE1FF",name:"thistle 1"},{value:"#EED2EE",name:"thistle 2"},{value:"#CDB5CD",name:"thistle 3"},{value:"#8B7B8B",name:"thistle 4"},{value:"#FFBBFF",name:"plum 1"},{value:"#EEAEEE",name:"plum 2"},{value:"#CD96CD",name:"plum 3"},{value:"#8B668B",name:"plum 4"},{value:"#DDA0DD",css:!0,name:"plum"},{value:"#EE82EE",css:!0,name:"violet"},{value:"#FF00FF",vga:!0,name:"magenta"},{value:"#FF00FF",vga:!0,css:!0,name:"fuchsia"},{value:"#EE00EE",name:"magenta 2"},{value:"#CD00CD",name:"magenta 3"},{value:"#8B008B",name:"magenta 4"},{value:"#8B008B",css:!0,name:"darkmagenta"},{value:"#800080",vga:!0,css:!0,name:"purple"},{value:"#BA55D3",css:!0,name:"mediumorchid"},{value:"#E066FF",name:"mediumorchid 1"},{value:"#D15FEE",name:"mediumorchid 2"},{value:"#B452CD",name:"mediumorchid 3"},{value:"#7A378B",name:"mediumorchid 4"},{value:"#9400D3",css:!0,name:"darkviolet"},{value:"#9932CC",css:!0,name:"darkorchid"},{value:"#BF3EFF",name:"darkorchid 1"},{value:"#B23AEE",name:"darkorchid 2"},{value:"#9A32CD",name:"darkorchid 3"},{value:"#68228B",name:"darkorchid 4"},{value:"#4B0082",css:!0,name:"indigo"},{value:"#8A2BE2",css:!0,name:"blueviolet"},{value:"#9B30FF",name:"purple 1"},{value:"#912CEE",name:"purple 2"},{value:"#7D26CD",name:"purple 3"},{value:"#551A8B",name:"purple 4"},{value:"#9370DB",css:!0,name:"mediumpurple"},{value:"#AB82FF",name:"mediumpurple 1"},{value:"#9F79EE",name:"mediumpurple 2"},{value:"#8968CD",name:"mediumpurple 3"},{value:"#5D478B",name:"mediumpurple 4"},{value:"#483D8B",css:!0,name:"darkslateblue"},{value:"#8470FF",name:"lightslateblue"},{value:"#7B68EE",css:!0,name:"mediumslateblue"},{value:"#6A5ACD",css:!0,name:"slateblue"},{value:"#836FFF",name:"slateblue 1"},{value:"#7A67EE",name:"slateblue 2"},{value:"#6959CD",name:"slateblue 3"},{value:"#473C8B",name:"slateblue 4"},{value:"#F8F8FF",css:!0,name:"ghostwhite"},{value:"#E6E6FA",css:!0,name:"lavender"},{value:"#0000FF",vga:!0,css:!0,name:"blue"},{value:"#0000EE",name:"blue 2"},{value:"#0000CD",name:"blue 3"},{value:"#0000CD",css:!0,name:"mediumblue"},{value:"#00008B",name:"blue 4"},{value:"#00008B",css:!0,name:"darkblue"},{value:"#000080",vga:!0,css:!0,name:"navy"},{value:"#191970",css:!0,name:"midnightblue"},{value:"#3D59AB",name:"cobalt"},{value:"#4169E1",css:!0,name:"royalblue"},{value:"#4876FF",name:"royalblue 1"},{value:"#436EEE",name:"royalblue 2"},{value:"#3A5FCD",name:"royalblue 3"},{value:"#27408B",name:"royalblue 4"},{value:"#6495ED",css:!0,name:"cornflowerblue"},{value:"#B0C4DE",css:!0,name:"lightsteelblue"},{value:"#CAE1FF",name:"lightsteelblue 1"},{value:"#BCD2EE",name:"lightsteelblue 2"},{value:"#A2B5CD",name:"lightsteelblue 3"},{value:"#6E7B8B",name:"lightsteelblue 4"},{value:"#778899",css:!0,name:"lightslategray"},{value:"#708090",css:!0,name:"slategray"},{value:"#C6E2FF",name:"slategray 1"},{value:"#B9D3EE",name:"slategray 2"},{value:"#9FB6CD",name:"slategray 3"},{value:"#6C7B8B",name:"slategray 4"},{value:"#1E90FF",name:"dodgerblue 1"},{value:"#1E90FF",css:!0,name:"dodgerblue"},{value:"#1C86EE",name:"dodgerblue 2"},{value:"#1874CD",name:"dodgerblue 3"},{value:"#104E8B",name:"dodgerblue 4"},{value:"#F0F8FF",css:!0,name:"aliceblue"},{value:"#4682B4",css:!0,name:"steelblue"},{value:"#63B8FF",name:"steelblue 1"},{value:"#5CACEE",name:"steelblue 2"},{value:"#4F94CD",name:"steelblue 3"},{value:"#36648B",name:"steelblue 4"},{value:"#87CEFA",css:!0,name:"lightskyblue"},{value:"#B0E2FF",name:"lightskyblue 1"},{value:"#A4D3EE",name:"lightskyblue 2"},{value:"#8DB6CD",name:"lightskyblue 3"},{value:"#607B8B",name:"lightskyblue 4"},{value:"#87CEFF",name:"skyblue 1"},{value:"#7EC0EE",name:"skyblue 2"},{value:"#6CA6CD",name:"skyblue 3"},{value:"#4A708B",name:"skyblue 4"},{value:"#87CEEB",css:!0,name:"skyblue"},{value:"#00BFFF",name:"deepskyblue 1"},{value:"#00BFFF",css:!0,name:"deepskyblue"},{value:"#00B2EE",name:"deepskyblue 2"},{value:"#009ACD",name:"deepskyblue 3"},{value:"#00688B",name:"deepskyblue 4"},{value:"#33A1C9",name:"peacock"},{value:"#ADD8E6",css:!0,name:"lightblue"},{value:"#BFEFFF",name:"lightblue 1"},{value:"#B2DFEE",name:"lightblue 2"},{value:"#9AC0CD",name:"lightblue 3"},{value:"#68838B",name:"lightblue 4"},{value:"#B0E0E6",css:!0,name:"powderblue"},{value:"#98F5FF",name:"cadetblue 1"},{value:"#8EE5EE",name:"cadetblue 2"},{value:"#7AC5CD",name:"cadetblue 3"},{value:"#53868B",name:"cadetblue 4"},{value:"#00F5FF",name:"turquoise 1"},{value:"#00E5EE",name:"turquoise 2"},{value:"#00C5CD",name:"turquoise 3"},{value:"#00868B",name:"turquoise 4"},{value:"#5F9EA0",css:!0,name:"cadetblue"},{value:"#00CED1",css:!0,name:"darkturquoise"},{value:"#F0FFFF",name:"azure 1"},{value:"#F0FFFF",css:!0,name:"azure"},{value:"#E0EEEE",name:"azure 2"},{value:"#C1CDCD",name:"azure 3"},{value:"#838B8B",name:"azure 4"},{value:"#E0FFFF",name:"lightcyan 1"},{value:"#E0FFFF",css:!0,name:"lightcyan"},{value:"#D1EEEE",name:"lightcyan 2"},{value:"#B4CDCD",name:"lightcyan 3"},{value:"#7A8B8B",name:"lightcyan 4"},{value:"#BBFFFF",name:"paleturquoise 1"},{value:"#AEEEEE",name:"paleturquoise 2"},{value:"#AEEEEE",css:!0,name:"paleturquoise"},{value:"#96CDCD",name:"paleturquoise 3"},{value:"#668B8B",name:"paleturquoise 4"},{value:"#2F4F4F",css:!0,name:"darkslategray"},{value:"#97FFFF",name:"darkslategray 1"},{value:"#8DEEEE",name:"darkslategray 2"},{value:"#79CDCD",name:"darkslategray 3"},{value:"#528B8B",name:"darkslategray 4"},{value:"#00FFFF",name:"cyan"},{value:"#00FFFF",css:!0,name:"aqua"},{value:"#00EEEE",name:"cyan 2"},{value:"#00CDCD",name:"cyan 3"},{value:"#008B8B",name:"cyan 4"},{value:"#008B8B",css:!0,name:"darkcyan"},{value:"#008080",vga:!0,css:!0,name:"teal"},{value:"#48D1CC",css:!0,name:"mediumturquoise"},{value:"#20B2AA",css:!0,name:"lightseagreen"},{value:"#03A89E",name:"manganeseblue"},{value:"#40E0D0",css:!0,name:"turquoise"},{value:"#808A87",name:"coldgrey"},{value:"#00C78C",name:"turquoiseblue"},{value:"#7FFFD4",name:"aquamarine 1"},{value:"#7FFFD4",css:!0,name:"aquamarine"},{value:"#76EEC6",name:"aquamarine 2"},{value:"#66CDAA",name:"aquamarine 3"},{value:"#66CDAA",css:!0,name:"mediumaquamarine"},{value:"#458B74",name:"aquamarine 4"},{value:"#00FA9A",css:!0,name:"mediumspringgreen"},{value:"#F5FFFA",css:!0,name:"mintcream"},{value:"#00FF7F",css:!0,name:"springgreen"},{value:"#00EE76",name:"springgreen 1"},{value:"#00CD66",name:"springgreen 2"},{value:"#008B45",name:"springgreen 3"},{value:"#3CB371",css:!0,name:"mediumseagreen"},{value:"#54FF9F",name:"seagreen 1"},{value:"#4EEE94",name:"seagreen 2"},{value:"#43CD80",name:"seagreen 3"},{value:"#2E8B57",name:"seagreen 4"},{value:"#2E8B57",css:!0,name:"seagreen"},{value:"#00C957",name:"emeraldgreen"},{value:"#BDFCC9",name:"mint"},{value:"#3D9140",name:"cobaltgreen"},{value:"#F0FFF0",name:"honeydew 1"},{value:"#F0FFF0",css:!0,name:"honeydew"},{value:"#E0EEE0",name:"honeydew 2"},{value:"#C1CDC1",name:"honeydew 3"},{value:"#838B83",name:"honeydew 4"},{value:"#8FBC8F",css:!0,name:"darkseagreen"},{value:"#C1FFC1",name:"darkseagreen 1"},{value:"#B4EEB4",name:"darkseagreen 2"},{value:"#9BCD9B",name:"darkseagreen 3"},{value:"#698B69",name:"darkseagreen 4"},{value:"#98FB98",css:!0,name:"palegreen"},{value:"#9AFF9A",name:"palegreen 1"},{value:"#90EE90",name:"palegreen 2"},{value:"#90EE90",css:!0,name:"lightgreen"},{value:"#7CCD7C",name:"palegreen 3"},{value:"#548B54",name:"palegreen 4"},{value:"#32CD32",css:!0,name:"limegreen"},{value:"#228B22",css:!0,name:"forestgreen"},{value:"#00FF00",vga:!0,name:"green 1"},{value:"#00FF00",vga:!0,css:!0,name:"lime"},{value:"#00EE00",name:"green 2"},{value:"#00CD00",name:"green 3"},{value:"#008B00",name:"green 4"},{value:"#008000",vga:!0,css:!0,name:"green"},{value:"#006400",css:!0,name:"darkgreen"},{value:"#308014",name:"sapgreen"},{value:"#7CFC00",css:!0,name:"lawngreen"},{value:"#7FFF00",name:"chartreuse 1"},{value:"#7FFF00",css:!0,name:"chartreuse"},{value:"#76EE00",name:"chartreuse 2"},{value:"#66CD00",name:"chartreuse 3"},{value:"#458B00",name:"chartreuse 4"},{value:"#ADFF2F",css:!0,name:"greenyellow"},{value:"#CAFF70",name:"darkolivegreen 1"},{value:"#BCEE68",name:"darkolivegreen 2"},{value:"#A2CD5A",name:"darkolivegreen 3"},{value:"#6E8B3D",name:"darkolivegreen 4"},{value:"#556B2F",css:!0,name:"darkolivegreen"},{value:"#6B8E23",css:!0,name:"olivedrab"},{value:"#C0FF3E",name:"olivedrab 1"},{value:"#B3EE3A",name:"olivedrab 2"},{value:"#9ACD32",name:"olivedrab 3"},{value:"#9ACD32",css:!0,name:"yellowgreen"},{value:"#698B22",name:"olivedrab 4"},{value:"#FFFFF0",name:"ivory 1"},{value:"#FFFFF0",css:!0,name:"ivory"},{value:"#EEEEE0",name:"ivory 2"},{value:"#CDCDC1",name:"ivory 3"},{value:"#8B8B83",name:"ivory 4"},{value:"#F5F5DC",css:!0,name:"beige"},{value:"#FFFFE0",name:"lightyellow 1"},{value:"#FFFFE0",css:!0,name:"lightyellow"},{value:"#EEEED1",name:"lightyellow 2"},{value:"#CDCDB4",name:"lightyellow 3"},{value:"#8B8B7A",name:"lightyellow 4"},{value:"#FAFAD2",css:!0,name:"lightgoldenrodyellow"},{value:"#FFFF00",vga:!0,name:"yellow 1"},{value:"#FFFF00",vga:!0,css:!0,name:"yellow"},{value:"#EEEE00",name:"yellow 2"},{value:"#CDCD00",name:"yellow 3"},{value:"#8B8B00",name:"yellow 4"},{value:"#808069",name:"warmgrey"},{value:"#808000",vga:!0,css:!0,name:"olive"},{value:"#BDB76B",css:!0,name:"darkkhaki"},{value:"#FFF68F",name:"khaki 1"},{value:"#EEE685",name:"khaki 2"},{value:"#CDC673",name:"khaki 3"},{value:"#8B864E",name:"khaki 4"},{value:"#F0E68C",css:!0,name:"khaki"},{value:"#EEE8AA",css:!0,name:"palegoldenrod"},{value:"#FFFACD",name:"lemonchiffon 1"},{value:"#FFFACD",css:!0,name:"lemonchiffon"},{value:"#EEE9BF",name:"lemonchiffon 2"},{value:"#CDC9A5",name:"lemonchiffon 3"},{value:"#8B8970",name:"lemonchiffon 4"},{value:"#FFEC8B",name:"lightgoldenrod 1"},{value:"#EEDC82",name:"lightgoldenrod 2"},{value:"#CDBE70",name:"lightgoldenrod 3"},{value:"#8B814C",name:"lightgoldenrod 4"},{value:"#E3CF57",name:"banana"},{value:"#FFD700",name:"gold 1"},{value:"#FFD700",css:!0,name:"gold"},{value:"#EEC900",name:"gold 2"},{value:"#CDAD00",name:"gold 3"},{value:"#8B7500",name:"gold 4"},{value:"#FFF8DC",name:"cornsilk 1"},{value:"#FFF8DC",css:!0,name:"cornsilk"},{value:"#EEE8CD",name:"cornsilk 2"},{value:"#CDC8B1",name:"cornsilk 3"},{value:"#8B8878",name:"cornsilk 4"},{value:"#DAA520",css:!0,name:"goldenrod"},{value:"#FFC125",name:"goldenrod 1"},{value:"#EEB422",name:"goldenrod 2"},{value:"#CD9B1D",name:"goldenrod 3"},{value:"#8B6914",name:"goldenrod 4"},{value:"#B8860B",css:!0,name:"darkgoldenrod"},{value:"#FFB90F",name:"darkgoldenrod 1"},{value:"#EEAD0E",name:"darkgoldenrod 2"},{value:"#CD950C",name:"darkgoldenrod 3"},{value:"#8B6508",name:"darkgoldenrod 4"},{value:"#FFA500",name:"orange 1"},{value:"#FF8000",css:!0,name:"orange"},{value:"#EE9A00",name:"orange 2"},{value:"#CD8500",name:"orange 3"},{value:"#8B5A00",name:"orange 4"},{value:"#FFFAF0",css:!0,name:"floralwhite"},{value:"#FDF5E6",css:!0,name:"oldlace"},{value:"#F5DEB3",css:!0,name:"wheat"},{value:"#FFE7BA",name:"wheat 1"},{value:"#EED8AE",name:"wheat 2"},{value:"#CDBA96",name:"wheat 3"},{value:"#8B7E66",name:"wheat 4"},{value:"#FFE4B5",css:!0,name:"moccasin"},{value:"#FFEFD5",css:!0,name:"papayawhip"},{value:"#FFEBCD",css:!0,name:"blanchedalmond"},{value:"#FFDEAD",name:"navajowhite 1"},{value:"#FFDEAD",css:!0,name:"navajowhite"},{value:"#EECFA1",name:"navajowhite 2"},{value:"#CDB38B",name:"navajowhite 3"},{value:"#8B795E",name:"navajowhite 4"},{value:"#FCE6C9",name:"eggshell"},{value:"#D2B48C",css:!0,name:"tan"},{value:"#9C661F",name:"brick"},{value:"#FF9912",name:"cadmiumyellow"},{value:"#FAEBD7",css:!0,name:"antiquewhite"},{value:"#FFEFDB",name:"antiquewhite 1"},{value:"#EEDFCC",name:"antiquewhite 2"},{value:"#CDC0B0",name:"antiquewhite 3"},{value:"#8B8378",name:"antiquewhite 4"},{value:"#DEB887",css:!0,name:"burlywood"},{value:"#FFD39B",name:"burlywood 1"},{value:"#EEC591",name:"burlywood 2"},{value:"#CDAA7D",name:"burlywood 3"},{value:"#8B7355",name:"burlywood 4"},{value:"#FFE4C4",name:"bisque 1"},{value:"#FFE4C4",css:!0,name:"bisque"},{value:"#EED5B7",name:"bisque 2"},{value:"#CDB79E",name:"bisque 3"},{value:"#8B7D6B",name:"bisque 4"},{value:"#E3A869",name:"melon"},{value:"#ED9121",name:"carrot"},{value:"#FF8C00",css:!0,name:"darkorange"},{value:"#FF7F00",name:"darkorange 1"},{value:"#EE7600",name:"darkorange 2"},{value:"#CD6600",name:"darkorange 3"},{value:"#8B4500",name:"darkorange 4"},{value:"#FFA54F",name:"tan 1"},{value:"#EE9A49",name:"tan 2"},{value:"#CD853F",name:"tan 3"},{value:"#CD853F",css:!0,name:"peru"},{value:"#8B5A2B",name:"tan 4"},{value:"#FAF0E6",css:!0,name:"linen"},{value:"#FFDAB9",name:"peachpuff 1"},{value:"#FFDAB9",css:!0,name:"peachpuff"},{value:"#EECBAD",name:"peachpuff 2"},{value:"#CDAF95",name:"peachpuff 3"},{value:"#8B7765",name:"peachpuff 4"},{value:"#FFF5EE",name:"seashell 1"},{value:"#FFF5EE",css:!0,name:"seashell"},{value:"#EEE5DE",name:"seashell 2"},{value:"#CDC5BF",name:"seashell 3"},{value:"#8B8682",name:"seashell 4"},{value:"#F4A460",css:!0,name:"sandybrown"},{value:"#C76114",name:"rawsienna"},{value:"#D2691E",css:!0,name:"chocolate"},{value:"#FF7F24",name:"chocolate 1"},{value:"#EE7621",name:"chocolate 2"},{value:"#CD661D",name:"chocolate 3"},{value:"#8B4513",name:"chocolate 4"},{value:"#8B4513",css:!0,name:"saddlebrown"},{value:"#292421",name:"ivoryblack"},{value:"#FF7D40",name:"flesh"},{value:"#FF6103",name:"cadmiumorange"},{value:"#8A360F",name:"burntsienna"},{value:"#A0522D",css:!0,name:"sienna"},{value:"#FF8247",name:"sienna 1"},{value:"#EE7942",name:"sienna 2"},{value:"#CD6839",name:"sienna 3"},{value:"#8B4726",name:"sienna 4"},{value:"#FFA07A",name:"lightsalmon 1"},{value:"#FFA07A",css:!0,name:"lightsalmon"},{value:"#EE9572",name:"lightsalmon 2"},{value:"#CD8162",name:"lightsalmon 3"},{value:"#8B5742",name:"lightsalmon 4"},{value:"#FF7F50",css:!0,name:"coral"},{value:"#FF4500",name:"orangered 1"},{value:"#FF4500",css:!0,name:"orangered"},{value:"#EE4000",name:"orangered 2"},{value:"#CD3700",name:"orangered 3"},{value:"#8B2500",name:"orangered 4"},{value:"#5E2612",name:"sepia"},{value:"#E9967A",css:!0,name:"darksalmon"},{value:"#FF8C69",name:"salmon 1"},{value:"#EE8262",name:"salmon 2"},{value:"#CD7054",name:"salmon 3"},{value:"#8B4C39",name:"salmon 4"},{value:"#FF7256",name:"coral 1"},{value:"#EE6A50",name:"coral 2"},{value:"#CD5B45",name:"coral 3"},{value:"#8B3E2F",name:"coral 4"},{value:"#8A3324",name:"burntumber"},{value:"#FF6347",name:"tomato 1"},{value:"#FF6347",css:!0,name:"tomato"},{value:"#EE5C42",name:"tomato 2"},{value:"#CD4F39",name:"tomato 3"},{value:"#8B3626",name:"tomato 4"},{value:"#FA8072",css:!0,name:"salmon"},{value:"#FFE4E1",name:"mistyrose 1"},{value:"#FFE4E1",css:!0,name:"mistyrose"},{value:"#EED5D2",name:"mistyrose 2"},{value:"#CDB7B5",name:"mistyrose 3"},{value:"#8B7D7B",name:"mistyrose 4"},{value:"#FFFAFA",name:"snow 1"},{value:"#FFFAFA",css:!0,name:"snow"},{value:"#EEE9E9",name:"snow 2"},{value:"#CDC9C9",name:"snow 3"},{value:"#8B8989",name:"snow 4"},{value:"#BC8F8F",css:!0,name:"rosybrown"},{value:"#FFC1C1",name:"rosybrown 1"},{value:"#EEB4B4",name:"rosybrown 2"},{value:"#CD9B9B",name:"rosybrown 3"},{value:"#8B6969",name:"rosybrown 4"},{value:"#F08080",css:!0,name:"lightcoral"},{value:"#CD5C5C",css:!0,name:"indianred"},{value:"#FF6A6A",name:"indianred 1"},{value:"#EE6363",name:"indianred 2"},{value:"#8B3A3A",name:"indianred 4"},{value:"#CD5555",name:"indianred 3"},{value:"#A52A2A",css:!0,name:"brown"},{value:"#FF4040",name:"brown 1"},{value:"#EE3B3B",name:"brown 2"},{value:"#CD3333",name:"brown 3"},{value:"#8B2323",name:"brown 4"},{value:"#B22222",css:!0,name:"firebrick"},{value:"#FF3030",name:"firebrick 1"},{value:"#EE2C2C",name:"firebrick 2"},{value:"#CD2626",name:"firebrick 3"},{value:"#8B1A1A",name:"firebrick 4"},{value:"#FF0000",vga:!0,name:"red 1"},{value:"#FF0000",vga:!0,css:!0,name:"red"},{value:"#EE0000",name:"red 2"},{value:"#CD0000",name:"red 3"},{value:"#8B0000",name:"red 4"},{value:"#8B0000",css:!0,name:"darkred"},{value:"#800000",vga:!0,css:!0,name:"maroon"},{value:"#8E388E",name:"sgi beet"},{value:"#7171C6",name:"sgi slateblue"},{value:"#7D9EC0",name:"sgi lightblue"},{value:"#388E8E",name:"sgi teal"},{value:"#71C671",name:"sgi chartreuse"},{value:"#8E8E38",name:"sgi olivedrab"},{value:"#C5C1AA",name:"sgi brightgray"},{value:"#C67171",name:"sgi salmon"},{value:"#555555",name:"sgi darkgray"},{value:"#1E1E1E",name:"sgi gray 12"},{value:"#282828",name:"sgi gray 16"},{value:"#515151",name:"sgi gray 32"},{value:"#5B5B5B",name:"sgi gray 36"},{value:"#848484",name:"sgi gray 52"},{value:"#8E8E8E",name:"sgi gray 56"},{value:"#AAAAAA",name:"sgi lightgray"},{value:"#B7B7B7",name:"sgi gray 72"},{value:"#C1C1C1",name:"sgi gray 76"},{value:"#EAEAEA",name:"sgi gray 92"},{value:"#F4F4F4",name:"sgi gray 96"},{value:"#FFFFFF",vga:!0,css:!0,name:"white"},{value:"#F5F5F5",name:"white smoke"},{value:"#F5F5F5",name:"gray 96"},{value:"#DCDCDC",css:!0,name:"gainsboro"},{value:"#D3D3D3",css:!0,name:"lightgrey"},{value:"#C0C0C0",vga:!0,css:!0,name:"silver"},{value:"#A9A9A9",css:!0,name:"darkgray"},{value:"#808080",vga:!0,css:!0,name:"gray"},{value:"#696969",css:!0,name:"dimgray"},{value:"#696969",name:"gray 42"},{value:"#000000",vga:!0,css:!0,name:"black"},{value:"#FCFCFC",name:"gray 99"},{value:"#FAFAFA",name:"gray 98"},{value:"#F7F7F7",name:"gray 97"},{value:"#F2F2F2",name:"gray 95"},{value:"#F0F0F0",name:"gray 94"},{value:"#EDEDED",name:"gray 93"},{value:"#EBEBEB",name:"gray 92"},{value:"#E8E8E8",name:"gray 91"},{value:"#E5E5E5",name:"gray 90"},{value:"#E3E3E3",name:"gray 89"},{value:"#E0E0E0",name:"gray 88"},{value:"#DEDEDE",name:"gray 87"},{value:"#DBDBDB",name:"gray 86"},{value:"#D9D9D9",name:"gray 85"},{value:"#D6D6D6",name:"gray 84"},{value:"#D4D4D4",name:"gray 83"},{value:"#D1D1D1",name:"gray 82"},{value:"#CFCFCF",name:"gray 81"},{value:"#CCCCCC",name:"gray 80"},{value:"#C9C9C9",name:"gray 79"},{value:"#C7C7C7",name:"gray 78"},{value:"#C4C4C4",name:"gray 77"},{value:"#C2C2C2",name:"gray 76"},{value:"#BFBFBF",name:"gray 75"},{value:"#BDBDBD",name:"gray 74"},{value:"#BABABA",name:"gray 73"},{value:"#B8B8B8",name:"gray 72"},{value:"#B5B5B5",name:"gray 71"},{value:"#B3B3B3",name:"gray 70"},{value:"#B0B0B0",name:"gray 69"},{value:"#ADADAD",name:"gray 68"},{value:"#ABABAB",name:"gray 67"},{value:"#A8A8A8",name:"gray 66"},{value:"#A6A6A6",name:"gray 65"},{value:"#A3A3A3",name:"gray 64"},{value:"#A1A1A1",name:"gray 63"},{value:"#9E9E9E",name:"gray 62"},{value:"#9C9C9C",name:"gray 61"},{value:"#999999",name:"gray 60"},{value:"#969696",name:"gray 59"},{value:"#949494",name:"gray 58"},{value:"#919191",name:"gray 57"},{value:"#8F8F8F",name:"gray 56"},{value:"#8C8C8C",name:"gray 55"},{value:"#8A8A8A",name:"gray 54"},{value:"#878787",name:"gray 53"},{value:"#858585",name:"gray 52"},{value:"#828282",name:"gray 51"},{value:"#7F7F7F",name:"gray 50"},{value:"#7D7D7D",name:"gray 49"},{value:"#7A7A7A",name:"gray 48"},{value:"#787878",name:"gray 47"},{value:"#757575",name:"gray 46"},{value:"#737373",name:"gray 45"},{value:"#707070",name:"gray 44"},{value:"#6E6E6E",name:"gray 43"},{value:"#666666",name:"gray 40"},{value:"#636363",name:"gray 39"},{value:"#616161",name:"gray 38"},{value:"#5E5E5E",name:"gray 37"},{value:"#5C5C5C",name:"gray 36"},{value:"#595959",name:"gray 35"},{value:"#575757",name:"gray 34"},{value:"#545454",name:"gray 33"},{value:"#525252",name:"gray 32"},{value:"#4F4F4F",name:"gray 31"},{value:"#4D4D4D",name:"gray 30"},{value:"#4A4A4A",name:"gray 29"},{value:"#474747",name:"gray 28"},{value:"#454545",name:"gray 27"},{value:"#424242",name:"gray 26"},{value:"#404040",name:"gray 25"},{value:"#3D3D3D",name:"gray 24"},{value:"#3B3B3B",name:"gray 23"},{value:"#383838",name:"gray 22"},{value:"#363636",name:"gray 21"},{value:"#333333",name:"gray 20"},{value:"#303030",name:"gray 19"},{value:"#2E2E2E",name:"gray 18"},{value:"#2B2B2B",name:"gray 17"},{value:"#292929",name:"gray 16"},{value:"#262626",name:"gray 15"},{value:"#242424",name:"gray 14"},{value:"#212121",name:"gray 13"},{value:"#1F1F1F",name:"gray 12"},{value:"#1C1C1C",name:"gray 11"},{value:"#1A1A1A",name:"gray 10"},{value:"#171717",name:"gray 9"},{value:"#141414",name:"gray 8"},{value:"#121212",name:"gray 7"},{value:"#0F0F0F",name:"gray 6"},{value:"#0D0D0D",name:"gray 5"},{value:"#0A0A0A",name:"gray 4"},{value:"#080808",name:"gray 3"},{value:"#050505",name:"gray 2"},{value:"#030303",name:"gray 1"},{value:"#F5F5F5",css:!0,name:"whitesmoke"}];(function(e){var t=e4,n=t.filter(function(s){return!!s.css}),r=t.filter(function(s){return!!s.vga});e.exports=function(s){var o=e.exports.get(s);return o&&o.value},e.exports.get=function(s){return s=s||"",s=s.trim().toLowerCase(),t.filter(function(o){return o.name.toLowerCase()===s}).pop()},e.exports.all=e.exports.get.all=function(){return t},e.exports.get.css=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),n.filter(function(o){return o.name.toLowerCase()===s}).pop()):n},e.exports.get.vga=function(s){return s?(s=s||"",s=s.trim().toLowerCase(),r.filter(function(o){return o.name.toLowerCase()===s}).pop()):r}})(s1);var t4=s1.exports,n4=1/0,r4="[object Symbol]",s4=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,o1="\\ud800-\\udfff",o4="\\u0300-\\u036f\\ufe20-\\ufe23",i4="\\u20d0-\\u20f0",i1="\\u2700-\\u27bf",a1="a-z\\xdf-\\xf6\\xf8-\\xff",a4="\\xac\\xb1\\xd7\\xf7",l4="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",u4="\\u2000-\\u206f",c4=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",l1="A-Z\\xc0-\\xd6\\xd8-\\xde",d4="\\ufe0e\\ufe0f",u1=a4+l4+u4+c4,c1="['’]",lh="["+u1+"]",m4="["+o4+i4+"]",d1="\\d+",f4="["+i1+"]",m1="["+a1+"]",f1="[^"+o1+u1+d1+i1+a1+l1+"]",p4="\\ud83c[\\udffb-\\udfff]",h4="(?:"+m4+"|"+p4+")",_4="[^"+o1+"]",p1="(?:\\ud83c[\\udde6-\\uddff]){2}",h1="[\\ud800-\\udbff][\\udc00-\\udfff]",Ms="["+l1+"]",g4="\\u200d",uh="(?:"+m1+"|"+f1+")",y4="(?:"+Ms+"|"+f1+")",ch="(?:"+c1+"(?:d|ll|m|re|s|t|ve))?",dh="(?:"+c1+"(?:D|LL|M|RE|S|T|VE))?",_1=h4+"?",g1="["+d4+"]?",v4="(?:"+g4+"(?:"+[_4,p1,h1].join("|")+")"+g1+_1+")*",b4=g1+_1+v4,z4="(?:"+[f4,p1,h1].join("|")+")"+b4,C4=RegExp([Ms+"?"+m1+"+"+ch+"(?="+[lh,Ms,"$"].join("|")+")",y4+"+"+dh+"(?="+[lh,Ms+uh,"$"].join("|")+")",Ms+"?"+uh+"+"+ch,Ms+"+"+dh,d1,z4].join("|"),"g"),w4=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,k4=typeof un=="object"&&un&&un.Object===Object&&un,x4=typeof self=="object"&&self&&self.Object===Object&&self,E4=k4||x4||Function("return this")();function S4(e){return e.match(s4)||[]}function $4(e){return w4.test(e)}function A4(e){return e.match(C4)||[]}var T4=Object.prototype,O4=T4.toString,mh=E4.Symbol,fh=mh?mh.prototype:void 0,ph=fh?fh.toString:void 0;function D4(e){if(typeof e=="string")return e;if(I4(e))return ph?ph.call(e):"";var t=e+"";return t=="0"&&1/e==-n4?"-0":t}function P4(e){return!!e&&typeof e=="object"}function I4(e){return typeof e=="symbol"||P4(e)&&O4.call(e)==r4}function F4(e){return e==null?"":D4(e)}function R4(e,t,n){return e=F4(e),t=n?void 0:t,t===void 0?$4(e)?A4(e):S4(e):e.match(t)||[]}var L4=R4,N4=1/0,M4="[object Symbol]",V4=/^\s+/,zm="\\ud800-\\udfff",y1="\\u0300-\\u036f\\ufe20-\\ufe23",v1="\\u20d0-\\u20f0",b1="\\ufe0e\\ufe0f",H4="["+zm+"]",ed="["+y1+v1+"]",td="\\ud83c[\\udffb-\\udfff]",U4="(?:"+ed+"|"+td+")",z1="[^"+zm+"]",C1="(?:\\ud83c[\\udde6-\\uddff]){2}",w1="[\\ud800-\\udbff][\\udc00-\\udfff]",k1="\\u200d",x1=U4+"?",E1="["+b1+"]?",B4="(?:"+k1+"(?:"+[z1,C1,w1].join("|")+")"+E1+x1+")*",j4=E1+x1+B4,q4="(?:"+[z1+ed+"?",ed,C1,w1,H4].join("|")+")",W4=RegExp(td+"(?="+td+")|"+q4+j4,"g"),G4=RegExp("["+k1+zm+y1+v1+b1+"]"),K4=typeof un=="object"&&un&&un.Object===Object&&un,Z4=typeof self=="object"&&self&&self.Object===Object&&self,Y4=K4||Z4||Function("return this")();function J4(e){return e.split("")}function X4(e,t,n,r){for(var s=e.length,o=n+(r?1:-1);r?o--:++o-1;);return n}function n6(e){return G4.test(e)}function hh(e){return n6(e)?r6(e):J4(e)}function r6(e){return e.match(W4)||[]}var s6=Object.prototype,o6=s6.toString,_h=Y4.Symbol,gh=_h?_h.prototype:void 0,yh=gh?gh.toString:void 0;function i6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:i6(e,t,n)}function l6(e){return!!e&&typeof e=="object"}function u6(e){return typeof e=="symbol"||l6(e)&&o6.call(e)==M4}function c6(e){return e==null?"":S1(e)}function d6(e,t,n){if(e=c6(e),e&&(n||t===void 0))return e.replace(V4,"");if(!e||!(t=S1(t)))return e;var r=hh(e),s=t6(r,hh(t));return a6(r,s).join("")}var m6=d6,nd=1/0,f6=9007199254740991,p6=17976931348623157e292,vh=NaN,h6="[object Symbol]",_6=/^\s+|\s+$/g,g6=/^[-+]0x[0-9a-f]+$/i,y6=/^0b[01]+$/i,v6=/^0o[0-7]+$/i,Cm="\\ud800-\\udfff",$1="\\u0300-\\u036f\\ufe20-\\ufe23",A1="\\u20d0-\\u20f0",T1="\\ufe0e\\ufe0f",b6="["+Cm+"]",rd="["+$1+A1+"]",sd="\\ud83c[\\udffb-\\udfff]",z6="(?:"+rd+"|"+sd+")",O1="[^"+Cm+"]",D1="(?:\\ud83c[\\udde6-\\uddff]){2}",P1="[\\ud800-\\udbff][\\udc00-\\udfff]",I1="\\u200d",F1=z6+"?",R1="["+T1+"]?",C6="(?:"+I1+"(?:"+[O1,D1,P1].join("|")+")"+R1+F1+")*",w6=R1+F1+C6,k6="(?:"+[O1+rd+"?",rd,D1,P1,b6].join("|")+")",od=RegExp(sd+"(?="+sd+")|"+k6+w6,"g"),x6=RegExp("["+I1+Cm+$1+A1+T1+"]"),E6=parseInt,S6=typeof un=="object"&&un&&un.Object===Object&&un,$6=typeof self=="object"&&self&&self.Object===Object&&self,A6=S6||$6||Function("return this")(),T6=D6("length");function O6(e){return e.split("")}function D6(e){return function(t){return t==null?void 0:t[e]}}function wm(e){return x6.test(e)}function L1(e){return wm(e)?I6(e):T6(e)}function P6(e){return wm(e)?F6(e):O6(e)}function I6(e){for(var t=od.lastIndex=0;od.test(e);)t++;return t}function F6(e){return e.match(od)||[]}var R6=Object.prototype,L6=R6.toString,bh=A6.Symbol,N6=Math.ceil,M6=Math.floor,zh=bh?bh.prototype:void 0,Ch=zh?zh.toString:void 0;function wh(e,t){var n="";if(!e||t<1||t>f6)return n;do t%2&&(n+=e),t=M6(t/2),t&&(e+=e);while(t);return n}function V6(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(s);++r=r?e:V6(e,t,n)}function U6(e,t){t=t===void 0?" ":N1(t);var n=t.length;if(n<2)return n?wh(t,e):t;var r=wh(t,N6(e/L1(t)));return wm(t)?H6(P6(r),0,e).join(""):r.slice(0,e)}function kh(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function B6(e){return!!e&&typeof e=="object"}function M1(e){return typeof e=="symbol"||B6(e)&&L6.call(e)==h6}function j6(e){if(!e)return e===0?e:0;if(e=W6(e),e===nd||e===-nd){var t=e<0?-1:1;return t*p6}return e===e?e:0}function q6(e){var t=j6(e),n=t%1;return t===t?n?t-n:t:0}function W6(e){if(typeof e=="number")return e;if(M1(e))return vh;if(kh(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=kh(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(_6,"");var n=y6.test(e);return n||v6.test(e)?E6(e.slice(2),n?2:8):g6.test(e)?vh:+e}function G6(e){return e==null?"":N1(e)}function K6(e,t,n){e=G6(e),t=q6(t);var r=t?L1(e):0;return t&&r{const s=(e+(r||"")).toString().includes("%");if(typeof e=="string"?[e,t,n,r]=e.match(/(0?\.?\d{1,3})%?\b/g).map(Number):r!==void 0&&(r=parseFloat(r)),typeof e!="number"||typeof t!="number"||typeof n!="number"||e>255||t>255||n>255)throw new TypeError("Expected three numbers below 256");if(typeof r=="number"){if(!s&&r>=0&&r<=1)r=Math.round(255*r);else if(s&&r>=0&&r<=100)r=Math.round(255*r/100);else throw new TypeError(`Expected alpha value (${r}) as a fraction or percentage`);r=(r|256).toString(16).slice(1)}else r="";return(n|t<<8|e<<16|1<<24).toString(16).slice(1)+r};const vi="a-f\\d",J6=`#?[${vi}]{3}[${vi}]?`,X6=`#?[${vi}]{6}([${vi}]{2})?`,Q6=new RegExp(`[^#${vi}]`,"gi"),e5=new RegExp(`^${J6}$|^${X6}$`,"i");var t5=(e,t={})=>{if(typeof e!="string"||Q6.test(e)||!e5.test(e))throw new TypeError("Expected a valid hex string");e=e.replace(/^#/,"");let n=1;e.length===8&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),e.length===4&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const r=Number.parseInt(e,16),s=r>>16,o=r>>8&255,i=r&255,a=typeof t.alpha=="number"?t.alpha:n;if(t.format==="array")return[s,o,i,a];if(t.format==="css"){const l=a===1?"":` / ${Number((a*100).toFixed(2))}%`;return`rgb(${s} ${o} ${i}${l})`}return{red:s,green:o,blue:i,alpha:a}},n5=t4,r5=L4,s5=m6,o5=Z6,i5=Y6,V1=t5;const Ku=.75,Zu=.25,Yu=16777215,a5=49979693;var l5=function(e){return"#"+d5(String(JSON.stringify(e)))};function u5(e){var t=r5(e),n=[];return t.forEach(function(r){var s=n5(r);s&&n.push(V1(s5(s,"#"),{format:"array"}))}),n}function c5(e){var t=[0,0,0];return e.forEach(function(n){for(var r=0;r<3;r++)t[r]+=n[r]}),[t[0]/e.length,t[1]/e.length,t[2]/e.length]}function d5(e){var t,n=u5(e);n.length>0&&(t=c5(n));var r=1,s=0,o=1;if(e.length>0)for(var i=0;is&&(s=e[i].charCodeAt(0)),o=parseInt(Yu/s),r=(r+e[i].charCodeAt(0)*o*a5)%Yu;var a=(r*e.length%Yu).toString(16);a=o5(a,6,a);var l=V1(a,{format:"array"});return t?i5(Zu*l[0]+Ku*t[0],Zu*l[1]+Ku*t[1],Zu*l[2]+Ku*t[2]):a}const m5=Oi(l5);function f5(e){const t=e.replace(/#/,""),n=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2,2),16),s=parseInt(t.substr(4,2),16);return[.299*n,.587*r,.114*s].reduce((i,a)=>i+a)/255>.5}function p5(e){return f5(e)?"#000000":"#ffffff"}function h5(e){const t=` ${e.caption} `;return`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}function _5(e,t,n){const r=m5(t),s=p5(r),o={width:n.width,height:n.height,textColor:s,backgroundColor:r,caption:e,fontFamily:n.font_family,fontSize:n.font_size,fontWeight:n.font_weight};return h5(o)}const g5={name:"CoverArtwork",props:["artist","album","artwork_url","maxwidth","maxheight"],emits:["click"],data(){return{width:600,height:600,font_family:"sans-serif",font_size:200,font_weight:600,lazy_lifecycle:{error:e=>{e.src=this.dataURI()}}}},computed:{artwork_url_with_size(){return this.maxwidth>0&&this.maxheight>0?V.artwork_url_append_size_params(this.artwork_url,this.maxwidth,this.maxheight):V.artwork_url_append_size_params(this.artwork_url)},alt_text(){return`${this.artist} - ${this.album}`},caption(){return this.album?this.album.substring(0,2):this.artist?this.artist.substring(0,2):""}},methods:{dataURI(){return _5(this.caption,this.alt_text,{width:this.width,height:this.height,font_family:this.font_family,font_size:this.font_size,font_weight:this.font_weight})}}};function y5(e,t,n,r,s,o){const i=Ld("lazy");return k(),T("figure",null,[yt(u("img",{onClick:t[0]||(t[0]=a=>e.$emit("click"))},null,512),[[i,{src:o.artwork_url_with_size,lifecycle:s.lazy_lifecycle}]])])}const Fn=te(g5,[["render",y5]]),{t:Ju,locale:km}=ru.global,H1="GROUP_KEY_NONE";function xm(){return{compareFn:null,groupKeyFn:e=>H1}}function Rn(e,t=!1,n="_"){return{compareFn:t?null:(r,s)=>{const o=r[e]||n,i=s[e]||n;return o.localeCompare(i,km.value)},groupKeyFn:r=>{const s=(r[e]||n).charAt(0);return s.match(new RegExp("\\p{Letter}","gu"))?s.toUpperCase():s.match(new RegExp("\\p{Number}","gu"))?"#":"⌘"}}}function Em(e,{direction:t="asc",defaultValue:n=0}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>{const s=r[e]||n;return Math.floor(s/10)}}}function v5(e,t="asc",n=1){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o-i;return t==="asc"?a:a*-1},groupKeyFn:r=>r[e]||n}}function xl(e,{direction:t="asc",defaultValue:n="0000"}){return{compareFn:(r,s)=>{const o=r[e]||n,i=s[e]||n,a=o.localeCompare(i,km.value);return t==="asc"?a:a*-1},groupKeyFn:r=>(r[e]||n).substring(0,4)}}function b5(e,t="0000"){return{compareFn:(n,r)=>{const s=n[e]||t;return(r[e]||t).localeCompare(s,km.value)},groupKeyFn:n=>{const r=n[e];if(!r)return t;const s=new Date().getTime()-new Date(r).getTime();return s<864e5?Ju("group-by-list.today"):s<6048e5?Ju("group-by-list.last-week"):s<2592e6?Ju("group-by-list.last-month"):r.substring(0,4)}}}class ve{constructor({items:t=[],total:n=0,offset:r=0,limit:s=-1}={}){this.items=t,this.total=n,this.offset=r,this.limit=s,this.count=t.length,this.indexList=[],this.group(xm())}isEmpty(){return!this.items||this.items.length<=0}group(t,n=[]){const r=n?this.items.filter(o=>n.every(i=>i(o))):this.items;this.count=r.length;const s=t.compareFn?[...r].sort(t.compareFn):r;this.indexList=[...new Set(s.map(t.groupKeyFn))],this.itemsGrouped=s.reduce((o,i)=>{const a=t.groupKeyFn(i);return o[a]=[...o[a]||[],i],o},{})}*generate(){for(const t in this.itemsGrouped){t!==H1&&(yield{groupKey:t,itemId:t,isItem:!1,item:{}});for(const n of this.itemsGrouped[t])yield{groupKey:t,itemId:n.id,isItem:!0,item:n}}}[Symbol.iterator](){return this.generate()}}var U1={exports:{}};(function(e){var t=function(){var n="https://api.spotify.com/v1",r=null,s=null,o=function(f,p){return f.abort=p,f},i=function(f,p){var h;if(s!==null){var _=s.defer();f(function(b){_.resolve(b)},function(b){_.reject(b)}),h=_.promise}else window.Promise&&(h=new window.Promise(f));return h?new o(h,p):null},a=function(){var f=Array.prototype.slice.call(arguments),p=f[0],h=f.slice(1);return p=p||{},h.forEach(function(_){for(var b in _)_.hasOwnProperty(b)&&(p[b]=_[b])}),p},l=function(f,p){var h="";for(var _ in p)if(p.hasOwnProperty(_)){var b=p[_];h+=encodeURIComponent(_)+"="+encodeURIComponent(b)+"&"}return h.length>0&&(h=h.substring(0,h.length-1),f=f+"?"+h),f},c=function(f,p){var h=new XMLHttpRequest,_=function(b,w){function C(x){b&&b(x),p&&p(null,x)}function v(){w&&w(h),p&&p(h,null)}var z=f.type||"GET";if(h.open(z,l(f.url,f.params)),r&&h.setRequestHeader("Authorization","Bearer "+r),h.onreadystatechange=function(){if(h.readyState===4){var x=null;try{x=h.responseText?JSON.parse(h.responseText):""}catch(N){console.error(N)}h.status>=200&&h.status<300?C(x):v()}},z==="GET")h.send(null);else{var S=null;f.postData&&(f.contentType==="image/jpeg"?(S=f.postData,h.setRequestHeader("Content-Type",f.contentType)):(S=JSON.stringify(f.postData),h.setRequestHeader("Content-Type","application/json"))),h.send(S)}};return p?(_(),null):i(_,function(){h.abort()})},m=function(f,p,h,_){var b={},w=null;typeof p=="object"?(b=p,w=h):typeof p=="function"&&(w=p);var C=f.type||"GET";return C!=="GET"&&f.postData&&!_?f.postData=a(f.postData,b):f.params=a(f.params,b),c(f,w)},d=function(){};return d.prototype={constructor:t},d.prototype.getGeneric=function(f,p){var h={url:f};return m(h,p)},d.prototype.getMe=function(f,p){var h={url:n+"/me"};return m(h,f,p)},d.prototype.getMySavedTracks=function(f,p){var h={url:n+"/me/tracks"};return m(h,f,p)},d.prototype.addToMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"PUT",postData:f};return m(_,p,h)},d.prototype.removeFromMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks",type:"DELETE",postData:f};return m(_,p,h)},d.prototype.containsMySavedTracks=function(f,p,h){var _={url:n+"/me/tracks/contains",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getMySavedAlbums=function(f,p){var h={url:n+"/me/albums"};return m(h,f,p)},d.prototype.addToMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"PUT",postData:f};return m(_,p,h)},d.prototype.removeFromMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums",type:"DELETE",postData:f};return m(_,p,h)},d.prototype.containsMySavedAlbums=function(f,p,h){var _={url:n+"/me/albums/contains",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getMyTopArtists=function(f,p){var h={url:n+"/me/top/artists"};return m(h,f,p)},d.prototype.getMyTopTracks=function(f,p){var h={url:n+"/me/top/tracks"};return m(h,f,p)},d.prototype.getMyRecentlyPlayedTracks=function(f,p){var h={url:n+"/me/player/recently-played"};return m(h,f,p)},d.prototype.followUsers=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"user"}};return m(h,p)},d.prototype.followArtists=function(f,p){var h={url:n+"/me/following/",type:"PUT",params:{ids:f.join(","),type:"artist"}};return m(h,p)},d.prototype.followPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers",type:"PUT",postData:{}};return m(_,p,h)},d.prototype.unfollowUsers=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"user"}};return m(h,p)},d.prototype.unfollowArtists=function(f,p){var h={url:n+"/me/following/",type:"DELETE",params:{ids:f.join(","),type:"artist"}};return m(h,p)},d.prototype.unfollowPlaylist=function(f,p){var h={url:n+"/playlists/"+f+"/followers",type:"DELETE"};return m(h,p)},d.prototype.isFollowingUsers=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"user"}};return m(h,p)},d.prototype.isFollowingArtists=function(f,p){var h={url:n+"/me/following/contains",type:"GET",params:{ids:f.join(","),type:"artist"}};return m(h,p)},d.prototype.areFollowingPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/followers/contains",type:"GET",params:{ids:p.join(",")}};return m(_,h)},d.prototype.getFollowedArtists=function(f,p){var h={url:n+"/me/following",type:"GET",params:{type:"artist"}};return m(h,f,p)},d.prototype.getUser=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)};return m(_,p,h)},d.prototype.getUserPlaylists=function(f,p,h){var _;return typeof f=="string"?_={url:n+"/users/"+encodeURIComponent(f)+"/playlists"}:(_={url:n+"/me/playlists"},h=p,p=f),m(_,p,h)},d.prototype.getPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f};return m(_,p,h)},d.prototype.getPlaylistTracks=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks"};return m(_,p,h)},d.prototype.getPlaylistCoverImage=function(f,p){var h={url:n+"/playlists/"+f+"/images"};return m(h,p)},d.prototype.createPlaylist=function(f,p,h){var _={url:n+"/users/"+encodeURIComponent(f)+"/playlists",type:"POST",postData:p};return m(_,p,h)},d.prototype.changePlaylistDetails=function(f,p,h){var _={url:n+"/playlists/"+f,type:"PUT",postData:p};return m(_,p,h)},d.prototype.addTracksToPlaylist=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"POST",postData:{uris:p}};return m(b,h,_,!0)},d.prototype.replaceTracksInPlaylist=function(f,p,h){var _={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{uris:p}};return m(_,{},h)},d.prototype.reorderTracksInPlaylist=function(f,p,h,_,b){var w={url:n+"/playlists/"+f+"/tracks",type:"PUT",postData:{range_start:p,insert_before:h}};return m(w,_,b)},d.prototype.removeTracksFromPlaylist=function(f,p,h){var _=p.map(function(w){return typeof w=="string"?{uri:w}:w}),b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:_}};return m(b,{},h)},d.prototype.removeTracksFromPlaylistWithSnapshotId=function(f,p,h,_){var b=p.map(function(C){return typeof C=="string"?{uri:C}:C}),w={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{tracks:b,snapshot_id:h}};return m(w,{},_)},d.prototype.removeTracksFromPlaylistInPositions=function(f,p,h,_){var b={url:n+"/playlists/"+f+"/tracks",type:"DELETE",postData:{positions:p,snapshot_id:h}};return m(b,{},_)},d.prototype.uploadCustomPlaylistCoverImage=function(f,p,h){var _={url:n+"/playlists/"+f+"/images",type:"PUT",postData:p.replace(/^data:image\/jpeg;base64,/,""),contentType:"image/jpeg"};return m(_,{},h)},d.prototype.getAlbum=function(f,p,h){var _={url:n+"/albums/"+f};return m(_,p,h)},d.prototype.getAlbumTracks=function(f,p,h){var _={url:n+"/albums/"+f+"/tracks"};return m(_,p,h)},d.prototype.getAlbums=function(f,p,h){var _={url:n+"/albums/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getTrack=function(f,p,h){var _={};return _.url=n+"/tracks/"+f,m(_,p,h)},d.prototype.getTracks=function(f,p,h){var _={url:n+"/tracks/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getArtist=function(f,p,h){var _={url:n+"/artists/"+f};return m(_,p,h)},d.prototype.getArtists=function(f,p,h){var _={url:n+"/artists/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getArtistAlbums=function(f,p,h){var _={url:n+"/artists/"+f+"/albums"};return m(_,p,h)},d.prototype.getArtistTopTracks=function(f,p,h,_){var b={url:n+"/artists/"+f+"/top-tracks",params:{country:p}};return m(b,h,_)},d.prototype.getArtistRelatedArtists=function(f,p,h){var _={url:n+"/artists/"+f+"/related-artists"};return m(_,p,h)},d.prototype.getFeaturedPlaylists=function(f,p){var h={url:n+"/browse/featured-playlists"};return m(h,f,p)},d.prototype.getNewReleases=function(f,p){var h={url:n+"/browse/new-releases"};return m(h,f,p)},d.prototype.getCategories=function(f,p){var h={url:n+"/browse/categories"};return m(h,f,p)},d.prototype.getCategory=function(f,p,h){var _={url:n+"/browse/categories/"+f};return m(_,p,h)},d.prototype.getCategoryPlaylists=function(f,p,h){var _={url:n+"/browse/categories/"+f+"/playlists"};return m(_,p,h)},d.prototype.search=function(f,p,h,_){var b={url:n+"/search/",params:{q:f,type:p.join(",")}};return m(b,h,_)},d.prototype.searchAlbums=function(f,p,h){return this.search(f,["album"],p,h)},d.prototype.searchArtists=function(f,p,h){return this.search(f,["artist"],p,h)},d.prototype.searchTracks=function(f,p,h){return this.search(f,["track"],p,h)},d.prototype.searchPlaylists=function(f,p,h){return this.search(f,["playlist"],p,h)},d.prototype.searchShows=function(f,p,h){return this.search(f,["show"],p,h)},d.prototype.searchEpisodes=function(f,p,h){return this.search(f,["episode"],p,h)},d.prototype.getAudioFeaturesForTrack=function(f,p){var h={};return h.url=n+"/audio-features/"+f,m(h,{},p)},d.prototype.getAudioFeaturesForTracks=function(f,p){var h={url:n+"/audio-features",params:{ids:f}};return m(h,{},p)},d.prototype.getAudioAnalysisForTrack=function(f,p){var h={};return h.url=n+"/audio-analysis/"+f,m(h,{},p)},d.prototype.getRecommendations=function(f,p){var h={url:n+"/recommendations"};return m(h,f,p)},d.prototype.getAvailableGenreSeeds=function(f){var p={url:n+"/recommendations/available-genre-seeds"};return m(p,{},f)},d.prototype.getMyDevices=function(f){var p={url:n+"/me/player/devices"};return m(p,{},f)},d.prototype.getMyCurrentPlaybackState=function(f,p){var h={url:n+"/me/player"};return m(h,f,p)},d.prototype.getMyCurrentPlayingTrack=function(f,p){var h={url:n+"/me/player/currently-playing"};return m(h,f,p)},d.prototype.transferMyPlayback=function(f,p,h){var _=p||{};_.device_ids=f;var b={type:"PUT",url:n+"/me/player",postData:_};return m(b,p,h)},d.prototype.play=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={};["context_uri","uris","offset","position_ms"].forEach(function(C){C in f&&(_[C]=f[C])});var b={type:"PUT",url:n+"/me/player/play",params:h,postData:_},w=typeof f=="function"?f:{};return m(b,w,p)},d.prototype.queue=function(f,p,h){p=p||{};var _="device_id"in p?{uri:f,device_id:p.device_id}:{uri:f},b={type:"POST",url:n+"/me/player/queue",params:_};return m(b,p,h)},d.prototype.pause=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"PUT",url:n+"/me/player/pause",params:h};return m(_,f,p)},d.prototype.skipToNext=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/next",params:h};return m(_,f,p)},d.prototype.skipToPrevious=function(f,p){f=f||{};var h="device_id"in f?{device_id:f.device_id}:null,_={type:"POST",url:n+"/me/player/previous",params:h};return m(_,f,p)},d.prototype.seek=function(f,p,h){p=p||{};var _={position_ms:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/seek",params:_};return m(b,p,h)},d.prototype.setRepeat=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/repeat",params:_};return m(b,p,h)},d.prototype.setVolume=function(f,p,h){p=p||{};var _={volume_percent:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/volume",params:_};return m(b,p,h)},d.prototype.setShuffle=function(f,p,h){p=p||{};var _={state:f};"device_id"in p&&(_.device_id=p.device_id);var b={type:"PUT",url:n+"/me/player/shuffle",params:_};return m(b,p,h)},d.prototype.getShow=function(f,p,h){var _={};return _.url=n+"/shows/"+f,m(_,p,h)},d.prototype.getShows=function(f,p,h){var _={url:n+"/shows/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getMySavedShows=function(f,p){var h={url:n+"/me/shows"};return m(h,f,p)},d.prototype.addToMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"PUT",postData:f};return m(_,p,h)},d.prototype.removeFromMySavedShows=function(f,p,h){var _={url:n+"/me/shows",type:"DELETE",postData:f};return m(_,p,h)},d.prototype.containsMySavedShows=function(f,p,h){var _={url:n+"/me/shows/contains",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getShowEpisodes=function(f,p,h){var _={url:n+"/shows/"+f+"/episodes"};return m(_,p,h)},d.prototype.getEpisode=function(f,p,h){var _={};return _.url=n+"/episodes/"+f,m(_,p,h)},d.prototype.getEpisodes=function(f,p,h){var _={url:n+"/episodes/",params:{ids:f.join(",")}};return m(_,p,h)},d.prototype.getAccessToken=function(){return r},d.prototype.setAccessToken=function(f){r=f},d.prototype.setPromiseImplementation=function(f){var p=!1;try{var h=new f(function(_){_()});typeof h.then=="function"&&typeof h.catch=="function"&&(p=!0)}catch(_){console.error(_)}if(p)s=f;else throw new Error("Unsupported implementation of Promises/A+")},d}();e.exports=t})(U1);var z5=U1.exports;const Yn=Oi(z5),C5={name:"ModalDialogTrack",props:["show","track"],emits:["close","play-count-changed"],data(){return{spotify_track:{}}},watch:{track(){if(this.track&&this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"){const e=new Yn;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.track.path.slice(this.track.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{mark_new(){V.library_track_update(this.track.id,{play_count:"reset"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},mark_played(){V.library_track_update(this.track.id,{play_count:"increment"}).then(()=>{this.$emit("play-count-changed"),this.$emit("close")})},open_album(){this.track.data_kind==="spotify"&&this.track.media_kind!=="podcast"?this.$router.push({name:"music-spotify-album",params:{id:this.spotify_track.album.id}}):this.track.media_kind==="podcast"?this.$router.push({name:"podcast",params:{id:this.track.album_id}}):this.track.media_kind==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.track.album_id}}):this.track.media_kind==="music"&&this.$router.push({name:"music-album",params:{id:this.track.album_id}})},open_album_artist(){this.track.data_kind==="spotify"?this.$router.push({name:"music-spotify-artist",params:{id:this.spotify_track.artists[0].id}}):this.track.media_kind==="music"||this.track.media_kind==="podcast"?this.$router.push({name:"music-artist",params:{id:this.track.album_artist_id}}):this.track.media_kind==="audiobook"&&this.$router.push({name:"audiobooks-artist",params:{id:this.track.album_artist_id}})},open_genre(){this.$router.push({name:"genre-albums",params:{name:this.track.genre},query:{media_kind:this.track.media_kind}})},play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)}}},w5={key:0,class:"modal is-active"},k5={class:"modal-content fd-modal-card"},x5={class:"card"},E5={class:"card-content"},S5=["textContent"],$5=["textContent"],A5={key:0,class:"buttons"},T5=["textContent"],O5=["textContent"],D5={class:"content is-small"},P5={key:0},I5=["textContent"],F5=["textContent"],R5={key:1},L5=["textContent"],N5=["textContent"],M5={key:2},V5=["textContent"],H5=["textContent"],U5={key:3},B5=["textContent"],j5=["textContent"],q5={key:4},W5=["textContent"],G5=["textContent"],K5={key:5},Z5=["textContent"],Y5=["textContent"],J5={key:6},X5=["textContent"],Q5=["textContent"],eD={key:7},tD=["textContent"],nD=["textContent"],rD=["textContent"],sD=["textContent"],oD=["textContent"],iD={class:"title is-6"},aD=["textContent"],lD={key:8},uD=["textContent"],cD={class:"title is-6"},dD=["textContent"],mD=["textContent"],fD=["textContent"],pD=["textContent"],hD=["textContent"],_D=["textContent"],gD=["textContent"],yD=["textContent"],vD={key:9},bD=["textContent"],zD=["textContent"],CD={class:"card-footer"},wD=["textContent"],kD=["textContent"],xD=["textContent"];function ED(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",w5,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",k5,[u("div",x5,[u("div",E5,[u("p",{class:"title is-4",textContent:g(n.track.title)},null,8,S5),u("p",{class:"subtitle",textContent:g(n.track.artist)},null,8,$5),n.track.media_kind==="podcast"?(k(),T("div",A5,[n.track.play_count>0?(k(),T("a",{key:0,class:"button is-small",onClick:t[1]||(t[1]=(...a)=>o.mark_new&&o.mark_new(...a)),textContent:g(e.$t("dialog.track.mark-as-new"))},null,8,T5)):M("",!0),n.track.play_count===0?(k(),T("a",{key:1,class:"button is-small",onClick:t[2]||(t[2]=(...a)=>o.mark_played&&o.mark_played(...a)),textContent:g(e.$t("dialog.track.mark-as-played"))},null,8,O5)):M("",!0)])):M("",!0),u("div",D5,[n.track.album?(k(),T("p",P5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album"))},null,8,I5),u("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.track.album)},null,8,F5)])):M("",!0),n.track.album_artist&&n.track.media_kind!=="audiobook"?(k(),T("p",R5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.album-artist"))},null,8,L5),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...a)=>o.open_album_artist&&o.open_album_artist(...a)),textContent:g(n.track.album_artist)},null,8,N5)])):M("",!0),n.track.composer?(k(),T("p",M5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.composer"))},null,8,V5),u("span",{class:"title is-6",textContent:g(n.track.composer)},null,8,H5)])):M("",!0),n.track.date_released?(k(),T("p",U5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.release-date"))},null,8,B5),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.track.date_released))},null,8,j5)])):n.track.year?(k(),T("p",q5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.year"))},null,8,W5),u("span",{class:"title is-6",textContent:g(n.track.year)},null,8,G5)])):M("",!0),n.track.genre?(k(),T("p",K5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.genre"))},null,8,Z5),u("a",{class:"title is-6 has-text-link",onClick:t[5]||(t[5]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.track.genre)},null,8,Y5)])):M("",!0),n.track.disc_number?(k(),T("p",J5,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.position"))},null,8,X5),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,Q5)])):M("",!0),n.track.length_ms?(k(),T("p",eD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.duration"))},null,8,tD),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.length_ms))},null,8,nD)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.path"))},null,8,rD),u("span",{class:"title is-6",textContent:g(n.track.path)},null,8,sD)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.type"))},null,8,oD),u("span",iD,[u("span",{textContent:g([e.$t("media.kind."+n.track.media_kind),e.$t("data.kind."+n.track.data_kind)].join(" - "))},null,8,aD)])]),n.track.samplerate?(k(),T("p",lD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.quality"))},null,8,uD),u("span",cD,[u("span",{textContent:g(n.track.type)},null,8,dD),n.track.samplerate?(k(),T("span",{key:0,textContent:g(e.$t("dialog.track.samplerate",{rate:n.track.samplerate}))},null,8,mD)):M("",!0),n.track.channels?(k(),T("span",{key:1,textContent:g(e.$t("dialog.track.channels",{channels:e.$filters.channels(n.track.channels)}))},null,8,fD)):M("",!0),n.track.bitrate?(k(),T("span",{key:2,textContent:g(e.$t("dialog.track.bitrate",{rate:n.track.bitrate}))},null,8,pD)):M("",!0)])])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.added-on"))},null,8,hD),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.track.time_added))},null,8,_D)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.rating"))},null,8,gD),u("span",{class:"title is-6",textContent:g(e.$t("dialog.track.rating-value",{rating:Math.floor(n.track.rating/10)}))},null,8,yD)]),n.track.comment?(k(),T("p",vD,[u("span",{class:"heading",textContent:g(e.$t("dialog.track.comment"))},null,8,bD),u("span",{class:"title is-6",textContent:g(n.track.comment)},null,8,zD)])):M("",!0)])]),u("footer",CD,[u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add"))},null,8,wD)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.add-next"))},null,8,kD)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[8]||(t[8]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.track.play"))},null,8,xD)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[9]||(t[9]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const SD=te(C5,[["render",ED]]),$D={name:"ListTracks",components:{ModalDialogTrack:SD},props:["tracks","uris","expression","show_progress","show_icon"],emits:["play-count-changed"],data(){return{show_details_modal:!1,selected_track:{}}},methods:{play_track(e){this.uris?V.player_play_uri(this.uris,!1,this.tracks.items.indexOf(e)):this.expression?V.player_play_expression(this.expression,!1,this.tracks.items.indexOf(e)):V.player_play_uri(e.uri,!1)},open_dialog(e){this.selected_track=e,this.show_details_modal=!0}}},AD={key:0,class:"mt-6 mb-5 py-2"},TD=["id","textContent"],OD=["onClick"],DD={key:0,class:"media-left is-clickable"},PD={class:"media-content is-clickable is-clipped"},ID=["textContent"],FD=["textContent"],RD=["textContent"],LD=["max","value"],ND={class:"media-right"},MD=["onClick"];function VD(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-track");return k(),T(we,null,[(k(!0),T(we,null,ct(n.tracks,l=>(k(),T(we,{key:l.itemId},[l.isItem?(k(),T("div",{key:1,class:Ee(["media is-align-items-center",{"with-progress":n.show_progress}]),onClick:c=>o.play_track(l.item)},[n.show_icon?(k(),T("figure",DD,[y(i,{class:"icon",name:"file-outline",size:"16"})])):M("",!0),u("div",PD,[u("h1",{class:Ee(["title is-6",{"has-text-grey":l.item.media_kind==="podcast"&&l.item.play_count>0}]),textContent:g(l.item.title)},null,10,ID),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(l.item.artist)},null,8,FD),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g(l.item.album)},null,8,RD),n.show_progress&&l.item.seek_ms>0?(k(),T("progress",{key:0,class:"progress is-info",max:l.item.length_ms,value:l.item.seek_ms},null,8,LD)):M("",!0)]),u("div",ND,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,MD)])],10,OD)):(k(),T("div",AD,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,TD)]))],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,track:s.selected_track,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1),onPlayCountChanged:t[1]||(t[1]=l=>e.$emit("play-count-changed"))},null,8,["show","track"])]))],64)}const Cn=te($D,[["render",VD],["__scopeId","data-v-323e80b3"]]),HD={name:"ModalDialogAlbum",components:{CoverArtwork:Fn},props:["show","album","media_kind","new_tracks"],emits:["close","remove-podcast","play-count-changed"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return V.artwork_url_append_size_params(this.album.artwork_url)},media_kind_resolved(){return this.media_kind?this.media_kind:this.album.media_kind}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:this.album.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.album.id}}):this.$router.push({name:"music-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}}):this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},mark_played(){V.library_album_track_update(this.album.id,{play_count:"played"}).then(({data:e})=>{this.$emit("play-count-changed"),this.$emit("close")})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},UD={key:0,class:"modal is-active"},BD={class:"modal-content fd-modal-card"},jD={class:"card"},qD={class:"card-content"},WD={class:"title is-4"},GD=["textContent"],KD={key:0,class:"buttons"},ZD=["textContent"],YD=["textContent"],JD={class:"content is-small"},XD={key:0},QD=["textContent"],eP=["textContent"],tP={key:1},nP=["textContent"],rP=["textContent"],sP={key:2},oP=["textContent"],iP=["textContent"],aP=["textContent"],lP=["textContent"],uP=["textContent"],cP=["textContent"],dP=["textContent"],mP=["textContent"],fP=["textContent"],pP=["textContent"],hP={class:"card-footer"},_P=["textContent"],gP=["textContent"],yP=["textContent"];function vP(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",UD,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",BD,[u("div",jD,[u("div",qD,[y(i,{artwork_url:n.album.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5"},null,8,["artwork_url","artist","album"]),u("p",WD,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,GD)]),o.media_kind_resolved==="podcast"?(k(),T("div",KD,[u("a",{class:"button is-small",onClick:t[2]||(t[2]=(...l)=>o.mark_played&&o.mark_played(...l)),textContent:g(e.$t("dialog.album.mark-as-played"))},null,8,ZD),n.album.data_kind==="url"?(k(),T("a",{key:0,class:"button is-small",onClick:t[3]||(t[3]=l=>e.$emit("remove-podcast")),textContent:g(e.$t("dialog.album.remove-podcast"))},null,8,YD)):M("",!0)])):M("",!0),u("div",JD,[n.album.artist?(k(),T("p",XD,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.artist"))},null,8,QD),u("a",{class:"title is-6 has-text-link",onClick:t[4]||(t[4]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artist)},null,8,eP)])):M("",!0),n.album.date_released?(k(),T("p",tP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.release-date"))},null,8,nP),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.date_released))},null,8,rP)])):n.album.year>0?(k(),T("p",sP,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.year"))},null,8,oP),u("span",{class:"title is-6",textContent:g(n.album.year)},null,8,iP)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.tracks"))},null,8,aP),u("span",{class:"title is-6",textContent:g(n.album.track_count)},null,8,lP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.duration"))},null,8,uP),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.album.length_ms))},null,8,cP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.type"))},null,8,dP),u("span",{class:"title is-6",textContent:g([e.$t("media.kind."+n.album.media_kind),e.$t("data.kind."+n.album.data_kind)].join(" - "))},null,8,mP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.album.added-on"))},null,8,fP),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.album.time_added))},null,8,pP)])])]),u("footer",hP,[u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add"))},null,8,_P)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.add-next"))},null,8,gP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[7]||(t[7]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.album.play"))},null,8,yP)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[8]||(t[8]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const du=te(HD,[["render",vP]]),ia={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data),e.tracks.group(v5("disc_number")),e.tracks.indexList<=1&&e.tracks.group(xm())}},bP={name:"PageAlbum",components:{ContentWithHero:cu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:du},beforeRouteEnter(e,t,n){ia.load(e).then(r=>{n(s=>ia.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ia.load(e).then(s=>{ia.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!0)}}},zP=["textContent"],CP={class:"subtitle is-6 has-text-link"},wP=["textContent"],kP={class:"buttons fd-is-centered-mobile mt-5"},xP=["textContent"],EP=["textContent"];function SP(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,zP),u("h2",CP,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...d)=>o.open_artist&&o.open_artist(...d)),textContent:g(s.album.artist)},null,8,wP)]),u("div",kP,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.album.shuffle"))},null,8,xP)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=d=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.album.track-count",{count:s.album.track_count}))},null,8,EP),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=d=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const $P=te(bP,[["render",SP]]),AP={name:"ListItemTrackSpotify",props:["track","position","context_uri"],methods:{play(){this.track.is_playable&&V.player_play_uri(this.context_uri,!1,this.position)}}},TP={class:"media is-align-items-center"},OP=["textContent"],DP=["textContent"],PP={key:0,class:"subtitle is-7"},IP=["textContent"],FP=["textContent"],RP={class:"media-right"};function LP(e,t,n,r,s,o){return k(),T("div",TP,[u("div",{class:Ee(["media-content is-clipped",{"is-clickable":n.track.is_playable,"fd-is-not-allowed":!n.track.is_playable}]),onClick:t[0]||(t[0]=(...i)=>o.play&&o.play(...i))},[u("h1",{class:Ee(["title is-6",{"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.name)},null,10,OP),u("h2",{class:Ee(["subtitle is-7",{"has-text-grey":n.track.is_playable,"has-text-grey-light":!n.track.is_playable}]),textContent:g(n.track.artists[0].name)},null,10,DP),n.track.is_playable?M("",!0):(k(),T("h2",PP,[gt(" ("),u("span",{textContent:g(e.$t("list.spotify.not-playable-track"))},null,8,IP),n.track.restrictions&&n.track.restrictions.reason?(k(),T("span",{key:0,textContent:g(e.$t("list.spotify.restriction-reason",{reason:n.track.restrictions.reason}))},null,8,FP)):M("",!0),gt(") ")]))],2),u("div",RP,[it(e.$slots,"actions")])])}const Sm=te(AP,[["render",LP]]),NP={name:"ModalDialogAlbumSpotify",components:{CoverArtwork:Fn},props:["show","album"],emits:["close"],data(){return{artwork_visible:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{play(){this.$emit("close"),V.player_play_uri(this.album.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.album.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.album.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},artwork_loaded(){this.artwork_visible=!0},artwork_error(){this.artwork_visible=!1}}},MP={key:0,class:"modal is-active"},VP={class:"modal-content fd-modal-card"},HP={class:"card"},UP={class:"card-content"},BP={class:"title is-4"},jP=["textContent"],qP={class:"content is-small"},WP=["textContent"],GP=["textContent"],KP=["textContent"],ZP=["textContent"],YP=["textContent"],JP=["textContent"],XP={class:"card-footer"},QP=["textContent"],eI=["textContent"],tI=["textContent"];function nI(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",MP,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=l=>e.$emit("close"))}),u("div",VP,[u("div",HP,[u("div",UP,[y(i,{artwork_url:o.artwork_url,artist:n.album.artist,album:n.album.name,class:"fd-has-shadow fd-cover fd-cover-normal-image mb-5",onLoad:o.artwork_loaded,onError:o.artwork_error},null,8,["artwork_url","artist","album","onLoad","onError"]),u("p",BP,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...l)=>o.open_album&&o.open_album(...l)),textContent:g(n.album.name)},null,8,jP)]),u("div",qP,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.album-artist"))},null,8,WP),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...l)=>o.open_artist&&o.open_artist(...l)),textContent:g(n.album.artists[0].name)},null,8,GP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.release-date"))},null,8,KP),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,ZP)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.album.type"))},null,8,YP),u("span",{class:"title is-6",textContent:g(n.album.album_type)},null,8,JP)])])]),u("footer",XP,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...l)=>o.queue_add&&o.queue_add(...l))},[y(a,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add"))},null,8,QP)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...l)=>o.queue_add_next&&o.queue_add_next(...l))},[y(a,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.add-next"))},null,8,eI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...l)=>o.play&&o.play(...l))},[y(a,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.album.play"))},null,8,tI)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=l=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Ri=te(NP,[["render",nI]]),rI={name:"ModalDialogTrackSpotify",props:["show","track","album"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.track.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.track.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.track.uri)},open_album(){this.$emit("close"),this.$router.push({name:"music-spotify-album",params:{id:this.album.id}})},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})}}},sI={key:0,class:"modal is-active"},oI={class:"modal-content fd-modal-card"},iI={class:"card"},aI={class:"card-content"},lI=["textContent"],uI=["textContent"],cI={class:"content is-small"},dI=["textContent"],mI=["textContent"],fI=["textContent"],pI=["textContent"],hI=["textContent"],_I=["textContent"],gI=["textContent"],yI=["textContent"],vI=["textContent"],bI=["textContent"],zI=["textContent"],CI=["textContent"],wI={class:"card-footer"},kI=["textContent"],xI=["textContent"],EI=["textContent"];function SI(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",sI,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",oI,[u("div",iI,[u("div",aI,[u("p",{class:"title is-4",textContent:g(n.track.name)},null,8,lI),u("p",{class:"subtitle",textContent:g(n.track.artists[0].name)},null,8,uI),u("div",cI,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album"))},null,8,dI),u("a",{class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.album.name)},null,8,mI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.album-artist"))},null,8,fI),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.album.artists[0].name)},null,8,pI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.release-date"))},null,8,hI),u("span",{class:"title is-6",textContent:g(e.$filters.date(n.album.release_date))},null,8,_I)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.position"))},null,8,gI),u("span",{class:"title is-6",textContent:g([n.track.disc_number,n.track.track_number].join(" / "))},null,8,yI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.duration"))},null,8,vI),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.track.duration_ms))},null,8,bI)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.track.path"))},null,8,zI),u("span",{class:"title is-6",textContent:g(n.track.uri)},null,8,CI)])])]),u("footer",wI,[u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add"))},null,8,kI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.add-next"))},null,8,xI)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.track.play"))},null,8,EI)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const $m=te(rI,[["render",SI]]),aa={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getAlbum(e.params.id,{market:He.state.spotify.webapi_country})},set(e,t){e.album=t}},$I={name:"PageAlbumSpotify",components:{ContentWithHero:cu,CoverArtwork:Fn,ListItemTrackSpotify:Sm,ModalDialogAlbumSpotify:Ri,ModalDialogTrackSpotify:$m},beforeRouteEnter(e,t,n){aa.load(e).then(r=>{n(s=>aa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;aa.load(e).then(s=>{aa.set(r,s),n()})},data(){return{album:{artists:[{}],tracks:{}},selected_track:{},show_details_modal:!1,show_track_details_modal:!1}},computed:{artwork_url(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{open_artist(){this.$router.push({name:"music-spotify-artist",params:{id:this.album.artists[0].id}})},play(){this.show_details_modal=!1,V.player_play_uri(this.album.uri,!0)},open_track_dialog(e){this.selected_track=e,this.show_track_details_modal=!0}}},AI=["textContent"],TI={class:"subtitle is-6 has-text-link"},OI=["textContent"],DI={class:"buttons fd-is-centered-mobile mt-5"},PI=["textContent"],II=["textContent"],FI=["onClick"];function RI(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-track-spotify"),c=$("modal-dialog-album-spotify"),m=$("modal-dialog-track-spotify"),d=$("content-with-hero");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,AI),u("h2",TI,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(s.album.artists[0].name)},null,8,OI)]),u("div",DI,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.album.shuffle"))},null,8,PI)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:o.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=f=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.spotify.album.track-count",{count:s.album.tracks.total}))},null,8,II),(k(!0),T(we,null,ct(s.album.tracks.items,(f,p)=>(k(),_e(l,{key:f.id,track:f,position:p,context_uri:s.album.uri},{actions:E(()=>[u("a",{onClick:st(h=>o.open_track_dialog(f),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,FI)]),_:2},1032,["track","position","context_uri"]))),128)),y(c,{show:s.show_details_modal,album:s.album,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","album"]),y(m,{show:s.show_track_details_modal,track:s.selected_track,album:s.album,onClose:t[5]||(t[5]=f=>s.show_track_details_modal=!1)},null,8,["show","track","album"])]),_:1})])}const LI=te($I,[["render",RI]]),NI={name:"ContentWithHeading",data(){return{options_visible:!1}},computed:{icon_name(){return this.options_visible?"chevron-up":"chevron-down"},position(){return{hash:this.options_visible?"#top":"#app"}}},mounted(){this.$slots.options&&(this.observer=new IntersectionObserver(this.onElementObserved,{rootMargin:"-82px 0px 0px 0px",threshold:1}),this.observer.observe(this.$refs.options_ref))},methods:{onElementObserved(e){e.forEach(({target:t,isIntersecting:n})=>{this.options_visible=n})},visibilityChanged(e){this.options_visible=e}}},MI={class:"section"},VI={class:"container"},HI={class:"columns is-centered"},UI={class:"column is-four-fifths"},BI={key:0},jI={ref:"options_ref",style:{height:"1px"}},qI={class:"buttons is-centered mt-4 mb-2"},WI={id:"top",class:"level is-clipped"},GI={class:"level-left is-flex-shrink-1"},KI={class:"level-item is-flex-shrink-1 has-text-centered-mobile"},ZI={class:"level-right has-text-centered-mobile"},YI={class:"mt-4"};function JI(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",MI,[u("div",VI,[u("div",HI,[u("div",UI,[e.$slots.options?(k(),T("section",BI,[u("div",jI,null,512),it(e.$slots,"options"),u("nav",qI,[y(a,{class:"button is-small is-white",to:o.position},{default:E(()=>[y(i,{class:"icon is-small",name:o.icon_name,size:"16"},null,8,["name"])]),_:1},8,["to"])])])):M("",!0),u("div",{class:Ee({"is-full-height":e.$slots.options})},[u("nav",WI,[u("div",GI,[u("div",KI,[u("div",null,[it(e.$slots,"heading-left")])])]),u("div",ZI,[it(e.$slots,"heading-right")])]),it(e.$slots,"content"),u("div",YI,[it(e.$slots,"footer")])],2)])])])])}const et=te(NI,[["render",JI]]),XI={name:"ControlDropdown",props:["value","options"],emits:["update:value"],data(){return{is_active:!1}},computed:{option:{get(){return this.options.find(e=>e.id===this.value)}}},methods:{onClickOutside(e){this.is_active=!1},select(e){this.is_active=!1,this.$emit("update:value",e.id)}}},QI={class:"dropdown-trigger"},eF=["textContent"],tF={id:"dropdown",class:"dropdown-menu",role:"menu"},nF={class:"dropdown-content"},rF=["onClick","textContent"];function sF(e,t,n,r,s,o){const i=$("mdicon"),a=Ld("click-away");return yt((k(),T("div",{class:Ee(["dropdown",{"is-active":s.is_active}])},[u("div",QI,[u("button",{class:"button","aria-haspopup":"true","aria-controls":"dropdown",onClick:t[0]||(t[0]=l=>s.is_active=!s.is_active)},[u("span",{textContent:g(o.option.name)},null,8,eF),y(i,{class:"icon",name:"chevron-down",size:"16"})])]),u("div",tF,[u("div",nF,[(k(!0),T(we,null,ct(n.options,l=>(k(),T("a",{key:l.id,class:Ee(["dropdown-item",{"is-active":n.value===l.id}]),onClick:c=>o.select(l),textContent:g(l.name)},null,10,rF))),128))])])],2)),[[a,o.onClickOutside]])}const Ss=te(XI,[["render",sF]]),oF={name:"IndexButtonList",props:["index"]},iF={class:"buttons is-centered mb-4 fd-is-square"};function aF(e,t,n,r,s,o){const i=$("router-link");return k(),T("section",null,[u("nav",iF,[(k(!0),T(we,null,ct(n.index,a=>(k(),_e(i,{key:a,class:"button is-small",to:"#index_"+a},{default:E(()=>[gt(g(a),1)]),_:2},1032,["to"]))),128))])])}const Jn=te(oF,[["render",aF]]),lF={name:"ListAlbums",components:{CoverArtwork:Fn,ModalDialog:cm,ModalDialogAlbum:du},props:["albums","media_kind","hide_group_title"],emits:["play-count-changed","podcast-deleted"],data(){return{show_details_modal:!1,selected_album:{},show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value},media_kind_resolved(){return this.media_kind?this.media_kind:this.selected_album.media_kind}},methods:{open_album(e){this.selected_album=e,this.media_kind_resolved==="podcast"?this.$router.push({name:"podcast",params:{id:e.id}}):this.media_kind_resolved==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:e.id}}):this.$router.push({name:"music-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_details_modal=!0},open_remove_podcast_dialog(){V.library_album_tracks(this.selected_album.id,{limit:1}).then(({data:e})=>{V.library_track_playlists(e.items[0].id).then(({data:t})=>{this.rss_playlist_to_remove=t.items.filter(n=>n.type==="rss")[0],this.show_remove_podcast_modal=!0,this.show_details_modal=!1})})},play_count_changed(){this.$emit("play-count-changed")},remove_podcast(){this.show_remove_podcast_modal=!1,V.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$emit("podcast-deleted")})}}},uF={key:0,class:"mt-6 mb-5 py-2"},cF=["id","textContent"],dF=["onClick"],mF={key:0,class:"media-left"},fF={class:"media-content is-clickable is-clipped"},pF=["textContent"],hF=["textContent"],_F=["textContent"],gF={class:"media-right"},yF=["onClick"],vF=["textContent"],bF={class:"is-size-7"},zF=["textContent"],CF=["textContent"];function wF(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("mdicon"),l=$("modal-dialog-album"),c=$("modal-dialog");return k(),T(we,null,[(k(!0),T(we,null,ct(n.albums,m=>(k(),T(we,{key:m.itemId},[!m.isItem&&!n.hide_group_title?(k(),T("div",uF,[u("span",{id:"index_"+m.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(m.groupKey)},null,8,cF)])):m.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:d=>o.open_album(m.item)},[o.is_visible_artwork?(k(),T("div",mF,[y(i,{artwork_url:m.item.artwork_url,artist:m.item.artist,album:m.item.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image"},null,8,["artwork_url","artist","album"])])):M("",!0),u("div",fF,[u("div",null,[u("h1",{class:"title is-6",textContent:g(m.item.name)},null,8,pF),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(m.item.artist)},null,8,hF),m.item.date_released&&m.item.media_kind==="music"?(k(),T("h2",{key:0,class:"subtitle is-7 has-text-grey",textContent:g(e.$filters.date(m.item.date_released))},null,8,_F)):M("",!0)])]),u("div",gF,[u("a",{onClick:st(d=>o.open_dialog(m.item),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,yF)])],8,dF)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(l,{show:s.show_details_modal,album:s.selected_album,media_kind:n.media_kind,onRemovePodcast:t[0]||(t[0]=m=>o.open_remove_podcast_dialog()),onPlayCountChanged:t[1]||(t[1]=m=>o.play_count_changed()),onClose:t[2]||(t[2]=m=>s.show_details_modal=!1)},null,8,["show","album","media_kind"]),y(c,{show:s.show_remove_podcast_modal,title:e.$t("page.podcast.remove-podcast"),delete_action:e.$t("page.podcast.remove"),onClose:t[3]||(t[3]=m=>s.show_remove_podcast_modal=!1),onDelete:o.remove_podcast},{"modal-content":E(()=>[u("p",{textContent:g(e.$t("list.albums.info-1"))},null,8,vF),u("p",bF,[gt(" ("),u("span",{textContent:g(e.$t("list.albums.info-2"))},null,8,zF),u("b",{textContent:g(s.rss_playlist_to_remove.name)},null,8,CF),gt(") ")])]),_:1},8,["show","title","delete_action","onDelete"])]))],64)}const ur=te(lF,[["render",wF]]),kF={name:"TabsMusic",computed:{spotify_enabled(){return this.$store.state.spotify.webapi_token_valid}}},xF={class:"section fd-tabs-section"},EF={class:"container"},SF={class:"columns is-centered"},$F={class:"column is-four-fifths"},AF={class:"tabs is-centered is-small"},TF=["onClick","onKeypress"],OF=["textContent"],DF=["onClick","onKeypress"],PF=["textContent"],IF=["onClick","onKeypress"],FF=["textContent"],RF=["onClick","onKeypress"],LF=["textContent"],NF=["onClick","onKeypress"],MF=["textContent"],VF=["onClick","onKeypress"],HF=["textContent"];function UF(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",xF,[u("div",EF,[u("div",SF,[u("div",$F,[u("div",AF,[u("ul",null,[y(a,{to:{name:"music-history"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"history",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.history"))},null,8,OF)],40,TF)],2)]),_:1}),y(a,{to:{name:"music-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.artists"))},null,8,PF)],40,DF)],2)]),_:1}),y(a,{to:{name:"music-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.albums"))},null,8,FF)],40,IF)],2)]),_:1}),y(a,{to:{name:"music-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.genres"))},null,8,LF)],40,RF)],2)]),_:1}),y(a,{to:{name:"music-composers"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"book-open-page-variant",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.composers"))},null,8,MF)],40,NF)],2)]),_:1}),o.spotify_enabled?(k(),_e(a,{key:0,to:{name:"music-spotify"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"spotify",size:"16"}),u("span",{textContent:g(e.$t("page.music.tabs.spotify"))},null,8,HF)],40,VF)],2)]),_:1})):M("",!0)])])])])])])}const cr=te(kF,[["render",UF]]),la={load(e){return V.library_albums("music")},set(e,t){e.albums_list=new ve(t.data)}},BF={name:"PageAlbums",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListAlbums:ur,TabsMusic:cr},beforeRouteEnter(e,t,n){la.load(e).then(r=>{n(s=>la.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;la.load(e).then(s=>{la.set(r,s),n()})},data(){return{albums_list:new ve,grouping_options:[{id:1,name:this.$t("page.albums.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.albums.sort.recently-added"),options:xl("time_added",{direction:"desc"})},{id:3,name:this.$t("page.albums.sort.recently-released"),options:xl("date_released",{direction:"desc"})}]}},computed:{albums(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.albums_list.group(e.options,[t=>!this.hide_singles||t.track_count>2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},selected_grouping_option_id:{get(){return this.$store.state.albums_sort},set(e){this.$store.commit(Xh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Ol,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}}}},jF={class:"fd-page-with-tabs"},qF={class:"columns"},WF={class:"column"},GF=["textContent"],KF={class:"field"},ZF={class:"control"},YF=["textContent"],JF=["textContent"],XF={key:0,class:"field"},QF={class:"control"},eR=["textContent"],tR=["textContent"],nR={class:"column"},rR=["textContent"],sR=["textContent"],oR=["textContent"];function iR(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-albums"),m=$("content-with-heading");return k(),T("div",jF,[y(i),y(m,null,{options:E(()=>[y(a,{index:o.albums.indexList},null,8,["index"]),u("div",qF,[u("div",WF,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.filter"))},null,8,GF),u("div",KF,[u("div",ZF,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=d=>o.hide_singles=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.albums.hide-singles"))},null,8,YF)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-singles-help"))},null,8,JF)]),o.spotify_enabled?(k(),T("div",XF,[u("div",QF,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=d=>o.hide_spotify=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.albums.hide-spotify"))},null,8,eR)]),u("p",{class:"help",textContent:g(e.$t("page.albums.hide-spotify-help"))},null,8,tR)])):M("",!0)]),u("div",nR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.albums.sort.title"))},null,8,rR),y(l,{value:o.selected_grouping_option_id,"onUpdate:value":t[2]||(t[2]=d=>o.selected_grouping_option_id=d),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.albums.title"))},null,8,sR),u("p",{class:"heading",textContent:g(e.$t("page.albums.count",{count:o.albums.count}))},null,8,oR)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{albums:o.albums},null,8,["albums"])]),_:1})])}const aR=te(BF,[["render",iR]]),lR={name:"ModalDialogArtist",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-artist",params:{id:this.artist.id}})}}},uR={key:0,class:"modal is-active"},cR={class:"modal-content fd-modal-card"},dR={class:"card"},mR={class:"card-content"},fR={class:"title is-4"},pR=["textContent"],hR={class:"content is-small"},_R=["textContent"],gR=["textContent"],yR=["textContent"],vR=["textContent"],bR=["textContent"],zR=["textContent"],CR=["textContent"],wR=["textContent"],kR={class:"card-footer"},xR=["textContent"],ER=["textContent"],SR=["textContent"];function $R(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",uR,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",cR,[u("div",dR,[u("div",mR,[u("p",fR,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,pR)]),u("div",hR,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.albums"))},null,8,_R),u("span",{class:"title is-6",textContent:g(n.artist.album_count)},null,8,gR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.tracks"))},null,8,yR),u("span",{class:"title is-6",textContent:g(n.artist.track_count)},null,8,vR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.type"))},null,8,bR),u("span",{class:"title is-6",textContent:g(e.$t("data.kind."+n.artist.data_kind))},null,8,zR)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.artist.added-on"))},null,8,CR),u("span",{class:"title is-6",textContent:g(e.$filters.datetime(n.artist.time_added))},null,8,wR)])])]),u("footer",kR,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add"))},null,8,xR)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.add-next"))},null,8,ER)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.artist.play"))},null,8,SR)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const mu=te(lR,[["render",$R]]),ua={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums_list=new ve(t[1].data)}},AR={name:"PageArtist",components:{ContentWithHeading:et,ControlDropdown:Ss,ListAlbums:ur,ModalDialogArtist:mu},beforeRouteEnter(e,t,n){ua.load(e).then(r=>{n(s=>ua.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ua.load(e).then(s=>{ua.set(r,s),n()})},data(){return{artist:{},albums_list:new ve,grouping_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artist.sort.release-date"),options:xl("date_released",{direction:"asc"})}],show_details_modal:!1}},computed:{albums(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.albums_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.albums_list},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}},selected_grouping_option_id:{get(){return this.$store.state.artist_albums_sort},set(e){this.$store.commit(Yh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},track_count(){return[...this.albums].reduce((e,t)=>e+(t.isItem?t.item.track_count:0),0)}},methods:{open_tracks(){this.$router.push({name:"music-artist-tracks",params:{id:this.artist.id}})},play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!0)}}},TR={class:"columns"},OR={class:"column"},DR=["textContent"],PR={key:0,class:"field"},IR={class:"control"},FR=["textContent"],RR=["textContent"],LR={class:"column"},NR=["textContent"],MR=["textContent"],VR={class:"buttons is-centered"},HR=["textContent"],UR={class:"heading has-text-centered-mobile"},BR=["textContent"],jR=u("span",null," | ",-1),qR=["textContent"];function WR(e,t,n,r,s,o){const i=$("control-dropdown"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-artist"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[u("div",TR,[u("div",OR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,DR),o.spotify_enabled?(k(),T("div",PR,[u("div",IR,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=d=>o.hide_spotify=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,FR)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,RR)])):M("",!0)]),u("div",LR,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,NR),y(i,{value:o.selected_grouping_option_id,"onUpdate:value":t[1]||(t[1]=d=>o.selected_grouping_option_id=d),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,MR)]),"heading-right":E(()=>[u("div",VR,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=d=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...d)=>o.play&&o.play(...d))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,HR)])])]),content:E(()=>[u("p",UR,[u("span",{textContent:g(e.$t("page.artist.album-count",{count:o.albums.count}))},null,8,BR),jR,u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...d)=>o.open_tracks&&o.open_tracks(...d)),textContent:g(e.$t("page.artist.track-count",{count:o.track_count}))},null,8,qR)]),y(l,{albums:o.albums,hide_group_title:!0},null,8,["albums"]),y(c,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=d=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const GR=te(AR,[["render",WR]]),KR={name:"ListItemAlbumSpotify",props:["album"]},ZR={class:"media is-align-items-center"},YR={key:0,class:"media-left is-clickable"},JR={class:"media-content is-clickable is-clipped"},XR=["textContent"],QR=["textContent"],eL=["textContent"],tL={class:"media-right"};function nL(e,t,n,r,s,o){return k(),T("div",ZR,[e.$slots.artwork?(k(),T("div",YR,[it(e.$slots,"artwork")])):M("",!0),u("div",JR,[u("h1",{class:"title is-6",textContent:g(n.album.name)},null,8,XR),u("h2",{class:"subtitle is-7 has-text-grey has-text-weight-bold",textContent:g(n.album.artists[0].name)},null,8,QR),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g([n.album.album_type,e.$filters.date(n.album.release_date)].join(", "))},null,8,eL)]),u("div",tL,[it(e.$slots,"actions")])])}const fu=te(KR,[["render",nL]]),rL={name:"ModalDialogArtistSpotify",props:["show","artist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.artist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.artist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.artist.uri)},open_artist(){this.$emit("close"),this.$router.push({name:"music-spotify-artist",params:{id:this.artist.id}})}}},sL={key:0,class:"modal is-active"},oL={class:"modal-content fd-modal-card"},iL={class:"card"},aL={class:"card-content"},lL={class:"title is-4"},uL=["textContent"],cL={class:"content is-small"},dL=["textContent"],mL=["textContent"],fL=["textContent"],pL=["textContent"],hL={class:"card-footer"},_L=["textContent"],gL=["textContent"],yL=["textContent"];function vL(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",sL,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",oL,[u("div",iL,[u("div",aL,[u("p",lL,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_artist&&o.open_artist(...a)),textContent:g(n.artist.name)},null,8,uL)]),u("div",cL,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.popularity"))},null,8,dL),u("span",{class:"title is-6",textContent:g([n.artist.popularity,n.artist.followers.total].join(" / "))},null,8,mL)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.artist.genres"))},null,8,fL),u("span",{class:"title is-6",textContent:g(n.artist.genres.join(", "))},null,8,pL)])])]),u("footer",hL,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add"))},null,8,_L)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.add-next"))},null,8,gL)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.artist.play"))},null,8,yL)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const B1=te(rL,[["render",vL]]);function bL(e){return e.scrollHeight}function zL(e){return e.scrollWidth}function CL(e,t){e.scrollTop=e.scrollHeight-t+e.scrollTop}function wL(e,t){e.scrollLeft=e.scrollWidth-t+e.scrollLeft}const kL=u("div",{class:"loading"},"Loading...",-1),xL=u("div",{class:"no-more"},"No more.",-1),EL=u("div",{class:"no-results"},"No results.",-1),SL=u("div",{class:"error"},"Error.",-1),Am=br({__name:"VueEternalLoading",props:{load:{required:!0,type:Function},isInitial:{required:!1,type:Boolean,default:!0},position:{required:!1,type:String,default:"default"},container:{required:!1,type:Object,default:null},margin:{required:!1,type:String,default:void 0}},emits:["update:isInitial"],setup(e,{emit:t}){const n=e,r=sr();let s=sr("loading"),o=sr(n.isInitial),i=0;function a(){ho(()=>{var v,z;n.position==="top"?CL((v=n.container)!=null?v:document.documentElement,i):n.position==="left"&&wL((z=n.container)!=null?z:document.documentElement,i)})}function l(v,z){return v===0?o.value?(m(),"no-results"):(c(),"no-more"):v!==void 0&&z!==void 0&&v{var z,S;v.isIntersecting&&(n.position==="top"?i=bL((z=n.container)!=null?z:document.documentElement):n.position==="left"&&(i=zL((S=n.container)!=null?S:document.documentElement)),_(),n.load({loaded:l,noMore:c,noResults:m,error:d},{isFirstLoad:o.value}))},{root:n.container,threshold:0,rootMargin:n.margin})}let C;return typeof IntersectionObserver<"u"&&F_(()=>{C&&_(),C=w(),b()},{flush:"post"}),bn(()=>n.isInitial,v=>{v&&f()}),bn(o,v=>{v||t("update:isInitial",!1)}),(v,z)=>(k(),T("div",{class:"vue-eternal-loading",ref_key:"rootRef",ref:r},[yn(s)==="loading"?it(v.$slots,"loading",Fo(Hs({key:0},{isFirstLoad:yn(o)})),()=>[kL]):yn(s)==="no-more"?it(v.$slots,"no-more",Fo(Hs({key:1},{retry:p})),()=>[xL]):yn(s)==="no-results"?it(v.$slots,"no-results",Fo(Hs({key:2},{retry:p})),()=>[EL]):yn(s)==="error"?it(v.$slots,"error",Fo(Hs({key:3},{retry:p})),()=>[SL]):M("",!0)],512))}}),id=50,ca={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getArtist(e.params.id),t.getArtistAlbums(e.params.id,{limit:id,offset:0,include_groups:"album,single",market:He.state.spotify.webapi_country})])},set(e,t){e.artist=t[0],e.albums=[],e.total=0,e.offset=0,e.append_albums(t[1])}},$L={name:"PageArtistSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:fu,ModalDialogAlbumSpotify:Ri,ModalDialogArtistSpotify:B1,VueEternalLoading:Am},beforeRouteEnter(e,t,n){ca.load(e).then(r=>{n(s=>ca.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ca.load(e).then(s=>{ca.set(r,s),n()})},data(){return{albums:[],artist:{},offset:0,selected_album:{},show_album_details_modal:!1,show_details_modal:!1,total:0}},computed:{is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{load_next({loaded:e}){const t=new Yn;t.setAccessToken(this.$store.state.spotify.webapi_token),t.getArtistAlbums(this.artist.id,{limit:id,offset:this.offset,include_groups:"album,single"}).then(n=>{this.append_albums(n),e(n.items.length,id)})},append_albums(e){this.albums=this.albums.concat(e.items),this.total=e.total,this.offset+=e.limit},play(){this.show_album_details_modal=!1,V.player_play_uri(this.artist.uri,!0)},open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},AL=["textContent"],TL={class:"buttons is-centered"},OL=["textContent"],DL=["textContent"],PL=["onClick"],IL={class:"columns is-centered"},FL={class:"column has-text-centered"};function RL(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-item-album-spotify"),c=$("VueEternalLoading"),m=$("modal-dialog-artist-spotify"),d=$("modal-dialog-album-spotify"),f=$("content-with-heading");return k(),T("div",null,[y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,AL)]),"heading-right":E(()=>[u("div",TL,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=p=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...p)=>o.play&&o.play(...p))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.artist.shuffle"))},null,8,OL)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.spotify.artist.album-count",{count:s.total}))},null,8,DL),(k(!0),T(we,null,ct(s.albums,p=>(k(),_e(l,{key:p.id,album:p,onClick:h=>o.open_album(p)},Si({actions:E(()=>[u("a",{onClick:st(h=>o.open_dialog(p),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,PL)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(p),artist:p.artist,album:p.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),s.offset[u("div",IL,[u("div",FL,[y(i,{class:"icon mdi-spin",name:"loading"})])])]),"no-more":E(()=>[gt(" ")]),_:1},8,["load"])):M("",!0),y(m,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=p=>s.show_details_modal=!1)},null,8,["show","artist"]),y(d,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[3]||(t[3]=p=>s.show_album_details_modal=!1)},null,8,["show","album"])]),_:1})])}const LL=te($L,[["render",RL]]),NL={name:"ListArtists",components:{ModalDialogArtist:mu},props:["artists","hide_group_title"],data(){return{show_details_modal:!1,selected_artist:{}}},methods:{open_artist(e){this.selected_artist=e;const t=e.media_kind==="audiobook"?"audiobooks-artist":"music-artist";this.$router.push({name:t,params:{id:e.id}})},open_dialog(e){this.selected_artist=e,this.show_details_modal=!0}}},ML={key:0,class:"mt-6 mb-5 py-2"},VL={class:"media-content is-clipped"},HL=["id","textContent"],UL=["onClick"],BL={class:"media-content is-clickable is-clipped"},jL=["textContent"],qL={class:"media-right"},WL=["onClick"];function GL(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-artist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.artists,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",ML,[u("div",VL,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,HL)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_artist(l.item)},[u("div",BL,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,jL)]),u("div",qL,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,WL)])],8,UL)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{artist:s.selected_artist,show:s.show_details_modal,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["artist","show"])]))],64)}const Tm=te(NL,[["render",GL]]),da={load(e){return V.library_artists("music")},set(e,t){e.artists_list=new ve(t.data)}},KL={name:"PageArtists",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListArtists:Tm,TabsMusic:cr},beforeRouteEnter(e,t,n){da.load(e).then(r=>{n(s=>da.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;da.load(e).then(s=>{da.set(r,s),n()})},data(){return{artists_list:new ve,grouping_options:[{id:1,name:this.$t("page.artists.sort.name"),options:Rn("name_sort",!0)},{id:2,name:this.$t("page.artists.sort.recently-added"),options:xl("time_added",{direction:"desc"})}]}},computed:{artists(){if(!this.artists_list)return[];const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.artists_list.group(e.options,[t=>!this.hide_singles||t.track_count>t.album_count*2,t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.artists_list},selected_grouping_option_id:{get(){return this.$store.state.artists_sort},set(e){this.$store.commit(Zh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get(){return this.$store.state.hide_singles},set(e){this.$store.commit(Ol,e)}},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}}}},ZL={class:"fd-page-with-tabs"},YL={class:"columns"},JL={class:"column"},XL=["textContent"],QL={class:"field"},eN={class:"control"},tN=["textContent"],nN=["textContent"],rN={key:0,class:"field"},sN={class:"control"},oN=["textContent"],iN=["textContent"],aN={class:"column"},lN=["textContent"],uN=["textContent"],cN=["textContent"];function dN(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("control-dropdown"),c=$("list-artists"),m=$("content-with-heading");return k(),T("div",ZL,[y(i),y(m,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"]),u("div",YL,[u("div",JL,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.filter"))},null,8,XL),u("div",QL,[u("div",eN,[yt(u("input",{id:"switchHideSingles","onUpdate:modelValue":t[0]||(t[0]=d=>o.hide_singles=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_singles]]),u("label",{for:"switchHideSingles",textContent:g(e.$t("page.artists.hide-singles"))},null,8,tN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-singles-help"))},null,8,nN)]),o.spotify_enabled?(k(),T("div",rN,[u("div",sN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[1]||(t[1]=d=>o.hide_spotify=d),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artists.hide-spotify"))},null,8,oN)]),u("p",{class:"help",textContent:g(e.$t("page.artists.hide-spotify-help"))},null,8,iN)])):M("",!0)]),u("div",aN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artists.sort.title"))},null,8,lN),y(l,{value:o.selected_grouping_option_id,"onUpdate:value":t[2]||(t[2]=d=>o.selected_grouping_option_id=d),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.artists.title"))},null,8,uN),u("p",{class:"heading",textContent:g(e.$t("page.artists.count",{count:o.artists.count}))},null,8,cN)]),"heading-right":E(()=>[]),content:E(()=>[y(c,{artists:o.artists},null,8,["artists"])]),_:1})])}const mN=te(KL,[["render",dN]]),ma={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_tracks(e.params.id)])},set(e,t){e.artist=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},fN={name:"PageArtistTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogArtist:mu},beforeRouteEnter(e,t,n){ma.load(e).then(r=>{n(s=>ma.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ma.load(e).then(s=>{ma.set(r,s),n()})},data(){return{artist:{},grouping_options:[{id:1,name:this.$t("page.artist.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.artist.sort.rating"),options:Em("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{album_count(){return new Set([...this.tracks].filter(e=>e.isItem).map(e=>e.item.album_id)).size},hide_spotify:{get(){return this.$store.state.hide_spotify},set(e){this.$store.commit(bi,e)}},selected_grouping_option_id:{get(){return this.$store.state.artist_tracks_sort},set(e){this.$store.commit(Jh,e)}},spotify_enabled(){return this.$store.state.spotify.webapi_token_valid},tracks(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.tracks_list.group(e.options,[t=>!this.hide_spotify||t.data_kind!=="spotify"]),this.tracks_list},track_uris(){return this.tracks_list.items.map(e=>e.uri).join(",")}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"music-artist",params:{id:this.artist.id}})},play(){V.player_play_uri(this.tracks_list.items.map(e=>e.uri).join(","),!0)}}},pN={class:"columns"},hN={class:"column"},_N=["textContent"],gN={key:0,class:"field"},yN={class:"control"},vN=["textContent"],bN=["textContent"],zN={class:"column"},CN=["textContent"],wN=["textContent"],kN={class:"buttons is-centered"},xN=["textContent"],EN={class:"heading has-text-centered-mobile"},SN=["textContent"],$N=u("span",null," | ",-1),AN=["textContent"];function TN(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),m=$("modal-dialog-artist"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",pN,[u("div",hN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.filter"))},null,8,_N),o.spotify_enabled?(k(),T("div",gN,[u("div",yN,[yt(u("input",{id:"switchHideSpotify","onUpdate:modelValue":t[0]||(t[0]=f=>o.hide_spotify=f),type:"checkbox",class:"switch is-rounded"},null,512),[[On,o.hide_spotify]]),u("label",{for:"switchHideSpotify",textContent:g(e.$t("page.artist.hide-spotify"))},null,8,vN)]),u("p",{class:"help",textContent:g(e.$t("page.artist.hide-spotify-help"))},null,8,bN)])):M("",!0)]),u("div",zN,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,CN),y(a,{value:o.selected_grouping_option_id,"onUpdate:value":t[1]||(t[1]=f=>o.selected_grouping_option_id=f),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,wN)]),"heading-right":E(()=>[u("div",kN,[u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[3]||(t[3]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.artist.shuffle"))},null,8,xN)])])]),content:E(()=>[u("p",EN,[u("a",{class:"has-text-link",onClick:t[4]||(t[4]=(...f)=>o.open_artist&&o.open_artist(...f)),textContent:g(e.$t("page.artist.album-count",{count:o.album_count}))},null,8,SN),$N,u("span",{textContent:g(e.$t("page.artist.track-count",{count:o.tracks.count}))},null,8,AN)]),y(c,{tracks:o.tracks,uris:o.track_uris},null,8,["tracks","uris"]),y(m,{show:s.show_details_modal,artist:s.artist,onClose:t[5]||(t[5]=f=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const ON=te(fN,[["render",TN]]),fa={load(e){return Promise.all([V.library_album(e.params.id),V.library_album_tracks(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data)}},DN={name:"PageAudiobooksAlbum",components:{ContentWithHero:cu,CoverArtwork:Fn,ListTracks:Cn,ModalDialogAlbum:du},beforeRouteEnter(e,t,n){fa.load(e).then(r=>{n(s=>fa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;fa.load(e).then(s=>{fa.set(r,s),n()})},data(){return{album:{},show_details_modal:!1,tracks:new ve}},methods:{open_artist(){this.show_details_modal=!1,this.$router.push({name:"audiobooks-artist",params:{id:this.album.artist_id}})},play(){V.player_play_uri(this.album.uri,!1)}}},PN=["textContent"],IN={class:"subtitle is-6 has-text-link"},FN=["textContent"],RN={class:"buttons fd-is-centered-mobile mt-5"},LN=["textContent"],NN=["textContent"];function MN(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),m=$("content-with-hero");return k(),T("div",null,[y(m,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,PN),u("h2",IN,[u("a",{class:"has-text-link",onClick:t[0]||(t[0]=(...d)=>o.open_artist&&o.open_artist(...d)),textContent:g(s.album.artist)},null,8,FN)]),u("div",RN,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.album.play"))},null,8,LN)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[2]||(t[2]=d=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[3]||(t[3]=d=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.audiobooks.album.track-count",{count:s.album.track_count}))},null,8,NN),y(l,{tracks:s.tracks,uris:s.album.uri},null,8,["tracks","uris"]),y(c,{show:s.show_details_modal,album:s.album,media_kind:"audiobook",onClose:t[4]||(t[4]=d=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const VN=te(DN,[["render",MN]]),HN={name:"TabsAudiobooks"},UN={class:"section fd-tabs-section"},BN={class:"container"},jN={class:"columns is-centered"},qN={class:"column is-four-fifths"},WN={class:"tabs is-centered is-small"},GN=["onClick","onKeypress"],KN=["textContent"],ZN=["onClick","onKeypress"],YN=["textContent"],JN=["onClick","onKeypress"],XN=["textContent"];function QN(e,t,n,r,s,o){const i=$("mdicon"),a=$("router-link");return k(),T("section",UN,[u("div",BN,[u("div",jN,[u("div",qN,[u("div",WN,[u("ul",null,[y(a,{to:{name:"audiobooks-artists"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"account-music",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.authors"))},null,8,KN)],40,GN)],2)]),_:1}),y(a,{to:{name:"audiobooks-albums"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"album",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.audiobooks"))},null,8,YN)],40,ZN)],2)]),_:1}),y(a,{to:{name:"audiobooks-genres"},custom:""},{default:E(({navigate:l,isActive:c})=>[u("li",{class:Ee({"is-active":c})},[u("a",{onClick:l,onKeypress:sn(l,["enter"])},[y(i,{class:"icon is-small",name:"speaker",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.tabs.genres"))},null,8,XN)],40,JN)],2)]),_:1})])])])])])])}const Om=te(HN,[["render",QN]]),pa={load(e){return V.library_albums("audiobook")},set(e,t){e.albums=new ve(t.data),e.albums.group(Rn("name_sort",!0))}},eM={name:"PageAudiobooksAlbums",components:{TabsAudiobooks:Om,ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur},beforeRouteEnter(e,t,n){pa.load(e).then(r=>{n(s=>pa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;pa.load(e).then(s=>{pa.set(r,s),n()})},data(){return{albums:new ve}}},tM={class:"fd-page-with-tabs"},nM=["textContent"],rM=["textContent"];function sM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-albums"),c=$("content-with-heading");return k(),T("div",tM,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.albums.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.albums.title"))},null,8,nM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.albums.count",{count:s.albums.count}))},null,8,rM)]),content:E(()=>[y(l,{albums:s.albums},null,8,["albums"])]),_:1})])}const oM=te(eM,[["render",sM]]),ha={load(e){return Promise.all([V.library_artist(e.params.id),V.library_artist_albums(e.params.id)])},set(e,t){e.artist=t[0].data,e.albums=new ve(t[1].data)}},iM={name:"PageAudiobooksArtist",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogArtist:mu},beforeRouteEnter(e,t,n){ha.load(e).then(r=>{n(s=>ha.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums.isEmpty()){n();return}const r=this;ha.load(e).then(s=>{ha.set(r,s),n()})},data(){return{artist:{},albums:new ve,show_details_modal:!1}},methods:{play(){V.player_play_uri(this.albums.items.map(e=>e.uri).join(","),!1)}}},aM=["textContent"],lM={class:"buttons is-centered"},uM=["textContent"],cM=["textContent"];function dM(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-artist"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.artist.name)},null,8,aM)]),"heading-right":E(()=>[u("div",lM,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.audiobooks.artist.play"))},null,8,uM)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.audiobooks.artist.album-count",{count:s.artist.album_count}))},null,8,cM),y(a,{albums:s.albums},null,8,["albums"]),y(l,{show:s.show_details_modal,artist:s.artist,onClose:t[2]||(t[2]=m=>s.show_details_modal=!1)},null,8,["show","artist"])]),_:1})])}const mM=te(iM,[["render",dM]]),_a={load(e){return V.library_artists("audiobook")},set(e,t){e.artists_list=new ve(t.data)}},fM={name:"PageAudiobooksArtists",components:{ContentWithHeading:et,TabsAudiobooks:Om,IndexButtonList:Jn,ListArtists:Tm},beforeRouteEnter(e,t,n){_a.load(e).then(r=>{n(s=>_a.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.artists_list.isEmpty()){n();return}const r=this;_a.load(e).then(s=>{_a.set(r,s),n()})},data(){return{artists_list:new ve}},computed:{artists(){return this.artists_list?(this.artists_list.group(Rn("name_sort",!0)),this.artists_list):[]}}},pM={class:"fd-page-with-tabs"},hM=["textContent"],_M=["textContent"];function gM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-artists"),c=$("content-with-heading");return k(),T("div",pM,[y(i),y(c,null,{options:E(()=>[y(a,{index:o.artists.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.audiobooks.artists.title"))},null,8,hM),u("p",{class:"heading",textContent:g(e.$t("page.audiobooks.artists.count",{count:o.artists.count}))},null,8,_M)]),"heading-right":E(()=>[]),content:E(()=>[y(l,{artists:o.artists},null,8,["artists"])]),_:1})])}const yM=te(fM,[["render",gM]]),vM={name:"ModalDialogGenre",props:["genre","media_kind","show"],emits:["close"],computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`}},methods:{play(){this.$emit("close"),V.player_play_expression(this.expression,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(this.expression)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(this.expression)},open_genre(){this.$emit("close"),this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})}}},bM={key:0,class:"modal is-active"},zM={class:"modal-content fd-modal-card"},CM={class:"card"},wM={class:"card-content"},kM={class:"title is-4"},xM=["textContent"],EM={class:"content is-small"},SM=["textContent"],$M=["textContent"],AM=["textContent"],TM=["textContent"],OM=["textContent"],DM=["textContent"],PM={class:"card-footer"},IM=["textContent"],FM=["textContent"],RM=["textContent"];function LM(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",bM,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",zM,[u("div",CM,[u("div",wM,[u("p",kM,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.genre.name)},null,8,xM)]),u("div",EM,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.albums"))},null,8,SM),u("span",{class:"title is-6",textContent:g(n.genre.album_count)},null,8,$M)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.tracks"))},null,8,AM),u("span",{class:"title is-6",textContent:g(n.genre.track_count)},null,8,TM)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.genre.duration"))},null,8,OM),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.genre.length_ms))},null,8,DM)])])]),u("footer",PM,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add"))},null,8,IM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.add-next"))},null,8,FM)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.genre.play"))},null,8,RM)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Dm=te(vM,[["render",LM]]),NM={name:"ListGenres",components:{ModalDialogGenre:Dm},props:["genres","hide_group_title","media_kind"],data(){return{show_details_modal:!1,selected_genre:{}}},methods:{open_genre(e){this.$router.push({name:"genre-albums",params:{name:e.name},query:{media_kind:this.media_kind}})},open_dialog(e){this.selected_genre=e,this.show_details_modal=!0}}},MM={key:0,class:"mt-6 mb-5 py-2"},VM={class:"media-content is-clipped"},HM=["id","textContent"],UM=["onClick"],BM={class:"media-content is-clickable is-clipped"},jM=["textContent"],qM={class:"media-right"},WM=["onClick"];function GM(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-genre");return k(),T(we,null,[(k(!0),T(we,null,ct(n.genres,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",MM,[u("div",VM,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,HM)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_genre(l.item)},[u("div",BM,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,jM)]),u("div",qM,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,WM)])],8,UM)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,genre:s.selected_genre,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]))],64)}const j1=te(NM,[["render",GM]]),ga={load(e){return V.library_genres("audiobook")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},KM={name:"PageAudiobooksGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:j1,TabsAudiobooks:Om},beforeRouteEnter(e,t,n){ga.load(e).then(r=>{n(s=>ga.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ga.load(e).then(s=>{ga.set(r,s),n()})},data(){return{genres:new ve}}},ZM={class:"fd-page-with-tabs"},YM=["textContent"],JM=["textContent"];function XM(e,t,n,r,s,o){const i=$("tabs-audiobooks"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",ZM,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,YM),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,JM)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"audiobook"},null,8,["genres"])]),_:1})])}const QM=te(KM,[["render",XM]]),ya={load(e){return Promise.all([V.search({type:"album",expression:"time_added after 8 weeks ago and media_kind is music having track_count > 3 order by time_added desc",limit:3}),V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:3})])},set(e,t){e.recently_added=new ve(t[0].data.albums),e.recently_played=new ve(t[1].data.tracks)}},e7={name:"PageMusic",components:{ContentWithHeading:et,ListAlbums:ur,ListTracks:Cn,TabsMusic:cr},beforeRouteEnter(e,t,n){ya.load(e).then(r=>{n(s=>ya.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ya.load(e).then(s=>{ya.set(r,s),n()})},data(){return{recently_added:[],recently_played:{items:[]},selected_track:{}}}},t7={class:"fd-page-with-tabs"},n7=["textContent"],r7={class:"level"},s7={class:"level-item"},o7=["textContent"],i7={class:"level"},a7={class:"level-item"};function l7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("router-link"),c=$("content-with-heading"),m=$("list-tracks");return k(),T("div",t7,[y(i),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,n7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),footer:E(()=>[u("nav",r7,[u("p",s7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-added"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1}),y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,o7)]),content:E(()=>[y(m,{tracks:s.recently_played},null,8,["tracks"])]),footer:E(()=>[u("nav",i7,[u("p",a7,[y(l,{class:"button is-light is-small is-rounded",to:{name:"music-recently-played"}},{default:E(()=>[gt(g(e.$t("page.music.show-more")),1)]),_:1})])])]),_:1})])}const u7=te(e7,[["render",l7]]),va={load(e){const t=He.getters.settings_option_recently_added_limit;return V.search({type:"album",expression:"media_kind is music having track_count > 3 order by time_added desc",limit:t})},set(e,t){e.recently_added=new ve(t.data.albums),e.recently_added.group(b5("time_added",{direction:"desc"}))}},c7={name:"PageMusicRecentlyAdded",components:{ContentWithHeading:et,TabsMusic:cr,ListAlbums:ur},beforeRouteEnter(e,t,n){va.load(e).then(r=>{n(s=>va.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.recently_added.isEmpty()){n();return}const r=this;va.load(e).then(s=>{va.set(r,s),n()})},data(){return{recently_added:new ve}}},d7={class:"fd-page-with-tabs"},m7=["textContent"];function f7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-albums"),l=$("content-with-heading");return k(),T("div",d7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-added.title"))},null,8,m7)]),content:E(()=>[y(a,{albums:s.recently_added},null,8,["albums"])]),_:1})])}const p7=te(c7,[["render",f7]]),ba={load(e){return V.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:50})},set(e,t){e.recently_played=new ve(t.data.tracks)}},h7={name:"PageMusicRecentlyPlayed",components:{ContentWithHeading:et,TabsMusic:cr,ListTracks:Cn},beforeRouteEnter(e,t,n){ba.load(e).then(r=>{n(s=>ba.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ba.load(e).then(s=>{ba.set(r,s),n()})},data(){return{recently_played:{}}}},_7={class:"fd-page-with-tabs"},g7=["textContent"];function y7(e,t,n,r,s,o){const i=$("tabs-music"),a=$("list-tracks"),l=$("content-with-heading");return k(),T("div",_7,[y(i),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.music.recently-played.title"))},null,8,g7)]),content:E(()=>[y(a,{tracks:s.recently_played},null,8,["tracks"])]),_:1})])}const v7=te(h7,[["render",y7]]),b7={name:"ListItemPlaylistSpotify",props:["playlist"],methods:{open_playlist(){this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},z7={class:"media is-align-items-center"},C7=["textContent"],w7=["textContent"],k7={class:"media-right"};function x7(e,t,n,r,s,o){return k(),T("div",z7,[u("div",{class:"media-content is-clickable is-clipped",onClick:t[0]||(t[0]=(...i)=>o.open_playlist&&o.open_playlist(...i))},[u("h1",{class:"title is-6",textContent:g(n.playlist.name)},null,8,C7),u("h2",{class:"subtitle is-7",textContent:g(n.playlist.owner.display_name)},null,8,w7)]),u("div",k7,[it(e.$slots,"actions")])])}const Pm=te(b7,[["render",x7]]),E7={name:"ModalDialogPlaylistSpotify",props:["show","playlist"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist-spotify",params:{id:this.playlist.id}})}}},S7={key:0,class:"modal is-active"},$7={class:"modal-content fd-modal-card"},A7={class:"card"},T7={class:"card-content"},O7={class:"title is-4"},D7=["textContent"],P7={class:"content is-small"},I7=["textContent"],F7=["textContent"],R7=["textContent"],L7=["textContent"],N7=["textContent"],M7=["textContent"],V7={class:"card-footer"},H7=["textContent"],U7=["textContent"],B7=["textContent"];function j7(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",S7,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",$7,[u("div",A7,[u("div",T7,[u("p",O7,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,D7)]),u("div",P7,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.owner"))},null,8,I7),u("span",{class:"title is-6",textContent:g(n.playlist.owner.display_name)},null,8,F7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.tracks"))},null,8,R7),u("span",{class:"title is-6",textContent:g(n.playlist.tracks.total)},null,8,L7)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.spotify.playlist.path"))},null,8,N7),u("span",{class:"title is-6",textContent:g(n.playlist.uri)},null,8,M7)])])]),u("footer",V7,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add"))},null,8,H7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.add-next"))},null,8,U7)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.spotify.playlist.play"))},null,8,B7)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const pu=te(E7,[["render",j7]]),za={load(e){if(He.state.spotify_new_releases.length>0&&He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getNewReleases({country:He.state.spotify.webapi_country,limit:50}),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})])},set(e,t){t&&(He.commit(pd,t[0].albums.items),He.commit(hd,t[1].playlists.items))}},q7={name:"PageMusicSpotify",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:fu,ListItemPlaylistSpotify:Pm,ModalDialogAlbumSpotify:Ri,ModalDialogPlaylistSpotify:pu,TabsMusic:cr},beforeRouteEnter(e,t,n){za.load(e).then(r=>{n(s=>za.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;za.load(e).then(s=>{za.set(r,s),n()})},data(){return{show_album_details_modal:!1,selected_album:{},show_playlist_details_modal:!1,selected_playlist:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases.slice(0,3)},featured_playlists(){return this.$store.state.spotify_featured_playlists.slice(0,3)},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_album_details_modal=!0},open_playlist_dialog(e){this.selected_playlist=e,this.show_playlist_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},W7={class:"fd-page-with-tabs"},G7=["textContent"],K7=["onClick"],Z7={class:"level"},Y7={class:"level-item"},J7=["textContent"],X7=["onClick"],Q7={class:"level"},e9={class:"level-item"};function t9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),m=$("modal-dialog-album-spotify"),d=$("router-link"),f=$("content-with-heading"),p=$("list-item-playlist-spotify"),h=$("modal-dialog-playlist-spotify");return k(),T("div",W7,[y(i),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,G7)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,_=>(k(),_e(c,{key:_.id,album:_,onClick:b=>o.open_album(_)},Si({actions:E(()=>[u("a",{onClick:st(b=>o.open_album_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,K7)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(_),artist:_.artist,album:_.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(m,{show:s.show_album_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=_=>s.show_album_details_modal=!1)},null,8,["show","album"])]),footer:E(()=>[u("nav",Z7,[u("p",Y7,[y(d,{to:{name:"music-spotify-new-releases"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1}),y(f,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,J7)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,_=>(k(),_e(p,{key:_.id,playlist:_},{actions:E(()=>[u("a",{onClick:st(b=>o.open_playlist_dialog(_),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,X7)]),_:2},1032,["playlist"]))),128)),y(h,{show:s.show_playlist_details_modal,playlist:s.selected_playlist,onClose:t[1]||(t[1]=_=>s.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),footer:E(()=>[u("nav",Q7,[u("p",e9,[y(d,{to:{name:"music-spotify-featured-playlists"},class:"button is-light is-small is-rounded"},{default:E(()=>[gt(g(e.$t("page.spotify.music.show-more")),1)]),_:1})])])]),_:1})])}const n9=te(q7,[["render",t9]]),Ca={load(e){if(He.state.spotify_featured_playlists.length>0)return Promise.resolve();const t=new Yn;t.setAccessToken(He.state.spotify.webapi_token),t.getFeaturedPlaylists({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(hd,t.playlists.items)}},r9={name:"PageMusicSpotifyFeaturedPlaylists",components:{ContentWithHeading:et,ListItemPlaylistSpotify:Pm,ModalDialogPlaylistSpotify:pu,TabsMusic:cr},beforeRouteEnter(e,t,n){Ca.load(e).then(r=>{n(s=>Ca.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ca.load(e).then(s=>{Ca.set(r,s),n()})},data(){return{selected_playlist:{},show_details_modal:!1}},computed:{featured_playlists(){return this.$store.state.spotify_featured_playlists}},methods:{open_playlist_dialog(e){this.selected_playlist=e,this.show_details_modal=!0}}},s9={class:"fd-page-with-tabs"},o9=["textContent"],i9=["onClick"];function a9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("mdicon"),l=$("list-item-playlist-spotify"),c=$("modal-dialog-playlist-spotify"),m=$("content-with-heading");return k(),T("div",s9,[y(i),y(m,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.featured-playlists"))},null,8,o9)]),content:E(()=>[(k(!0),T(we,null,ct(o.featured_playlists,d=>(k(),_e(l,{key:d.id,playlist:d},{actions:E(()=>[u("a",{onClick:st(f=>o.open_playlist_dialog(d),["prevent","stop"])},[y(a,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,i9)]),_:2},1032,["playlist"]))),128)),y(c,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=d=>s.show_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}const l9=te(r9,[["render",a9]]),wa={load(e){if(He.state.spotify_new_releases.length>0)return Promise.resolve();const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),t.getNewReleases({country:He.state.spotify.webapi_country,limit:50})},set(e,t){t&&He.commit(pd,t.albums.items)}},u9={name:"PageMusicSpotifyNewReleases",components:{ContentWithHeading:et,CoverArtwork:Fn,ListItemAlbumSpotify:fu,ModalDialogAlbumSpotify:Ri,TabsMusic:cr},beforeRouteEnter(e,t,n){wa.load(e).then(r=>{n(s=>wa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;wa.load(e).then(s=>{wa.set(r,s),n()})},data(){return{show_details_modal:!1,selected_album:{}}},computed:{new_releases(){return this.$store.state.spotify_new_releases},is_visible_artwork(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album(e){this.$router.push({name:"music-spotify-album",params:{id:e.id}})},open_album_dialog(e){this.selected_album=e,this.show_details_modal=!0},artwork_url(e){return e.images&&e.images.length>0?e.images[0].url:""}}},c9={class:"fd-page-with-tabs"},d9=["textContent"],m9=["onClick"];function f9(e,t,n,r,s,o){const i=$("tabs-music"),a=$("cover-artwork"),l=$("mdicon"),c=$("list-item-album-spotify"),m=$("modal-dialog-album-spotify"),d=$("content-with-heading");return k(),T("div",c9,[y(i),y(d,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.spotify.music.new-releases"))},null,8,d9)]),content:E(()=>[(k(!0),T(we,null,ct(o.new_releases,f=>(k(),_e(c,{key:f.id,album:f,onClick:p=>o.open_album(f)},Si({actions:E(()=>[u("a",{onClick:st(p=>o.open_album_dialog(f),["prevent","stop"])},[y(l,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,m9)]),_:2},[o.is_visible_artwork?{name:"artwork",fn:E(()=>[y(a,{artwork_url:o.artwork_url(f),artist:f.artist,album:f.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-small-image",maxwidth:64,maxheight:64},null,8,["artwork_url","artist","album"])]),key:"0"}:void 0]),1032,["album","onClick"]))),128)),y(m,{show:s.show_details_modal,album:s.selected_album,onClose:t[0]||(t[0]=f=>s.show_details_modal=!1)},null,8,["show","album"])]),_:1})])}const p9=te(u9,[["render",f9]]),h9={name:"ModalDialogComposer",props:["show","composer"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`composer is "${this.composer.name}" and media_kind is music`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`composer is "${this.composer.name}" and media_kind is music`)},open_albums(){this.$emit("close"),this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})}}},_9={key:0,class:"modal is-active"},g9={class:"modal-content fd-modal-card"},y9={class:"card"},v9={class:"card-content"},b9={class:"title is-4"},z9=["textContent"],C9=["textContent"],w9=["textContent"],k9=["textContent"],x9=["textContent"],E9=["textContent"],S9=["textContent"],$9={class:"card-footer"},A9=["textContent"],T9=["textContent"],O9=["textContent"];function D9(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",_9,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",g9,[u("div",y9,[u("div",v9,[u("p",b9,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.name)},null,8,z9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.albums"))},null,8,C9),u("a",{class:"has-text-link is-6",onClick:t[2]||(t[2]=(...a)=>o.open_albums&&o.open_albums(...a)),textContent:g(n.composer.album_count)},null,8,w9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.tracks"))},null,8,k9),u("a",{class:"has-text-link is-6",onClick:t[3]||(t[3]=(...a)=>o.open_tracks&&o.open_tracks(...a)),textContent:g(n.composer.track_count)},null,8,x9)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.composer.duration"))},null,8,E9),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.composer.length_ms))},null,8,S9)])]),u("footer",$9,[u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add"))},null,8,A9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.add-next"))},null,8,T9)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[6]||(t[6]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.composer.play"))},null,8,O9)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[7]||(t[7]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const Im=te(h9,[["render",D9]]),ka={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_albums(e.params.name)])},set(e,t){e.composer=t[0].data,e.albums_list=new ve(t[1].data.albums)}},P9={name:"PageComposerAlbums",components:{ContentWithHeading:et,ListAlbums:ur,ModalDialogComposer:Im},beforeRouteEnter(e,t,n){ka.load(e).then(r=>{n(s=>ka.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;ka.load(e).then(s=>{ka.set(r,s),n()})},data(){return{albums_list:new ve,composer:{},show_details_modal:!1}},methods:{open_tracks(){this.$router.push({name:"music-composer-tracks",params:{name:this.composer.name}})},play(){V.player_play_expression(`composer is "${this.composer.name}" and media_kind is music`,!0)}}},I9=["textContent"],F9={class:"buttons is-centered"},R9=["textContent"],L9={class:"heading has-text-centered-mobile"},N9=["textContent"],M9=u("span",null," | ",-1),V9=["textContent"];function H9(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-albums"),l=$("modal-dialog-composer"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,I9)]),"heading-right":E(()=>[u("div",F9,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,R9)])])]),content:E(()=>[u("p",L9,[u("span",{textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,N9),M9,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...m)=>o.open_tracks&&o.open_tracks(...m)),textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,V9)]),y(a,{albums:s.albums_list,hide_group_title:!0},null,8,["albums"]),y(l,{show:s.show_details_modal,composer:s.composer,onClose:t[3]||(t[3]=m=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const U9=te(P9,[["render",H9]]),xa={load(e){return Promise.all([V.library_composer(e.params.name),V.library_composer_tracks(e.params.name)])},set(e,t){e.composer=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},B9={name:"PageComposerTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogComposer:Im},beforeRouteEnter(e,t,n){xa.load(e).then(r=>{n(s=>xa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;xa.load(e).then(s=>{xa.set(r,s),n()})},data(){return{composer:{},grouping_options:[{id:1,name:this.$t("page.composer.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.composer.sort.rating"),options:Em("rating",{direction:"desc"})}],show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`composer is "${this.composer.name}" and media_kind is music`},selected_grouping_option_id:{get(){return this.$store.state.composer_tracks_sort},set(e){this.$store.commit(Gh,e)}},tracks(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_albums(){this.show_details_modal=!1,this.$router.push({name:"music-composer-albums",params:{name:this.composer.name}})},play(){V.player_play_expression(this.expression,!0)}}},j9={class:"columns"},q9={class:"column"},W9=["textContent"],G9=["textContent"],K9={class:"buttons is-centered"},Z9=["textContent"],Y9={class:"heading has-text-centered-mobile"},J9=["textContent"],X9=u("span",null," | ",-1),Q9=["textContent"];function eV(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),m=$("modal-dialog-composer"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",j9,[u("div",q9,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.artist.sort.title"))},null,8,W9),y(a,{value:o.selected_grouping_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_grouping_option_id=f),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.composer.name)},null,8,G9)]),"heading-right":E(()=>[u("div",K9,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.composer.shuffle"))},null,8,Z9)])])]),content:E(()=>[u("p",Y9,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_albums&&o.open_albums(...f)),textContent:g(e.$t("page.composer.album-count",{count:s.composer.album_count}))},null,8,J9),X9,u("span",{textContent:g(e.$t("page.composer.track-count",{count:s.composer.track_count}))},null,8,Q9)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(m,{show:s.show_details_modal,composer:s.composer,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","composer"])]),_:1})])}const tV=te(B9,[["render",eV]]),nV={name:"ListComposers",components:{ModalDialogComposer:Im},props:["composers","media_kind","hide_group_title"],data(){return{show_details_modal:!1,selected_composer:{}}},methods:{open_composer(e){this.selected_composer=e,this.$router.push({name:"music-composer-albums",params:{name:e.name}})},open_dialog(e){this.selected_composer=e,this.show_details_modal=!0}}},rV={key:0,class:"mt-6 mb-5 py-2"},sV={class:"media-content is-clipped"},oV=["id","textContent"],iV=["onClick"],aV={class:"media-content is-clickable is-clipped"},lV=["textContent"],uV={class:"media-right"},cV=["onClick"];function dV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-composer");return k(),T(we,null,[(k(!0),T(we,null,ct(n.composers,l=>(k(),T(we,{key:l.itemId},[!l.isItem&&!n.hide_group_title?(k(),T("div",rV,[u("div",sV,[u("span",{id:"index_"+l.groupKey,class:"tag is-info is-light is-small has-text-weight-bold",textContent:g(l.groupKey)},null,8,oV)])])):l.isItem?(k(),T("div",{key:1,class:"media is-align-items-center",onClick:c=>o.open_composer(l.item)},[u("div",aV,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,lV)]),u("div",uV,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,cV)])],8,iV)):M("",!0)],64))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,composer:s.selected_composer,media_kind:n.media_kind,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","composer","media_kind"])]))],64)}const q1=te(nV,[["render",dV]]),Ea={load(e){return V.library_composers("music")},set(e,t){e.composers=new ve(t.data),e.composers.group(Rn("name_sort"))}},mV={name:"PageComposers",components:{ContentWithHeading:et,IndexButtonList:Jn,ListComposers:q1,TabsMusic:cr},beforeRouteEnter(e,t,n){Ea.load(e).then(r=>{n(s=>Ea.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.composers.isEmpty()){n();return}const r=this;Ea.load(e).then(s=>{Ea.set(r,s),n()})},data(){return{composers:new ve}}},fV={class:"fd-page-with-tabs"},pV=["textContent"],hV=["textContent"];function _V(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-composers"),c=$("content-with-heading");return k(),T("div",fV,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.composers.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.composers.title"))},null,8,pV),u("p",{class:"heading",textContent:g(e.$t("page.composers.count",{count:s.composers.total}))},null,8,hV)]),content:E(()=>[y(l,{composers:s.composers},null,8,["composers"])]),_:1})])}const gV=te(mV,[["render",_V]]),yV={name:"ModalDialogDirectory",props:["show","directory"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_expression(`path starts with "${this.directory}" order by path asc`,!1)},queue_add(){this.$emit("close"),V.queue_expression_add(`path starts with "${this.directory}" order by path asc`)},queue_add_next(){this.$emit("close"),V.queue_expression_add_next(`path starts with "${this.directory}" order by path asc`)}}},vV={key:0,class:"modal is-active"},bV={class:"modal-content fd-modal-card"},zV={class:"card"},CV={class:"card-content"},wV=["textContent"],kV={class:"card-footer"},xV=["textContent"],EV=["textContent"],SV=["textContent"];function $V(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",vV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",bV,[u("div",zV,[u("div",CV,[u("p",{class:"title is-4",textContent:g(n.directory)},null,8,wV)]),u("footer",kV,[u("a",{class:"card-footer-item has-text-dark",onClick:t[1]||(t[1]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add"))},null,8,xV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.add-next"))},null,8,EV)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.directory.play"))},null,8,SV)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[4]||(t[4]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const W1=te(yV,[["render",$V]]),AV={name:"ListDirectories",components:{ModalDialogDirectory:W1},props:["directories"],data(){return{show_details_modal:!1,selected_directory:""}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"}},methods:{open_parent_directory(){this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))===""||this.$store.state.config.directories.includes(this.current_directory)?this.$router.push({name:"files"}):this.$router.push({name:"files",query:{directory:this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))}})},open_directory(e){this.$router.push({name:"files",query:{directory:e.path}})},open_dialog(e){this.selected_directory=e.path,this.show_details_modal=!0}}},TV={class:"media-left is-clickable"},OV=u("div",{class:"media-content is-clickable is-clipped"},[u("h1",{class:"title is-6"},"..")],-1),DV={class:"media-right"},PV=["onClick"],IV={class:"media-left is-clickable"},FV={class:"media-content is-clickable is-clipped"},RV=["textContent"],LV=["textContent"],NV={class:"media-right"},MV=["onClick"];function VV(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-directory");return k(),T(we,null,[e.$route.query.directory?(k(),T("div",{key:0,class:"media is-align-items-center",onClick:t[0]||(t[0]=l=>o.open_parent_directory())},[u("figure",TV,[y(i,{class:"icon",name:"subdirectory-arrow-left",size:"16"})]),OV,u("div",DV,[it(e.$slots,"actions")])])):M("",!0),(k(!0),T(we,null,ct(n.directories,l=>(k(),T("div",{key:l.path,class:"media is-align-items-center",onClick:c=>o.open_directory(l)},[u("figure",IV,[y(i,{class:"icon",name:"folder",size:"16"})]),u("div",FV,[u("h1",{class:"title is-6",textContent:g(l.path.substring(l.path.lastIndexOf("/")+1))},null,8,RV),u("h2",{class:"subtitle is-7 has-text-grey",textContent:g(l.path)},null,8,LV)]),u("div",NV,[u("a",{onClick:st(c=>o.open_dialog(l),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,MV)])],8,PV))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,directory:s.selected_directory,onClose:t[1]||(t[1]=l=>s.show_details_modal=!1)},null,8,["show","directory"])]))],64)}const HV=te(AV,[["render",VV]]),UV={name:"ModalDialogPlaylist",props:["show","playlist","uris"],emits:["close"],methods:{play(){this.$emit("close"),V.player_play_uri(this.uris?this.uris:this.playlist.uri,!1)},queue_add(){this.$emit("close"),V.queue_add(this.uris?this.uris:this.playlist.uri)},queue_add_next(){this.$emit("close"),V.queue_add_next(this.uris?this.uris:this.playlist.uri)},open_playlist(){this.$emit("close"),this.$router.push({name:"playlist",params:{id:this.playlist.id}})}}},BV={key:0,class:"modal is-active"},jV={class:"modal-content fd-modal-card"},qV={class:"card"},WV={class:"card-content"},GV={class:"title is-4"},KV=["textContent"],ZV={class:"content is-small"},YV=["textContent"],JV=["textContent"],XV=["textContent"],QV=["textContent"],eH={key:0},tH=["textContent"],nH=["textContent"],rH={key:0,class:"card-footer"},sH=["textContent"],oH=["textContent"],iH=["textContent"];function aH(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",BV,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",jV,[u("div",qV,[u("div",WV,[u("p",GV,[u("a",{class:"has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_playlist&&o.open_playlist(...a)),textContent:g(n.playlist.name)},null,8,KV)]),u("div",ZV,[u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.path"))},null,8,YV),u("span",{class:"title is-6",textContent:g(n.playlist.path)},null,8,JV)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.type"))},null,8,XV),u("span",{class:"title is-6",textContent:g(e.$t("playlist.type."+n.playlist.type))},null,8,QV)]),n.playlist.folder?M("",!0):(k(),T("p",eH,[u("span",{class:"heading",textContent:g(e.$t("dialog.playlist.track-count"))},null,8,tH),u("span",{class:"title is-6",textContent:g(n.playlist.item_count)},null,8,nH)]))])]),n.playlist.folder?M("",!0):(k(),T("footer",rH,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=(...a)=>o.queue_add&&o.queue_add(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add"))},null,8,sH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[3]||(t[3]=(...a)=>o.queue_add_next&&o.queue_add_next(...a))},[y(i,{class:"icon",name:"playlist-play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.add-next"))},null,8,oH)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.playlist.play"))},null,8,iH)])]))])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const G1=te(UV,[["render",aH]]),lH={name:"ListPlaylists",components:{ModalDialogPlaylist:G1},props:["playlists"],data(){return{show_details_modal:!1,selected_playlist:{}}},methods:{open_playlist(e){e.type==="folder"?this.$router.push({name:"playlist-folder",params:{id:e.id}}):this.$router.push({name:"playlist",params:{id:e.id}})},open_dialog(e){this.selected_playlist=e,this.show_details_modal=!0},icon_name(e){return e.type==="folder"?"folder":e.type==="rss"?"rss":"music-box-multiple"}}},uH=["onClick"],cH={class:"media-left is-clickable"},dH={class:"media-content is-clickable is-clipped"},mH=["textContent"],fH={class:"media-right"},pH=["onClick"];function hH(e,t,n,r,s,o){const i=$("mdicon"),a=$("modal-dialog-playlist");return k(),T(we,null,[(k(!0),T(we,null,ct(n.playlists,l=>(k(),T("div",{key:l.itemId,class:"media is-align-items-center",onClick:c=>o.open_playlist(l.item)},[u("figure",cH,[y(i,{class:"icon",name:o.icon_name(l.item),size:"16"},null,8,["name"])]),u("div",dH,[u("h1",{class:"title is-6",textContent:g(l.item.name)},null,8,mH)]),u("div",fH,[u("a",{onClick:st(c=>o.open_dialog(l.item),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,pH)])],8,uH))),128)),(k(),_e(Yr,{to:"#app"},[y(a,{show:s.show_details_modal,playlist:s.selected_playlist,onClose:t[0]||(t[0]=l=>s.show_details_modal=!1)},null,8,["show","playlist"])]))],64)}const Fm=te(lH,[["render",hH]]),Sa={load(e){return e.query.directory?V.library_files(e.query.directory):Promise.resolve()},set(e,t){t?(e.dirs=t.data.directories,e.playlists=new ve(t.data.playlists),e.tracks=new ve(t.data.tracks)):(e.dirs=e.$store.state.config.directories.map(n=>({path:n})),e.playlists=new ve,e.tracks=new ve)}},_H={name:"PageFiles",components:{ContentWithHeading:et,ListDirectories:HV,ListPlaylists:Fm,ListTracks:Cn,ModalDialogDirectory:W1},beforeRouteEnter(e,t,n){Sa.load(e).then(r=>{n(s=>Sa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Sa.load(e).then(s=>{Sa.set(r,s),n()})},data(){return{dirs:[],playlists:new ve,tracks:new ve,show_details_modal:!1}},computed:{current_directory(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"},play_expression(){return`path starts with "${this.current_directory}" order by path asc`}},methods:{play(){V.player_play_expression(this.play_expression,!1)}}},gH=["textContent"],yH=["textContent"],vH={class:"buttons is-centered"},bH=["textContent"];function zH(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-directories"),l=$("list-playlists"),c=$("list-tracks"),m=$("modal-dialog-directory"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.files.title"))},null,8,gH),u("p",{class:"title is-7 has-text-grey",textContent:g(o.current_directory)},null,8,yH)]),"heading-right":E(()=>[u("div",vH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.files.play"))},null,8,bH)])])]),content:E(()=>[y(a,{directories:s.dirs},null,8,["directories"]),y(l,{playlists:s.playlists},null,8,["playlists"]),y(c,{tracks:s.tracks,expression:o.play_expression,show_icon:!0},null,8,["tracks","expression"]),y(m,{show:s.show_details_modal,directory:o.current_directory,onClose:t[2]||(t[2]=f=>s.show_details_modal=!1)},null,8,["show","directory"])]),_:1})])}const CH=te(_H,[["render",zH]]),$a={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_albums(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.albums_list=new ve(t[1].data.albums),e.albums_list.group(Rn("name_sort",!0))}},wH={name:"PageGenreAlbums",components:{ContentWithHeading:et,IndexButtonList:Jn,ListAlbums:ur,ModalDialogGenre:Dm},beforeRouteEnter(e,t,n){$a.load(e).then(r=>{n(s=>$a.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.albums_list.isEmpty()){n();return}const r=this;$a.load(e).then(s=>{$a.set(r,s),n()})},data(){return{albums_list:new ve,genre:{},media_kind:this.$route.query.media_kind,show_details_modal:!1}},methods:{open_tracks(){this.show_details_modal=!1,this.$router.push({name:"genre-tracks",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`,!0)}}},kH=["textContent"],xH={class:"buttons is-centered"},EH=["textContent"],SH={class:"heading has-text-centered-mobile"},$H=["textContent"],AH=u("span",null," | ",-1),TH=["textContent"];function OH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("mdicon"),l=$("list-albums"),c=$("modal-dialog-genre"),m=$("content-with-heading");return k(),T("div",null,[y(m,null,{options:E(()=>[y(i,{index:s.albums_list.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,kH)]),"heading-right":E(()=>[u("div",xH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=d=>s.show_details_modal=!0)},[y(a,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...d)=>o.play&&o.play(...d))},[y(a,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,EH)])])]),content:E(()=>[u("p",SH,[u("span",{textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,$H),AH,u("a",{class:"has-text-link",onClick:t[2]||(t[2]=(...d)=>o.open_tracks&&o.open_tracks(...d)),textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,TH)]),y(l,{albums:s.albums_list},null,8,["albums"]),y(c,{genre:s.genre,media_kind:s.media_kind,show:s.show_details_modal,onClose:t[3]||(t[3]=d=>s.show_details_modal=!1)},null,8,["genre","media_kind","show"])]),_:1})])}const DH=te(wH,[["render",OH]]),Aa={load(e){return Promise.all([V.library_genre(e.params.name,e.query.media_kind),V.library_genre_tracks(e.params.name,e.query.media_kind)])},set(e,t){e.genre=t[0].data,e.tracks_list=new ve(t[1].data.tracks)}},PH={name:"PageGenreTracks",components:{ContentWithHeading:et,ControlDropdown:Ss,IndexButtonList:Jn,ListTracks:Cn,ModalDialogGenre:Dm},beforeRouteEnter(e,t,n){Aa.load(e).then(r=>{n(s=>Aa.set(s,r))})},beforeRouteUpdate(e,t,n){if(!this.tracks_list.isEmpty()){n();return}const r=this;Aa.load(e).then(s=>{Aa.set(r,s),n()})},data(){return{genre:{},grouping_options:[{id:1,name:this.$t("page.genre.sort.name"),options:Rn("title_sort")},{id:2,name:this.$t("page.genre.sort.rating"),options:Em("rating",{direction:"desc"})}],media_kind:this.$route.query.media_kind,show_details_modal:!1,tracks_list:new ve}},computed:{expression(){return`genre is "${this.genre.name}" and media_kind is ${this.media_kind}`},selected_grouping_option_id:{get(){return this.$store.state.genre_tracks_sort},set(e){this.$store.commit(Kh,e)}},tracks(){const e=this.grouping_options.find(t=>t.id===this.selected_grouping_option_id);return this.tracks_list.group(e.options),this.tracks_list}},methods:{open_genre(){this.show_details_modal=!1,this.$router.push({name:"genre-albums",params:{name:this.genre.name},query:{media_kind:this.media_kind}})},play(){V.player_play_expression(this.expression,!0)}}},IH={class:"columns"},FH={class:"column"},RH=["textContent"],LH=["textContent"],NH={class:"buttons is-centered"},MH=["textContent"],VH={class:"heading has-text-centered-mobile"},HH=["textContent"],UH=u("span",null," | ",-1),BH=["textContent"];function jH(e,t,n,r,s,o){const i=$("index-button-list"),a=$("control-dropdown"),l=$("mdicon"),c=$("list-tracks"),m=$("modal-dialog-genre"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{options:E(()=>[y(i,{index:o.tracks.indexList},null,8,["index"]),u("div",IH,[u("div",FH,[u("p",{class:"heading mb-5",textContent:g(e.$t("page.genre.sort.title"))},null,8,RH),y(a,{value:o.selected_grouping_option_id,"onUpdate:value":t[0]||(t[0]=f=>o.selected_grouping_option_id=f),options:s.grouping_options},null,8,["value","options"])])])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.genre.name)},null,8,LH)]),"heading-right":E(()=>[u("div",NH,[u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(l,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[2]||(t[2]=(...f)=>o.play&&o.play(...f))},[y(l,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.genre.shuffle"))},null,8,MH)])])]),content:E(()=>[u("p",VH,[u("a",{class:"has-text-link",onClick:t[3]||(t[3]=(...f)=>o.open_genre&&o.open_genre(...f)),textContent:g(e.$t("page.genre.album-count",{count:s.genre.album_count}))},null,8,HH),UH,u("span",{textContent:g(e.$t("page.genre.track-count",{count:s.genre.track_count}))},null,8,BH)]),y(c,{tracks:o.tracks,expression:o.expression},null,8,["tracks","expression"]),y(m,{show:s.show_details_modal,genre:s.genre,media_kind:s.media_kind,onClose:t[4]||(t[4]=f=>s.show_details_modal=!1)},null,8,["show","genre","media_kind"])]),_:1})])}const qH=te(PH,[["render",jH]]),Ta={load(e){return V.library_genres("music")},set(e,t){e.genres=t.data,e.genres=new ve(t.data),e.genres.group(Rn("name_sort"))}},WH={name:"PageGenres",components:{ContentWithHeading:et,IndexButtonList:Jn,ListGenres:j1,TabsMusic:cr},beforeRouteEnter(e,t,n){Ta.load(e).then(r=>{n(s=>Ta.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ta.load(e).then(s=>{Ta.set(r,s),n()})},data(){return{genres:new ve}}},GH={class:"fd-page-with-tabs"},KH=["textContent"],ZH=["textContent"];function YH(e,t,n,r,s,o){const i=$("tabs-music"),a=$("index-button-list"),l=$("list-genres"),c=$("content-with-heading");return k(),T("div",GH,[y(i),y(c,null,{options:E(()=>[y(a,{index:s.genres.indexList},null,8,["index"])]),"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.genres.title"))},null,8,KH),u("p",{class:"heading",textContent:g(e.$t("page.genres.count",{count:s.genres.total}))},null,8,ZH)]),content:E(()=>[y(l,{genres:s.genres,media_kind:"music"},null,8,["genres"])]),_:1})])}const JH=te(WH,[["render",YH]]),XH={name:"LyricsPane",data(){return this.lastIndex=-1,this.scrollingTimer=null,this.lastItemId=-1,{autoScrolling:!0}},computed:{is_playing(){return this.player.state==="play"},verse_index(){if(this.lyrics.length&&this.lyrics[0].time){const e=this.player.item_progress_ms/1e3,t=this.lyrics,n=this.player.item_id!==this.lastItemId,r=this.lastIndex>=0&&this.lastIndexe;if((n||r)&&this.reset_scrolling(),this.lastIndexe||this.lastIndex===t.length-1)return this.lastIndex;if(this.lastIndexe)return this.lastIndex+1;let s=0,o=t.length-1,i;for(;s<=o;){i=s+o>>1;const a=t[i],l=t[i+1];if(a.time<=e&&((l==null?void 0:l.time)>e||!l))return i;a.time{const o=n.exec(r);if(o&&o[4]){const i={text:o[4],time:o[2]*60+o[3]*1};t.push(i)}}),t.forEach((r,s,o)=>{const a=(s{const m=c.length*a;return l+=m,{duration:m,delay:l,text:c}})})}return t},player(){return this.$store.state.player}},watch:{verse_index(){this.autoScrolling&&this.scroll_to_verse(),this.lastIndex=this.verse_index}},methods:{reset_scrolling(){this.player.item_id!=this.lastItemId&&this.$refs.lyrics&&this.$refs.lyrics.scrollTo(0,0),this.lastItemId=this.player.item_id,this.lastIndex=-1},start_scrolling(e){(e.screenX||e.screenX!=0||e.screenY||e.screenY!=0)&&(this.autoScrolling=!1,this.scrollingTimer&&clearTimeout(this.scrollingTimer),this.scrollingTimer=setTimeout(this.autoScrolling=!0,2e3))},scroll_to_verse(){const e=this.$refs.lyrics;if(this.verse_index===-1){e.scrollTo(0,0);return}const t=e.children[this.verse_index];e.scrollBy({top:t.offsetTop-(e.offsetHeight>>1)+(t.offsetHeight>>1)-e.scrollTop,left:0,behavior:"smooth"})}}},QH=["textContent"],eU={key:1};function tU(e,t,n,r,s,o){return k(),T("div",{ref:"lyrics",class:"lyrics",onTouchstart:t[0]||(t[0]=i=>s.autoScrolling=!1),onTouchend:t[1]||(t[1]=i=>s.autoScrolling=!0),onScrollPassive:t[2]||(t[2]=(...i)=>o.start_scrolling&&o.start_scrolling(...i)),onWheelPassive:t[3]||(t[3]=(...i)=>o.start_scrolling&&o.start_scrolling(...i))},[(k(!0),T(we,null,ct(o.lyrics,(i,a)=>(k(),T(we,{key:a},[a===o.verse_index?(k(),T("div",{key:0,class:Ee({"is-highlighted":o.is_playing})},[(k(!0),T(we,null,ct(i.words,l=>(k(),T("span",{key:l,class:"has-text-weight-bold is-size-5"},[u("span",{style:Zr({"animation-duration":`${l.delay}s`}),textContent:g(l.text)},null,12,QH)]))),128))],2)):(k(),T("div",eU,g(i.text),1))],64))),128))],544)}const nU=te(XH,[["render",tU],["__scopeId","data-v-32f71750"]]),rU={name:"ModalDialogQueueItem",props:["show","item"],emits:["close"],data(){return{spotify_track:{}}},watch:{item(){if(this.item&&this.item.data_kind==="spotify"){const e=new Yn;e.setAccessToken(this.$store.state.spotify.webapi_token),e.getTrack(this.item.path.slice(this.item.path.lastIndexOf(":")+1)).then(t=>{this.spotify_track=t})}else this.spotify_track={}}},methods:{open_album(){this.item.data_kind==="spotify"?this.$router.push({name:"music-spotify-album",params:{id:this.spotify_track.album.id}}):this.item.media_kind==="podcast"?this.$router.push({name:"podcast",params:{id:this.item.album_id}}):this.item.media_kind==="audiobook"?this.$router.push({name:"audiobooks-album",params:{id:this.item.album_id}}):this.item.media_kind==="music"&&this.$router.push({name:"music-album",params:{id:this.item.album_id}})},open_album_artist(){this.item.data_kind==="spotify"?this.$router.push({name:"music-spotify-artist",params:{id:this.spotify_track.artists[0].id}}):this.item.media_kind==="music"||this.item.media_kind==="podcast"?this.$router.push({name:"music-artist",params:{id:this.item.album_artist_id}}):this.item.media_kind==="audiobook"&&this.$router.push({name:"audiobooks-artist",params:{id:this.item.album_artist_id}})},open_genre(){this.$router.push({name:"genre-albums",params:{name:this.item.genre},query:{media_kind:this.item.media_kind}})},play(){this.$emit("close"),V.player_play({item_id:this.item.id})},remove(){this.$emit("close"),V.queue_remove(this.item.id)}}},sU={key:0,class:"modal is-active"},oU={class:"modal-content fd-modal-card"},iU={class:"card"},aU={class:"card-content"},lU=["textContent"],uU=["textContent"],cU={class:"content is-small"},dU={key:0},mU=["textContent"],fU=["textContent"],pU={key:1},hU=["textContent"],_U=["textContent"],gU={key:2},yU=["textContent"],vU=["textContent"],bU={key:3},zU=["textContent"],CU=["textContent"],wU={key:4},kU=["textContent"],xU=["textContent"],EU={key:5},SU=["textContent"],$U=["textContent"],AU={key:6},TU=["textContent"],OU=["textContent"],DU=["textContent"],PU=["textContent"],IU=["textContent"],FU={class:"title is-6"},RU=["textContent"],LU={key:7},NU=["textContent"],MU={class:"title is-6"},VU=["textContent"],HU=["textContent"],UU=["textContent"],BU=["textContent"],jU={class:"card-footer"},qU=["textContent"],WU=["textContent"];function GU(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",sU,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",oU,[u("div",iU,[u("div",aU,[u("p",{class:"title is-4",textContent:g(n.item.title)},null,8,lU),u("p",{class:"subtitle",textContent:g(n.item.artist)},null,8,uU),u("div",cU,[n.item.album?(k(),T("p",dU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.album"))},null,8,mU),u("a",{class:"title is-6 has-text-link",onClick:t[1]||(t[1]=(...a)=>o.open_album&&o.open_album(...a)),textContent:g(n.item.album)},null,8,fU)])):M("",!0),n.item.album_artist?(k(),T("p",pU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.album-artist"))},null,8,hU),u("a",{class:"title is-6 has-text-link",onClick:t[2]||(t[2]=(...a)=>o.open_album_artist&&o.open_album_artist(...a)),textContent:g(n.item.album_artist)},null,8,_U)])):M("",!0),n.item.composer?(k(),T("p",gU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.composer"))},null,8,yU),u("span",{class:"title is-6",textContent:g(n.item.composer)},null,8,vU)])):M("",!0),n.item.year?(k(),T("p",bU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.year"))},null,8,zU),u("span",{class:"title is-6",textContent:g(n.item.year)},null,8,CU)])):M("",!0),n.item.genre?(k(),T("p",wU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.genre"))},null,8,kU),u("a",{class:"title is-6 has-text-link",onClick:t[3]||(t[3]=(...a)=>o.open_genre&&o.open_genre(...a)),textContent:g(n.item.genre)},null,8,xU)])):M("",!0),n.item.disc_number?(k(),T("p",EU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.position"))},null,8,SU),u("span",{class:"title is-6",textContent:g([n.item.disc_number,n.item.track_number].join(" / "))},null,8,$U)])):M("",!0),n.item.length_ms?(k(),T("p",AU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.duration"))},null,8,TU),u("span",{class:"title is-6",textContent:g(e.$filters.durationInHours(n.item.length_ms))},null,8,OU)])):M("",!0),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.path"))},null,8,DU),u("span",{class:"title is-6",textContent:g(n.item.path)},null,8,PU)]),u("p",null,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.type"))},null,8,IU),u("span",FU,[u("span",{textContent:g([e.$t("media.kind."+n.item.media_kind),e.$t("data.kind."+n.item.data_kind)].join(" - "))},null,8,RU)])]),n.item.samplerate?(k(),T("p",LU,[u("span",{class:"heading",textContent:g(e.$t("dialog.queue-item.quality"))},null,8,NU),u("span",MU,[u("span",{textContent:g(n.item.type)},null,8,VU),n.item.samplerate?(k(),T("span",{key:0,textContent:g(e.$t("dialog.queue-item.samplerate",{rate:n.item.samplerate}))},null,8,HU)):M("",!0),n.item.channels?(k(),T("span",{key:1,textContent:g(e.$t("dialog.queue-item.channels",{channels:e.$filters.channels(n.item.channels)}))},null,8,UU)):M("",!0),n.item.bitrate?(k(),T("span",{key:2,textContent:g(e.$t("dialog.queue-item.bitrate",{rate:n.item.bitrate}))},null,8,BU)):M("",!0)])])):M("",!0)])]),u("footer",jU,[u("a",{class:"card-footer-item has-text-dark",onClick:t[4]||(t[4]=(...a)=>o.remove&&o.remove(...a))},[y(i,{class:"icon",name:"delete",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.queue-item.remove"))},null,8,qU)]),u("a",{class:"card-footer-item has-text-dark",onClick:t[5]||(t[5]=(...a)=>o.play&&o.play(...a))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.queue-item.play"))},null,8,WU)])])])]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[6]||(t[6]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const K1=te(rU,[["render",GU]]),Or=1e3,KU={name:"PageNowPlaying",components:{ControlSlider:Kd,CoverArtwork:Fn,LyricsPane:nU,ModalDialogQueueItem:K1},data(){return{cursor:Kl,INTERVAL:Or,interval_id:0,is_dragged:!1,selected_item:{},show_details_modal:!1}},computed:{is_live(){return this.track.length_ms===0},lyrics_visible(){return this.$store.state.lyrics.pane},player(){return this.$store.state.player},track(){return this.$store.getters.now_playing},track_progress:{get(){return Math.floor(this.player.item_progress_ms/Or)},set(e){this.player.item_progress_ms=e*Or}},track_progress_max(){return this.is_live?1:Math.floor(this.track.length_ms/Or)},track_elapsed_time(){return this.$filters.durationInHours(this.track_progress*Or)},track_total_time(){return this.is_live?this.$t("page.now-playing.live"):this.$filters.durationInHours(this.track.length_ms)},settings_option_show_composer_now_playing(){return this.$store.getters.settings_option_show_composer_now_playing},settings_option_show_composer_for_genre(){return this.$store.getters.settings_option_show_composer_for_genre},composer(){return this.settings_option_show_composer_now_playing&&(!this.settings_option_show_composer_for_genre||this.track.genre&&this.settings_option_show_composer_for_genre.toLowerCase().split(",").findIndex(e=>this.track.genre.toLowerCase().indexOf(e.trim())>=0)>=0)?this.track.composer:null},settings_option_show_filepath_now_playing(){return this.$store.getters.settings_option_show_filepath_now_playing},filepath(){return this.settings_option_show_filepath_now_playing?this.track.path:null}},watch:{player(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0),this.player.state==="play"&&(this.interval_id=window.setInterval(this.tick,Or))}},created(){V.player_status().then(({data:e})=>{this.$store.commit(fd,e),this.player.state==="play"&&(this.interval_id=window.setInterval(this.tick,Or))})},unmounted(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0)},methods:{tick(){this.is_dragged||(this.track_progress+=1)},start_dragging(){this.is_dragged=!0},end_dragging(){this.is_dragged=!1},seek(){this.is_live||V.player_seek_to_pos(this.track_progress*Or)},open_dialog(e){this.selected_item=e,this.show_details_modal=!0}}},ZU={class:"hero is-full-height"},YU={key:0,class:"hero-body is-flex is-align-items-center"},JU={class:"container has-text-centered",style:{"max-width":"500px"}},XU={class:"is-flex is-justify-content-space-between"},QU=["textContent"],eB=["textContent"],tB=["textContent"],nB=["textContent"],rB=["textContent"],sB=["textContent"],oB=["textContent"],iB={key:1,class:"hero-body is-flex is-align-items-center"},aB={class:"container has-text-centered"},lB=["textContent"],uB=["textContent"];function cB(e,t,n,r,s,o){const i=$("cover-artwork"),a=$("lyrics-pane"),l=$("control-slider"),c=$("modal-dialog-queue-item");return k(),T("div",ZU,[o.track.id>0?(k(),T("div",YU,[u("div",JU,[y(i,{artwork_url:o.track.artwork_url,artist:o.track.artist,album:o.track.album,class:Ee(["is-clickable fd-has-shadow fd-cover-big-image",{"is-masked":o.lyrics_visible}]),onClick:t[0]||(t[0]=m=>o.open_dialog(o.track))},null,8,["artwork_url","artist","album","class"]),o.lyrics_visible?(k(),_e(a,{key:0})):M("",!0),y(l,{value:o.track_progress,"onUpdate:value":t[1]||(t[1]=m=>o.track_progress=m),class:"mt-5",disabled:o.is_live,max:o.track_progress_max,cursor:s.cursor,onChange:o.seek,onMousedown:o.start_dragging,onMouseup:o.end_dragging},null,8,["value","disabled","max","cursor","onChange","onMousedown","onMouseup"]),u("div",XU,[u("p",{class:"subtitle is-7",textContent:g(o.track_elapsed_time)},null,8,QU),u("p",{class:"subtitle is-7",textContent:g(o.track_total_time)},null,8,eB)]),u("p",{class:"title is-5",textContent:g(o.track.title)},null,8,tB),u("p",{class:"title is-6",textContent:g(o.track.artist)},null,8,nB),o.composer?(k(),T("p",{key:1,class:"subtitle is-6 has-text-grey has-text-weight-bold",textContent:g(o.composer)},null,8,rB)):M("",!0),o.track.album?(k(),T("p",{key:2,class:"subtitle is-6",textContent:g(o.track.album)},null,8,sB)):M("",!0),o.filepath?(k(),T("p",{key:3,class:"subtitle is-6 has-text-grey",textContent:g(o.filepath)},null,8,oB)):M("",!0)])])):(k(),T("div",iB,[u("div",aB,[u("p",{class:"title is-5",textContent:g(e.$t("page.now-playing.title"))},null,8,lB),u("p",{class:"subtitle",textContent:g(e.$t("page.now-playing.info"))},null,8,uB)])])),y(c,{show:s.show_details_modal,item:s.selected_item,onClose:t[2]||(t[2]=m=>s.show_details_modal=!1)},null,8,["show","item"])])}const dB=te(KU,[["render",cB]]),Oa={load(e){return Promise.all([V.library_playlist(e.params.id),V.library_playlist_folder(e.params.id)])},set(e,t){e.playlist=t[0].data,e.playlists_list=new ve(t[1].data)}},mB={name:"PagePlaylistFolder",components:{ContentWithHeading:et,ListPlaylists:Fm},beforeRouteEnter(e,t,n){Oa.load(e).then(r=>{n(s=>Oa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Oa.load(e).then(s=>{Oa.set(r,s),n()})},data(){return{playlist:{},playlists_list:new ve}},computed:{playlists(){return this.playlists_list.group(xm(),[e=>e.folder||this.radio_playlists||e.stream_count===0||e.item_count>e.stream_count]),this.playlists_list},radio_playlists(){return this.$store.state.config.radio_playlists}}},fB=["textContent"],pB=["textContent"];function hB(e,t,n,r,s,o){const i=$("list-playlists"),a=$("content-with-heading");return k(),T("div",null,[y(a,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(s.playlist.id===0?e.$t("page.playlists.title"):s.playlist.name)},null,8,fB),u("p",{class:"heading",textContent:g(e.$t("page.playlists.count",{count:o.playlists.count}))},null,8,pB)]),content:E(()=>[y(i,{playlists:o.playlists},null,8,["playlists"])]),_:1})])}const _B=te(mB,[["render",hB]]),Da={load(e){return Promise.all([V.library_playlist(e.params.id),V.library_playlist_tracks(e.params.id)])},set(e,t){e.playlist=t[0].data,e.tracks=new ve(t[1].data)}},gB={name:"PagePlaylistTracks",components:{ContentWithHeading:et,ListTracks:Cn,ModalDialogPlaylist:G1},beforeRouteEnter(e,t,n){Da.load(e).then(r=>{n(s=>Da.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Da.load(e).then(s=>{Da.set(r,s),n()})},data(){return{playlist:{},show_details_modal:!1,tracks:new ve}},computed:{uris(){return this.playlist.random?this.tracks.map(e=>e.uri).join(","):this.playlist.uri}},methods:{play(){V.player_play_uri(this.uris,!0)}}},yB=["textContent"],vB={class:"buttons is-centered"},bB=["textContent"],zB=["textContent"];function CB(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-tracks"),l=$("modal-dialog-playlist"),c=$("content-with-heading");return k(),T("div",null,[y(c,null,{"heading-left":E(()=>[u("div",{class:"title is-4",textContent:g(s.playlist.name)},null,8,yB)]),"heading-right":E(()=>[u("div",vB,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=m=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...m)=>o.play&&o.play(...m))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.playlist.shuffle"))},null,8,bB)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.playlist.track-count",{count:s.tracks.count}))},null,8,zB),y(a,{tracks:s.tracks,uris:o.uris},null,8,["tracks","uris"]),y(l,{show:s.show_details_modal,playlist:s.playlist,uris:o.uris,onClose:t[2]||(t[2]=m=>s.show_details_modal=!1)},null,8,["show","playlist","uris"])]),_:1})])}const wB=te(gB,[["render",CB]]),ad=50,Pa={load(e){const t=new Yn;return t.setAccessToken(He.state.spotify.webapi_token),Promise.all([t.getPlaylist(e.params.id),t.getPlaylistTracks(e.params.id,{limit:ad,offset:0,market:He.state.spotify.webapi_country})])},set(e,t){e.playlist=t[0],e.tracks=[],e.total=0,e.offset=0,e.append_tracks(t[1])}},kB={name:"PagePlaylistTracksSpotify",components:{ContentWithHeading:et,ListItemTrackSpotify:Sm,ModalDialogPlaylistSpotify:pu,ModalDialogTrackSpotify:$m,VueEternalLoading:Am},beforeRouteEnter(e,t,n){Pa.load(e).then(r=>{n(s=>Pa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Pa.load(e).then(s=>{Pa.set(r,s),n()})},data(){return{playlist:{tracks:{}},tracks:[],total:0,offset:0,show_track_details_modal:!1,selected_track:{},show_playlist_details_modal:!1}},methods:{load_next({loaded:e}){const t=new Yn;t.setAccessToken(this.$store.state.spotify.webapi_token),t.getPlaylistTracks(this.playlist.id,{limit:ad,offset:this.offset,market:He.state.spotify.webapi_country}).then(n=>{this.append_tracks(n),e(n.items.length,ad)})},append_tracks(e){let t=Math.max(-1,...this.tracks.map(n=>n.position).filter(n=>n));e.items.forEach(n=>{const{track:r}=n;r&&(r.is_playable&&(r.position=++t),this.tracks.push(r))}),this.total=e.total,this.offset+=e.limit},play(){this.show_details_modal=!1,V.player_play_uri(this.playlist.uri,!0)},open_track_dialog(e){this.selected_track=e,this.show_track_details_modal=!0}}},xB=["textContent"],EB={class:"buttons is-centered"},SB=["textContent"],$B=["textContent"],AB=["onClick"],TB={class:"columns is-centered"},OB={class:"column has-text-centered"};function DB(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-item-track-spotify"),l=$("VueEternalLoading"),c=$("modal-dialog-track-spotify"),m=$("modal-dialog-playlist-spotify"),d=$("content-with-heading");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("div",{class:"title is-4",textContent:g(s.playlist.name)},null,8,xB)]),"heading-right":E(()=>[u("div",EB,[u("a",{class:"button is-small is-light is-rounded",onClick:t[0]||(t[0]=f=>s.show_playlist_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})]),u("a",{class:"button is-small is-dark is-rounded",onClick:t[1]||(t[1]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"shuffle",size:"16"}),u("span",{textContent:g(e.$t("page.spotify.playlist.shuffle"))},null,8,SB)])])]),content:E(()=>[u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.spotify.playlist.count",{count:s.playlist.tracks.total}))},null,8,$B),(k(!0),T(we,null,ct(s.tracks,f=>(k(),_e(a,{key:f.id,track:f,position:f.position,context_uri:s.playlist.uri},{actions:E(()=>[u("a",{onClick:st(p=>o.open_track_dialog(f),["prevent","stop"])},[y(i,{class:"icon has-text-dark",name:"dots-vertical",size:"16"})],8,AB)]),_:2},1032,["track","position","context_uri"]))),128)),s.offset[u("div",TB,[u("div",OB,[y(i,{class:"icon mdi-spin",name:"loading"})])])]),"no-more":E(()=>[gt(" ")]),_:1},8,["load"])):M("",!0),y(c,{show:s.show_track_details_modal,track:s.selected_track,album:s.selected_track.album,onClose:t[2]||(t[2]=f=>s.show_track_details_modal=!1)},null,8,["show","track","album"]),y(m,{show:s.show_playlist_details_modal,playlist:s.playlist,onClose:t[3]||(t[3]=f=>s.show_playlist_details_modal=!1)},null,8,["show","playlist"])]),_:1})])}const PB=te(kB,[["render",DB]]),Ia={load(e){return Promise.all([V.library_album(e.params.id),V.library_podcast_episodes(e.params.id)])},set(e,t){e.album=t[0].data,e.tracks=new ve(t[1].data.tracks)}},IB={name:"PagePodcast",components:{ContentWithHero:cu,CoverArtwork:Fn,ListTracks:Cn,ModalDialog:cm,ModalDialogAlbum:du},beforeRouteEnter(e,t,n){Ia.load(e).then(r=>{n(s=>Ia.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ia.load(e).then(s=>{Ia.set(r,s),n()})},data(){return{album:{},rss_playlist_to_remove:{},show_details_modal:!1,show_remove_podcast_modal:!1,tracks:new ve}},computed:{new_tracks(){return this.tracks.items.filter(e=>e.play_count===0).length}},methods:{open_remove_podcast_dialog(){V.library_track_playlists(this.tracks.items[0].id).then(({data:e})=>{[this.rss_playlist_to_remove]=e.items.filter(t=>t.type==="rss"),this.show_remove_podcast_modal=!0,this.show_details_modal=!1})},play(){V.player_play_uri(this.album.uri,!1)},reload_tracks(){V.library_podcast_episodes(this.album.id).then(({data:e})=>{this.tracks=new ve(e.tracks)})},remove_podcast(){this.show_remove_podcast_modal=!1,V.library_playlist_delete(this.rss_playlist_to_remove.id).then(()=>{this.$router.replace({name:"podcasts"})})}}},FB=["textContent"],RB=u("h2",{class:"subtitle is-6"}," ",-1),LB={class:"buttons fd-is-centered-mobile mt-5"},NB=["textContent"],MB=["textContent"],VB=["textContent"],HB={class:"is-size-7"},UB=["textContent"],BB=["textContent"];function jB(e,t,n,r,s,o){const i=$("mdicon"),a=$("cover-artwork"),l=$("list-tracks"),c=$("modal-dialog-album"),m=$("modal-dialog"),d=$("content-with-hero");return k(),T("div",null,[y(d,null,{"heading-left":E(()=>[u("h1",{class:"title is-5",textContent:g(s.album.name)},null,8,FB),RB,u("div",LB,[u("a",{class:"button is-small is-dark is-rounded",onClick:t[0]||(t[0]=(...f)=>o.play&&o.play(...f))},[y(i,{class:"icon",name:"play",size:"16"}),u("span",{textContent:g(e.$t("page.podcast.play"))},null,8,NB)]),u("a",{class:"button is-small is-light is-rounded",onClick:t[1]||(t[1]=f=>s.show_details_modal=!0)},[y(i,{class:"icon",name:"dots-horizontal",size:"16"})])])]),"heading-right":E(()=>[y(a,{artwork_url:s.album.artwork_url,artist:s.album.artist,album:s.album.name,class:"is-clickable fd-has-shadow fd-cover fd-cover-medium-image",onClick:t[2]||(t[2]=f=>s.show_details_modal=!0)},null,8,["artwork_url","artist","album"])]),content:E(()=>[u("p",{class:"heading is-7 has-text-centered-mobile mt-5",textContent:g(e.$t("page.podcast.track-count",{count:s.album.track_count}))},null,8,MB),y(l,{tracks:s.tracks,show_progress:!0,onPlayCountChanged:o.reload_tracks},null,8,["tracks","onPlayCountChanged"]),y(c,{show:s.show_details_modal,album:s.album,media_kind:"podcast",new_tracks:o.new_tracks,onClose:t[3]||(t[3]=f=>s.show_details_modal=!1),onPlayCountChanged:o.reload_tracks,onRemovePodcast:o.open_remove_podcast_dialog},null,8,["show","album","new_tracks","onPlayCountChanged","onRemovePodcast"]),y(m,{show:s.show_remove_podcast_modal,title:e.$t("page.podcast.remove-podcast"),delete_action:e.$t("page.podcast.remove"),onClose:t[4]||(t[4]=f=>s.show_remove_podcast_modal=!1),onDelete:o.remove_podcast},{"modal-content":E(()=>[u("p",{textContent:g(e.$t("page.podcast.remove-info-1"))},null,8,VB),u("p",HB,[gt(" ("),u("span",{textContent:g(e.$t("page.podcast.remove-info-2"))},null,8,UB),u("b",{textContent:g(s.rss_playlist_to_remove.name)},null,8,BB),gt(") ")])]),_:1},8,["show","title","delete_action","onDelete"])]),_:1})])}const qB=te(IB,[["render",jB]]),WB={name:"ModalDialogAddRss",props:["show"],emits:["close","podcast-added"],data(){return{url:"",loading:!1}},watch:{show(){this.show&&(this.loading=!1,setTimeout(()=>{this.$refs.url_field.focus()},10))}},methods:{add_stream(){this.loading=!0,V.library_add(this.url).then(()=>{this.$emit("close"),this.$emit("podcast-added"),this.url=""}).catch(()=>{this.loading=!1})}}},GB={key:0,class:"modal is-active"},KB={class:"modal-content fd-modal-card"},ZB={class:"card-content"},YB=["textContent"],JB={class:"field"},XB={class:"control has-icons-left"},QB=["placeholder","disabled"],ej=["textContent"],tj={key:0,class:"card-footer"},nj={class:"card-footer-item has-text-dark"},rj=["textContent"],sj={key:1,class:"card-footer is-clipped"},oj=["textContent"],ij=["textContent"];function aj(e,t,n,r,s,o){const i=$("mdicon");return k(),T("div",null,[y(It,{name:"fade"},{default:E(()=>[n.show?(k(),T("div",GB,[u("div",{class:"modal-background",onClick:t[0]||(t[0]=a=>e.$emit("close"))}),u("div",KB,[u("form",{class:"card",onSubmit:t[4]||(t[4]=st((...a)=>o.add_stream&&o.add_stream(...a),["prevent"]))},[u("div",ZB,[u("p",{class:"title is-4",textContent:g(e.$t("dialog.add.rss.title"))},null,8,YB),u("div",JB,[u("p",XB,[yt(u("input",{ref:"url_field","onUpdate:modelValue":t[1]||(t[1]=a=>s.url=a),class:"input is-shadowless",type:"url",pattern:"http[s]?://.*",required:"",placeholder:e.$t("dialog.add.rss.placeholder"),disabled:s.loading},null,8,QB),[[dn,s.url]]),y(i,{class:"icon is-left",name:"rss",size:"16"})]),u("p",{class:"help",textContent:g(e.$t("dialog.add.rss.help"))},null,8,ej)])]),s.loading?(k(),T("footer",tj,[u("a",nj,[y(i,{class:"icon",name:"web",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.processing"))},null,8,rj)])])):(k(),T("footer",sj,[u("a",{class:"card-footer-item has-text-dark",onClick:t[2]||(t[2]=a=>e.$emit("close"))},[y(i,{class:"icon",name:"cancel",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.cancel"))},null,8,oj)]),u("a",{class:"card-footer-item has-background-info has-text-white has-text-weight-bold",onClick:t[3]||(t[3]=(...a)=>o.add_stream&&o.add_stream(...a))},[y(i,{class:"icon",name:"playlist-plus",size:"16"}),u("span",{class:"is-size-7",textContent:g(e.$t("dialog.add.rss.add"))},null,8,ij)])]))],32)]),u("button",{class:"modal-close is-large","aria-label":"close",onClick:t[5]||(t[5]=a=>e.$emit("close"))})])):M("",!0)]),_:1})])}const lj=te(WB,[["render",aj]]),Fa={load(e){return Promise.all([V.library_albums("podcast"),V.library_podcasts_new_episodes()])},set(e,t){e.albums=new ve(t[0].data),e.new_episodes=new ve(t[1].data.tracks)}},uj={name:"PagePodcasts",components:{ContentWithHeading:et,ListTracks:Cn,ListAlbums:ur,ModalDialogAddRss:lj},beforeRouteEnter(e,t,n){Fa.load(e).then(r=>{n(s=>Fa.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Fa.load(e).then(s=>{Fa.set(r,s),n()})},data(){return{albums:[],new_episodes:{items:[]},show_url_modal:!1}},computed:{rss(){return this.$store.state.rss_count}},methods:{mark_all_played(){this.new_episodes.items.forEach(e=>{V.library_track_update(e.id,{play_count:"increment"})}),this.new_episodes.items={}},open_add_podcast_dialog(e){this.show_url_modal=!0},reload_new_episodes(){V.library_podcasts_new_episodes().then(({data:e})=>{this.new_episodes=new ve(e.tracks)})},reload_podcasts(){V.library_albums("podcast").then(({data:e})=>{this.albums=new ve(e),this.reload_new_episodes()})},update_rss(){this.$store.commit(_d,"rss"),this.$store.commit(zi,!0)}}},cj=["textContent"],dj={class:"buttons is-centered"},mj=["textContent"],fj=["textContent"],pj=["textContent"],hj={class:"buttons is-centered"},_j=["textContent"],gj=["textContent"];function yj(e,t,n,r,s,o){const i=$("mdicon"),a=$("list-tracks"),l=$("content-with-heading"),c=$("list-albums"),m=$("modal-dialog-add-rss");return k(),T("div",null,[s.new_episodes.items.length>0?(k(),_e(l,{key:0},{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.podcasts.new-episodes"))},null,8,cj)]),"heading-right":E(()=>[u("div",dj,[u("a",{class:"button is-small",onClick:t[0]||(t[0]=(...d)=>o.mark_all_played&&o.mark_all_played(...d))},[y(i,{class:"icon",name:"pencil",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.mark-all-played"))},null,8,mj)])])]),content:E(()=>[y(a,{tracks:s.new_episodes,show_progress:!0,onPlayCountChanged:o.reload_new_episodes},null,8,["tracks","onPlayCountChanged"])]),_:1})):M("",!0),y(l,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.podcasts.title"))},null,8,fj),u("p",{class:"heading",textContent:g(e.$t("page.podcasts.count",{count:s.albums.total}))},null,8,pj)]),"heading-right":E(()=>[u("div",hj,[o.rss.tracks>0?(k(),T("a",{key:0,class:"button is-small",onClick:t[1]||(t[1]=(...d)=>o.update_rss&&o.update_rss(...d))},[y(i,{class:"icon",name:"refresh",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.update"))},null,8,_j)])):M("",!0),u("a",{class:"button is-small",onClick:t[2]||(t[2]=(...d)=>o.open_add_podcast_dialog&&o.open_add_podcast_dialog(...d))},[y(i,{class:"icon",name:"rss",size:"16"}),u("span",{textContent:g(e.$t("page.podcasts.add"))},null,8,gj)])])]),content:E(()=>[y(c,{albums:s.albums,onPlayCountChanged:t[3]||(t[3]=d=>o.reload_new_episodes()),onPodcastDeleted:t[4]||(t[4]=d=>o.reload_podcasts())},null,8,["albums"]),y(m,{show:s.show_url_modal,onClose:t[5]||(t[5]=d=>s.show_url_modal=!1),onPodcastAdded:t[6]||(t[6]=d=>o.reload_podcasts())},null,8,["show"])]),_:1})])}const vj=te(uj,[["render",yj]]),Ra={load(e){return V.library_radio_streams()},set(e,t){e.tracks=new ve(t.data.tracks)}},bj={name:"PageRadioStreams",components:{ContentWithHeading:et,ListTracks:Cn},beforeRouteEnter(e,t,n){Ra.load(e).then(r=>{n(s=>Ra.set(s,r))})},beforeRouteUpdate(e,t,n){const r=this;Ra.load(e).then(s=>{Ra.set(r,s),n()})},data(){return{tracks:new ve}}},zj=["textContent"],Cj=["textContent"];function wj(e,t,n,r,s,o){const i=$("list-tracks"),a=$("content-with-heading");return k(),T("div",null,[y(a,null,{"heading-left":E(()=>[u("p",{class:"title is-4",textContent:g(e.$t("page.radio.title"))},null,8,zj),u("p",{class:"heading has-text-centered-mobile",textContent:g(e.$t("page.radio.count",{count:s.tracks.total}))},null,8,Cj)]),content:E(()=>[y(i,{tracks:s.tracks},null,8,["tracks"])]),_:1})])}const kj=te(bj,[["render",wj]]);var Z1={exports:{}};/**! * Sortable 1.14.0 * @author RubaXa