(function(t){function s(s){for(var e,o,l=s[0],r=s[1],c=s[2],u=0,p=[];u-1:t.rescan_metadata},on:{change:function(s){var a=t.rescan_metadata,e=s.target,i=!!e.checked;if(Array.isArray(a)){var n=null,o=t._i(a,n);e.checked?o<0&&(t.rescan_metadata=a.concat([n])):o>-1&&(t.rescan_metadata=a.slice(0,o).concat(a.slice(o+1)))}else t.rescan_metadata=i}}}),t._v(" Rescan metadata for unmodified files ")])])])])],2),a("div",{directives:[{name:"show",rawName:"v-show",value:t.show_settings_menu,expression:"show_settings_menu"}],staticClass:"is-overlay",staticStyle:{"z-index":"10",width:"100vw",height:"100vh"},on:{click:function(s){t.show_settings_menu=!1}}})],1)}),r=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{staticClass:"navbar-link is-arrowless"},[a("span",{staticClass:"icon is-hidden-touch"},[a("i",{staticClass:"mdi mdi-24px mdi-menu"})]),a("span",{staticClass:"is-hidden-desktop has-text-weight-bold"},[t._v("forked-daapd")])])}],c=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{staticClass:"navbar-item",class:{"is-active":t.is_active},attrs:{href:t.full_path()},on:{click:function(s){return s.stopPropagation(),s.preventDefault(),t.open_link()}}},[t._t("default")],2)},d=[],u=(a("2ca0"),"UPDATE_CONFIG"),p="UPDATE_SETTINGS",_="UPDATE_SETTINGS_OPTION",m="UPDATE_LIBRARY_STATS",h="UPDATE_LIBRARY_AUDIOBOOKS_COUNT",f="UPDATE_LIBRARY_PODCASTS_COUNT",v="UPDATE_OUTPUTS",y="UPDATE_PLAYER_STATUS",b="UPDATE_QUEUE",g="UPDATE_LASTFM",k="UPDATE_SPOTIFY",C="UPDATE_PAIRING",w="SPOTIFY_NEW_RELEASES",x="SPOTIFY_FEATURED_PLAYLISTS",$="ADD_NOTIFICATION",q="DELETE_NOTIFICATION",A="ADD_RECENT_SEARCH",S="HIDE_SINGLES",j="HIDE_SPOTIFY",P="ARTISTS_SORT",O="ARTIST_ALBUMS_SORT",T="ALBUMS_SORT",L="SHOW_ONLY_NEXT_ITEMS",E="SHOW_BURGER_MENU",I="SHOW_PLAYER_MENU",z={name:"NavbarItemLink",props:{to:String,exact:Boolean},computed:{is_active:function(){return this.exact?this.$route.path===this.to:this.$route.path.startsWith(this.to)},show_player_menu:{get:function(){return this.$store.state.show_player_menu},set:function(t){this.$store.commit(I,t)}},show_burger_menu:{get:function(){return this.$store.state.show_burger_menu},set:function(t){this.$store.commit(E,t)}}},methods:{open_link:function(){this.show_burger_menu&&this.$store.commit(E,!1),this.show_player_menu&&this.$store.commit(I,!1),this.$router.push({path:this.to})},full_path:function(){var t=this.$router.resolve(this.to);return t.href}}},D=z,N=a("2877"),R=Object(N["a"])(D,c,d,!1,null,null,null),M=R.exports,U=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[t.title?a("p",{staticClass:"title is-4"},[t._v(" "+t._s(t.title)+" ")]):t._e(),t._t("modal-content")],2),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:function(s){return t.$emit("close")}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-cancel"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v(t._s(t.close_action?t.close_action:"Cancel"))])]),t.delete_action?a("a",{staticClass:"card-footer-item has-background-danger has-text-white has-text-weight-bold",on:{click:function(s){return t.$emit("delete")}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-delete"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v(t._s(t.delete_action))])]):t._e(),t.ok_action?a("a",{staticClass:"card-footer-item has-background-info has-text-white has-text-weight-bold",on:{click:function(s){return t.$emit("ok")}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-check"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v(t._s(t.ok_action))])]):t._e()])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},H=[],W={name:"ModalDialog",props:["show","title","ok_action","delete_action","close_action"]},B=W,F=Object(N["a"])(B,U,H,!1,null,null,null),G=F.exports,Y=(a("b0c0"),a("d3b7"),a("bc3a")),V=a.n(Y),Q=(a("7db0"),a("c740"),a("c975"),a("a434"),a("ade3")),J=a("2f62");i["a"].use(J["a"]);var K=new J["a"].Store({state:{config:{websocket_port:0,version:"",buildoptions:[]},settings:{categories:[]},library:{artists:0,albums:0,songs:0,db_playtime:0,updating:!1},audiobooks_count:{},podcasts_count:{},outputs:[],player:{state:"stop",repeat:"off",consume:!1,shuffle:!1,volume:0,item_id:0,item_length_ms:0,item_progress_ms:0},queue:{version:0,count:0,items:[]},lastfm:{},spotify:{},pairing:{},spotify_new_releases:[],spotify_featured_playlists:[],notifications:{next_id:1,list:[]},recent_searches:[],hide_singles:!1,hide_spotify:!1,artists_sort:"Name",artist_albums_sort:"Name",albums_sort:"Name",show_only_next_items:!1,show_burger_menu:!1,show_player_menu:!1},getters:{now_playing:function(t){var s=t.queue.items.find((function(s){return s.id===t.player.item_id}));return void 0===s?{}:s},settings_webinterface:function(t){return t.settings?t.settings.categories.find((function(t){return"webinterface"===t.name})):null},settings_option_show_composer_now_playing:function(t,s){if(s.settings_webinterface){var a=s.settings_webinterface.options.find((function(t){return"show_composer_now_playing"===t.name}));if(a)return a.value}return!1},settings_option_show_composer_for_genre:function(t,s){if(s.settings_webinterface){var a=s.settings_webinterface.options.find((function(t){return"show_composer_for_genre"===t.name}));if(a)return a.value}return null},settings_category:function(t){return function(s){return t.settings.categories.find((function(t){return t.name===s}))}},settings_option:function(t){return function(s,a){var e=t.settings.categories.find((function(t){return t.name===s}));return e?e.options.find((function(t){return t.name===a})):{}}}},mutations:(e={},Object(Q["a"])(e,u,(function(t,s){t.config=s})),Object(Q["a"])(e,p,(function(t,s){t.settings=s})),Object(Q["a"])(e,_,(function(t,s){var a=t.settings.categories.find((function(t){return t.name===s.category})),e=a.options.find((function(t){return t.name===s.name}));e.value=s.value})),Object(Q["a"])(e,m,(function(t,s){t.library=s})),Object(Q["a"])(e,h,(function(t,s){t.audiobooks_count=s})),Object(Q["a"])(e,f,(function(t,s){t.podcasts_count=s})),Object(Q["a"])(e,v,(function(t,s){t.outputs=s})),Object(Q["a"])(e,y,(function(t,s){t.player=s})),Object(Q["a"])(e,b,(function(t,s){t.queue=s})),Object(Q["a"])(e,g,(function(t,s){t.lastfm=s})),Object(Q["a"])(e,k,(function(t,s){t.spotify=s})),Object(Q["a"])(e,C,(function(t,s){t.pairing=s})),Object(Q["a"])(e,w,(function(t,s){t.spotify_new_releases=s})),Object(Q["a"])(e,x,(function(t,s){t.spotify_featured_playlists=s})),Object(Q["a"])(e,$,(function(t,s){if(s.topic){var a=t.notifications.list.findIndex((function(t){return t.topic===s.topic}));if(a>=0)return void t.notifications.list.splice(a,1,s)}t.notifications.list.push(s)})),Object(Q["a"])(e,q,(function(t,s){var a=t.notifications.list.indexOf(s);-1!==a&&t.notifications.list.splice(a,1)})),Object(Q["a"])(e,A,(function(t,s){var a=t.recent_searches.findIndex((function(t){return t===s}));a>=0&&t.recent_searches.splice(a,1),t.recent_searches.splice(0,0,s),t.recent_searches.length>5&&t.recent_searches.pop()})),Object(Q["a"])(e,S,(function(t,s){t.hide_singles=s})),Object(Q["a"])(e,j,(function(t,s){t.hide_spotify=s})),Object(Q["a"])(e,P,(function(t,s){t.artists_sort=s})),Object(Q["a"])(e,O,(function(t,s){t.artist_albums_sort=s})),Object(Q["a"])(e,T,(function(t,s){t.albums_sort=s})),Object(Q["a"])(e,L,(function(t,s){t.show_only_next_items=s})),Object(Q["a"])(e,E,(function(t,s){t.show_burger_menu=s})),Object(Q["a"])(e,I,(function(t,s){t.show_player_menu=s})),e),actions:{add_notification:function(t,s){var a=t.commit,e=t.state,i={id:e.notifications.next_id++,type:s.type,text:s.text,topic:s.topic,timeout:s.timeout};a($,i),s.timeout>0&&setTimeout((function(){a(q,i)}),s.timeout)}}});V.a.interceptors.response.use((function(t){return t}),(function(t){return t.request.status&&t.request.responseURL&&K.dispatch("add_notification",{text:"Request failed (status: "+t.request.status+" "+t.request.statusText+", url: "+t.request.responseURL+")",type:"danger"}),Promise.reject(t)}));var X={config:function(){return V.a.get("./api/config")},settings:function(){return V.a.get("./api/settings")},settings_update:function(t,s){return V.a.put("./api/settings/"+t+"/"+s.name,s)},library_stats:function(){return V.a.get("./api/library")},library_update:function(){return V.a.put("./api/update")},library_rescan:function(){return V.a.put("./api/rescan")},library_count:function(t){return V.a.get("./api/library/count?expression="+t)},queue:function(){return V.a.get("./api/queue")},queue_clear:function(){return V.a.put("./api/queue/clear")},queue_remove:function(t){return V.a.delete("./api/queue/items/"+t)},queue_move:function(t,s){return V.a.put("./api/queue/items/"+t+"?new_position="+s)},queue_add:function(t){return V.a.post("./api/queue/items/add?uris="+t).then((function(t){return K.dispatch("add_notification",{text:t.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(t)}))},queue_add_next:function(t){var s=0;return K.getters.now_playing&&K.getters.now_playing.id&&(s=K.getters.now_playing.position+1),V.a.post("./api/queue/items/add?uris="+t+"&position="+s).then((function(t){return K.dispatch("add_notification",{text:t.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(t)}))},queue_expression_add:function(t){var s={};return s.expression=t,V.a.post("./api/queue/items/add",void 0,{params:s}).then((function(t){return K.dispatch("add_notification",{text:t.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(t)}))},queue_expression_add_next:function(t){var s={};return s.expression=t,s.position=0,K.getters.now_playing&&K.getters.now_playing.id&&(s.position=K.getters.now_playing.position+1),V.a.post("./api/queue/items/add",void 0,{params:s}).then((function(t){return K.dispatch("add_notification",{text:t.data.count+" tracks appended to queue",type:"info",timeout:2e3}),Promise.resolve(t)}))},queue_save_playlist:function(t){return V.a.post("./api/queue/save",void 0,{params:{name:t}}).then((function(s){return K.dispatch("add_notification",{text:'Queue saved to playlist "'+t+'"',type:"info",timeout:2e3}),Promise.resolve(s)}))},player_status:function(){return V.a.get("./api/player")},player_play_uri:function(t,s){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,e={};return e.uris=t,e.shuffle=s?"true":"false",e.clear="true",e.playback="start",e.playback_from_position=a,V.a.post("./api/queue/items/add",void 0,{params:e})},player_play_expression:function(t,s){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,e={};return e.expression=t,e.shuffle=s?"true":"false",e.clear="true",e.playback="start",e.playback_from_position=a,V.a.post("./api/queue/items/add",void 0,{params:e})},player_play:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return V.a.put("./api/player/play",void 0,{params:t})},player_playpos:function(t){return V.a.put("./api/player/play?position="+t)},player_playid:function(t){return V.a.put("./api/player/play?item_id="+t)},player_pause:function(){return V.a.put("./api/player/pause")},player_stop:function(){return V.a.put("./api/player/stop")},player_next:function(){return V.a.put("./api/player/next")},player_previous:function(){return V.a.put("./api/player/previous")},player_shuffle:function(t){var s=t?"true":"false";return V.a.put("./api/player/shuffle?state="+s)},player_consume:function(t){var s=t?"true":"false";return V.a.put("./api/player/consume?state="+s)},player_repeat:function(t){return V.a.put("./api/player/repeat?state="+t)},player_volume:function(t){return V.a.put("./api/player/volume?volume="+t)},player_output_volume:function(t,s){return V.a.put("./api/player/volume?volume="+s+"&output_id="+t)},player_seek_to_pos:function(t){return V.a.put("./api/player/seek?position_ms="+t)},player_seek:function(t){return V.a.put("./api/player/seek?seek_ms="+t)},outputs:function(){return V.a.get("./api/outputs")},output_update:function(t,s){return V.a.put("./api/outputs/"+t,s)},output_toggle:function(t){return V.a.put("./api/outputs/"+t+"/toggle")},library_artists:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;return V.a.get("./api/library/artists",{params:{media_kind:t}})},library_artist:function(t){return V.a.get("./api/library/artists/"+t)},library_artist_albums:function(t){return V.a.get("./api/library/artists/"+t+"/albums")},library_albums:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;return V.a.get("./api/library/albums",{params:{media_kind:t}})},library_album:function(t){return V.a.get("./api/library/albums/"+t)},library_album_tracks:function(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{limit:-1,offset:0};return V.a.get("./api/library/albums/"+t+"/tracks",{params:s})},library_album_track_update:function(t,s){return V.a.put("./api/library/albums/"+t+"/tracks",void 0,{params:s})},library_genres:function(){return V.a.get("./api/library/genres")},library_genre:function(t){var s={type:"albums",media_kind:"music",expression:'genre is "'+t+'"'};return V.a.get("./api/search",{params:s})},library_genre_tracks:function(t){var s={type:"tracks",media_kind:"music",expression:'genre is "'+t+'"'};return V.a.get("./api/search",{params:s})},library_radio_streams:function(){var t={type:"tracks",media_kind:"music",expression:"data_kind is url and song_length = 0"};return V.a.get("./api/search",{params:t})},library_artist_tracks:function(t){if(t){var s={type:"tracks",expression:'songartistid is "'+t+'"'};return V.a.get("./api/search",{params:s})}},library_podcasts_new_episodes:function(){var t={type:"tracks",expression:"media_kind is podcast and play_count = 0 ORDER BY time_added DESC"};return V.a.get("./api/search",{params:t})},library_podcast_episodes:function(t){var s={type:"tracks",expression:'media_kind is podcast and songalbumid is "'+t+'" ORDER BY date_released DESC'};return V.a.get("./api/search",{params:s})},library_add:function(t){return V.a.post("./api/library/add",void 0,{params:{url:t}})},library_playlist_delete:function(t){return V.a.delete("./api/library/playlists/"+t,void 0)},library_playlists:function(){return V.a.get("./api/library/playlists")},library_playlist_folder:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return V.a.get("./api/library/playlists/"+t+"/playlists")},library_playlist:function(t){return V.a.get("./api/library/playlists/"+t)},library_playlist_tracks:function(t){return V.a.get("./api/library/playlists/"+t+"/tracks")},library_track:function(t){return V.a.get("./api/library/tracks/"+t)},library_track_playlists:function(t){return V.a.get("./api/library/tracks/"+t+"/playlists")},library_track_update:function(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return V.a.put("./api/library/tracks/"+t,void 0,{params:s})},library_files:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,s={directory:t};return V.a.get("./api/library/files",{params:s})},search:function(t){return V.a.get("./api/search",{params:t})},spotify:function(){return V.a.get("./api/spotify")},spotify_login:function(t){return V.a.post("./api/spotify-login",t)},lastfm:function(){return V.a.get("./api/lastfm")},lastfm_login:function(t){return V.a.post("./api/lastfm-login",t)},lastfm_logout:function(t){return V.a.get("./api/lastfm-logout")},pairing:function(){return V.a.get("./api/pairing")},pairing_kickoff:function(t){return V.a.post("./api/pairing",t)},artwork_url_append_size_params:function(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:600,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:600;return t&&t.startsWith("/")?t.includes("?")?t+"&maxwidth="+s+"&maxheight="+a:t+"?maxwidth="+s+"&maxheight="+a:t}},Z={name:"NavbarTop",components:{NavbarItemLink:M,ModalDialog:G},data:function(){return{show_settings_menu:!1,show_update_library:!1,rescan_metadata:!1}},computed:{is_visible_playlists:function(){return this.$store.getters.settings_option("webinterface","show_menu_item_playlists").value},is_visible_music:function(){return this.$store.getters.settings_option("webinterface","show_menu_item_music").value},is_visible_podcasts:function(){return this.$store.getters.settings_option("webinterface","show_menu_item_podcasts").value},is_visible_audiobooks:function(){return this.$store.getters.settings_option("webinterface","show_menu_item_audiobooks").value},is_visible_radio:function(){return this.$store.getters.settings_option("webinterface","show_menu_item_radio").value},is_visible_files:function(){return this.$store.getters.settings_option("webinterface","show_menu_item_files").value},is_visible_search:function(){return this.$store.getters.settings_option("webinterface","show_menu_item_search").value},player:function(){return this.$store.state.player},config:function(){return this.$store.state.config},library:function(){return this.$store.state.library},audiobooks:function(){return this.$store.state.audiobooks_count},podcasts:function(){return this.$store.state.podcasts_count},spotify_enabled:function(){return this.$store.state.spotify.webapi_token_valid},show_burger_menu:{get:function(){return this.$store.state.show_burger_menu},set:function(t){this.$store.commit(E,t)}},show_player_menu:function(){return this.$store.state.show_player_menu},zindex:function(){return this.show_player_menu?"z-index: 20":""}},methods:{on_click_outside_settings:function(){this.show_settings_menu=!this.show_settings_menu},update_library:function(){this.rescan_metadata?X.library_rescan():X.library_update()}},watch:{$route:function(t,s){this.show_settings_menu=!1}}},tt=Z,st=Object(N["a"])(tt,l,r,!1,null,null,null),at=st.exports,et=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("nav",{staticClass:"fd-bottom-navbar navbar is-white is-fixed-bottom",class:{"is-transparent":t.is_now_playing_page,"is-dark":!t.is_now_playing_page},style:t.zindex,attrs:{role:"navigation","aria-label":"player controls"}},[a("div",{staticClass:"navbar-brand fd-expanded"},[a("navbar-item-link",{attrs:{to:"/",exact:""}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-24px mdi-playlist-play"})])]),t.is_now_playing_page?t._e():a("router-link",{staticClass:"navbar-item is-expanded is-clipped",attrs:{to:"/now-playing","active-class":"is-active",exact:""}},[a("div",{staticClass:"is-clipped"},[a("p",{staticClass:"is-size-7 fd-is-text-clipped"},[a("strong",[t._v(t._s(t.now_playing.title))]),a("br"),t._v(" "+t._s(t.now_playing.artist)),"url"===t.now_playing.data_kind?a("span",[t._v(" - "+t._s(t.now_playing.album))]):t._e()])])]),t.is_now_playing_page?a("player-button-previous",{staticClass:"navbar-item fd-margin-left-auto",attrs:{icon_style:"mdi-24px"}}):t._e(),t.is_now_playing_page?a("player-button-seek-back",{staticClass:"navbar-item",attrs:{seek_ms:"10000",icon_style:"mdi-24px"}}):t._e(),a("player-button-play-pause",{staticClass:"navbar-item",attrs:{icon_style:"mdi-36px",show_disabled_message:""}}),t.is_now_playing_page?a("player-button-seek-forward",{staticClass:"navbar-item",attrs:{seek_ms:"30000",icon_style:"mdi-24px"}}):t._e(),t.is_now_playing_page?a("player-button-next",{staticClass:"navbar-item",attrs:{icon_style:"mdi-24px"}}):t._e(),a("a",{staticClass:"navbar-item fd-margin-left-auto is-hidden-desktop",on:{click:function(s){t.show_player_menu=!t.show_player_menu}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-18px",class:{"mdi-chevron-up":!t.show_player_menu,"mdi-chevron-down":t.show_player_menu}})])]),a("div",{staticClass:"navbar-item has-dropdown has-dropdown-up fd-margin-left-auto is-hidden-touch",class:{"is-active":t.show_player_menu}},[a("a",{staticClass:"navbar-link is-arrowless",on:{click:function(s){t.show_player_menu=!t.show_player_menu}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-18px",class:{"mdi-chevron-up":!t.show_player_menu,"mdi-chevron-down":t.show_player_menu}})])]),a("div",{staticClass:"navbar-dropdown is-right is-boxed",staticStyle:{"margin-right":"6px","margin-bottom":"6px","border-radius":"6px"}},[a("div",{staticClass:"navbar-item"},[a("div",{staticClass:"level is-mobile"},[a("div",{staticClass:"level-left fd-expanded"},[a("div",{staticClass:"level-item",staticStyle:{"flex-grow":"0"}},[a("a",{staticClass:"button is-white is-small",on:{click:t.toggle_mute_volume}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-18px",class:{"mdi-volume-off":t.player.volume<=0,"mdi-volume-high":t.player.volume>0}})])])]),a("div",{staticClass:"level-item fd-expanded"},[a("div",{staticClass:"fd-expanded"},[a("p",{staticClass:"heading"},[t._v("Volume")]),a("range-slider",{staticClass:"slider fd-has-action",attrs:{min:"0",max:"100",step:"1",value:t.player.volume},on:{change:t.set_volume}})],1)])])])]),a("hr",{staticClass:"fd-navbar-divider"}),t._l(t.outputs,(function(t){return a("navbar-item-output",{key:t.id,attrs:{output:t}})})),a("hr",{staticClass:"fd-navbar-divider"}),a("div",{staticClass:"navbar-item"},[a("div",{staticClass:"level is-mobile"},[a("div",{staticClass:"level-left fd-expanded"},[a("div",{staticClass:"level-item",staticStyle:{"flex-grow":"0"}},[a("a",{staticClass:"button is-white is-small",class:{"is-loading":t.loading}},[a("span",{staticClass:"icon fd-has-action",class:{"has-text-grey-light":!t.playing&&!t.loading,"is-loading":t.loading},on:{click:t.togglePlay}},[a("i",{staticClass:"mdi mdi-18px mdi-radio-tower"})])])]),a("div",{staticClass:"level-item fd-expanded"},[a("div",{staticClass:"fd-expanded"},[a("p",{staticClass:"heading",class:{"has-text-grey-light":!t.playing}},[t._v("HTTP stream "),t._m(0)]),a("range-slider",{staticClass:"slider fd-has-action",attrs:{min:"0",max:"100",step:"1",disabled:!t.playing,value:t.stream_volume},on:{change:t.set_stream_volume}})],1)])])])]),a("hr",{staticClass:"fd-navbar-divider"}),a("div",{staticClass:"navbar-item"},[a("div",{staticClass:"level is-mobile fd-expanded"},[a("div",{staticClass:"level-item"},[a("div",{staticClass:"buttons has-addons"},[a("player-button-repeat",{staticClass:"button"}),a("player-button-shuffle",{staticClass:"button"}),a("player-button-consume",{staticClass:"button"})],1)])])])],2)])],1),a("div",{staticClass:"navbar-menu is-hidden-desktop",class:{"is-active":t.show_player_menu}},[a("div",{staticClass:"navbar-start"}),a("div",{staticClass:"navbar-end"},[a("div",{staticClass:"navbar-item"},[a("div",{staticClass:"buttons is-centered"},[a("player-button-repeat",{staticClass:"button",attrs:{icon_style:"mdi-18px"}}),a("player-button-shuffle",{staticClass:"button",attrs:{icon_style:"mdi-18px"}}),a("player-button-consume",{staticClass:"button",attrs:{icon_style:"mdi-18px"}})],1)]),a("hr",{staticClass:"fd-navbar-divider"}),a("div",{staticClass:"navbar-item"},[a("div",{staticClass:"level is-mobile"},[a("div",{staticClass:"level-left fd-expanded"},[a("div",{staticClass:"level-item",staticStyle:{"flex-grow":"0"}},[a("a",{staticClass:"button is-white is-small",on:{click:t.toggle_mute_volume}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-18px",class:{"mdi-volume-off":t.player.volume<=0,"mdi-volume-high":t.player.volume>0}})])])]),a("div",{staticClass:"level-item fd-expanded"},[a("div",{staticClass:"fd-expanded"},[a("p",{staticClass:"heading"},[t._v("Volume")]),a("range-slider",{staticClass:"slider fd-has-action",attrs:{min:"0",max:"100",step:"1",value:t.player.volume},on:{change:t.set_volume}})],1)])])])]),t._l(t.outputs,(function(t){return a("navbar-item-output",{key:t.id,attrs:{output:t}})})),a("hr",{staticClass:"fd-navbar-divider"}),a("div",{staticClass:"navbar-item fd-has-margin-bottom"},[a("div",{staticClass:"level is-mobile"},[a("div",{staticClass:"level-left fd-expanded"},[a("div",{staticClass:"level-item",staticStyle:{"flex-grow":"0"}},[a("a",{staticClass:"button is-white is-small",class:{"is-loading":t.loading}},[a("span",{staticClass:"icon fd-has-action",class:{"has-text-grey-light":!t.playing&&!t.loading,"is-loading":t.loading},on:{click:t.togglePlay}},[a("i",{staticClass:"mdi mdi-18px mdi-radio-tower"})])])]),a("div",{staticClass:"level-item fd-expanded"},[a("div",{staticClass:"fd-expanded"},[a("p",{staticClass:"heading",class:{"has-text-grey-light":!t.playing}},[t._v("HTTP stream "),t._m(1)]),a("range-slider",{staticClass:"slider fd-has-action",attrs:{min:"0",max:"100",step:"1",disabled:!t.playing,value:t.stream_volume},on:{change:t.set_stream_volume}})],1)])])])])],2)])])},it=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{attrs:{href:"stream.mp3"}},[a("span",{staticClass:"is-lowercase"},[t._v("(stream.mp3)")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{attrs:{href:"stream.mp3"}},[a("span",{staticClass:"is-lowercase"},[t._v("(stream.mp3)")])])}],nt={_audio:new Audio,_context:null,_source:null,_gain:null,setupAudio:function(){var t=this,s=window.AudioContext||window.webkitAudioContext;return this._context=new s,this._source=this._context.createMediaElementSource(this._audio),this._gain=this._context.createGain(),this._source.connect(this._gain),this._gain.connect(this._context.destination),this._audio.addEventListener("canplaythrough",(function(s){t._audio.play()})),this._audio.addEventListener("canplay",(function(s){t._audio.play()})),this._audio},setVolume:function(t){this._gain&&(t=parseFloat(t)||0,t=t<0?0:t,t=t>1?1:t,this._gain.gain.value=t)},playSource:function(t){var s=this;this.stopAudio(),this._context.resume().then((function(){s._audio.src=String(t||"")+"?x="+Date.now(),s._audio.crossOrigin="anonymous",s._audio.load()}))},stopAudio:function(){try{this._audio.pause()}catch(t){}try{this._audio.stop()}catch(t){}try{this._audio.close()}catch(t){}}},ot=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"navbar-item"},[a("div",{staticClass:"level is-mobile"},[a("div",{staticClass:"level-left fd-expanded"},[a("div",{staticClass:"level-item",staticStyle:{"flex-grow":"0"}},[a("a",{staticClass:"button is-white is-small"},[a("span",{staticClass:"icon fd-has-action",class:{"has-text-grey-light":!t.output.selected},on:{click:t.set_enabled}},[a("i",{staticClass:"mdi mdi-18px",class:t.type_class})])])]),a("div",{staticClass:"level-item fd-expanded"},[a("div",{staticClass:"fd-expanded"},[a("p",{staticClass:"heading",class:{"has-text-grey-light":!t.output.selected}},[t._v(t._s(t.output.name))]),a("range-slider",{staticClass:"slider fd-has-action",attrs:{min:"0",max:"100",step:"1",disabled:!t.output.selected,value:t.volume},on:{change:t.set_volume}})],1)])])])])},lt=[],rt=a("c7e3"),ct=a.n(rt),dt={name:"NavbarItemOutput",components:{RangeSlider:ct.a},props:["output"],computed:{type_class:function(){return"AirPlay"===this.output.type?"mdi-airplay":"Chromecast"===this.output.type?"mdi-cast":"fifo"===this.output.type?"mdi-pipe":"mdi-server"},volume:function(){return this.output.selected?this.output.volume:0}},methods:{play_next:function(){X.player_next()},set_volume:function(t){X.player_output_volume(this.output.id,t)},set_enabled:function(){var t={selected:!this.output.selected};X.output_update(this.output.id,t)}}},ut=dt,pt=Object(N["a"])(ut,ot,lt,!1,null,null,null),_t=pt.exports,mt=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{attrs:{disabled:t.disabled},on:{click:t.toggle_play_pause}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi",class:[t.icon_style,{"mdi-play":!t.is_playing,"mdi-pause":t.is_playing&&t.is_pause_allowed,"mdi-stop":t.is_playing&&!t.is_pause_allowed}]})])])},ht=[],ft={name:"PlayerButtonPlayPause",props:{icon_style:String,show_disabled_message:Boolean},computed:{is_playing:function(){return"play"===this.$store.state.player.state},is_pause_allowed:function(){return this.$store.getters.now_playing&&"pipe"!==this.$store.getters.now_playing.data_kind},disabled:function(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{toggle_play_pause:function(){this.disabled?this.show_disabled_message&&this.$store.dispatch("add_notification",{text:"Queue is empty",type:"info",topic:"connection",timeout:2e3}):this.is_playing&&this.is_pause_allowed?X.player_pause():this.is_playing&&!this.is_pause_allowed?X.player_stop():X.player_play()}}},vt=ft,yt=Object(N["a"])(vt,mt,ht,!1,null,null,null),bt=yt.exports,gt=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{attrs:{disabled:t.disabled},on:{click:t.play_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-skip-forward",class:t.icon_style})])])},kt=[],Ct={name:"PlayerButtonNext",props:{icon_style:String},computed:{disabled:function(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{play_next:function(){this.disabled||X.player_next()}}},wt=Ct,xt=Object(N["a"])(wt,gt,kt,!1,null,null,null),$t=xt.exports,qt=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{attrs:{disabled:t.disabled},on:{click:t.play_previous}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-skip-backward",class:t.icon_style})])])},At=[],St={name:"PlayerButtonPrevious",props:{icon_style:String},computed:{disabled:function(){return!this.$store.state.queue||this.$store.state.queue.count<=0}},methods:{play_previous:function(){this.disabled||X.player_previous()}}},jt=St,Pt=Object(N["a"])(jt,qt,At,!1,null,null,null),Ot=Pt.exports,Tt=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{class:{"is-warning":t.is_shuffle},on:{click:t.toggle_shuffle_mode}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi",class:[t.icon_style,{"mdi-shuffle":t.is_shuffle,"mdi-shuffle-disabled":!t.is_shuffle}]})])])},Lt=[],Et={name:"PlayerButtonShuffle",props:{icon_style:String},computed:{is_shuffle:function(){return this.$store.state.player.shuffle}},methods:{toggle_shuffle_mode:function(){X.player_shuffle(!this.is_shuffle)}}},It=Et,zt=Object(N["a"])(It,Tt,Lt,!1,null,null,null),Dt=zt.exports,Nt=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{class:{"is-warning":t.is_consume},on:{click:t.toggle_consume_mode}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-fire",class:t.icon_style})])])},Rt=[],Mt={name:"PlayerButtonConsume",props:{icon_style:String},computed:{is_consume:function(){return this.$store.state.player.consume}},methods:{toggle_consume_mode:function(){X.player_consume(!this.is_consume)}}},Ut=Mt,Ht=Object(N["a"])(Ut,Nt,Rt,!1,null,null,null),Wt=Ht.exports,Bt=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("a",{class:{"is-warning":!t.is_repeat_off},on:{click:t.toggle_repeat_mode}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi",class:[t.icon_style,{"mdi-repeat":t.is_repeat_all,"mdi-repeat-once":t.is_repeat_single,"mdi-repeat-off":t.is_repeat_off}]})])])},Ft=[],Gt=(a("38cf"),{name:"PlayerButtonRepeat",props:{icon_style:String},computed:{is_repeat_all:function(){return"all"===this.$store.state.player.repeat},is_repeat_single:function(){return"single"===this.$store.state.player.repeat},is_repeat_off:function(){return!this.is_repeat_all&&!this.is_repeat_single}},methods:{toggle_repeat_mode:function(){this.is_repeat_all?X.player_repeat("single"):this.is_repeat_single?X.player_repeat("off"):X.player_repeat("all")}}}),Yt=Gt,Vt=Object(N["a"])(Yt,Bt,Ft,!1,null,null,null),Qt=Vt.exports,Jt=function(){var t=this,s=t.$createElement,a=t._self._c||s;return t.visible?a("a",{attrs:{disabled:t.disabled},on:{click:t.seek}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-rewind",class:t.icon_style})])]):t._e()},Kt=[],Xt={name:"PlayerButtonSeekBack",props:["seek_ms","icon_style"],computed:{now_playing:function(){return this.$store.getters.now_playing},is_stopped:function(){return"stop"===this.$store.state.player.state},disabled:function(){return!this.$store.state.queue||this.$store.state.queue.count<=0||this.is_stopped||"pipe"===this.now_playing.data_kind},visible:function(){return["podcast","audiobook"].includes(this.now_playing.media_kind)}},methods:{seek:function(){this.disabled||X.player_seek(-1*this.seek_ms)}}},Zt=Xt,ts=Object(N["a"])(Zt,Jt,Kt,!1,null,null,null),ss=ts.exports,as=function(){var t=this,s=t.$createElement,a=t._self._c||s;return t.visible?a("a",{attrs:{disabled:t.disabled},on:{click:t.seek}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-fast-forward",class:t.icon_style})])]):t._e()},es=[],is={name:"PlayerButtonSeekForward",props:["seek_ms","icon_style"],computed:{now_playing:function(){return this.$store.getters.now_playing},is_stopped:function(){return"stop"===this.$store.state.player.state},disabled:function(){return!this.$store.state.queue||this.$store.state.queue.count<=0||this.is_stopped||"pipe"===this.now_playing.data_kind},visible:function(){return["podcast","audiobook"].includes(this.now_playing.media_kind)}},methods:{seek:function(){this.disabled||X.player_seek(this.seek_ms)}}},ns=is,os=Object(N["a"])(ns,as,es,!1,null,null,null),ls=os.exports,rs={name:"NavbarBottom",components:{NavbarItemLink:M,NavbarItemOutput:_t,RangeSlider:ct.a,PlayerButtonPlayPause:bt,PlayerButtonNext:$t,PlayerButtonPrevious:Ot,PlayerButtonShuffle:Dt,PlayerButtonConsume:Wt,PlayerButtonRepeat:Qt,PlayerButtonSeekForward:ls,PlayerButtonSeekBack:ss},data:function(){return{old_volume:0,playing:!1,loading:!1,stream_volume:10,show_outputs_menu:!1,show_desktop_outputs_menu:!1}},computed:{show_player_menu:{get:function(){return this.$store.state.show_player_menu},set:function(t){this.$store.commit(I,t)}},show_burger_menu:function(){return this.$store.state.show_burger_menu},zindex:function(){return this.show_burger_menu?"z-index: 20":""},state:function(){return this.$store.state.player},now_playing:function(){return this.$store.getters.now_playing},is_now_playing_page:function(){return"/now-playing"===this.$route.path},outputs:function(){return this.$store.state.outputs},player:function(){return this.$store.state.player},config:function(){return this.$store.state.config}},methods:{on_click_outside_outputs:function(){this.show_outputs_menu=!1},set_volume:function(t){X.player_volume(t)},toggle_mute_volume:function(){this.player.volume>0?this.set_volume(0):this.set_volume(this.old_volume)},setupAudio:function(){var t=this,s=nt.setupAudio();s.addEventListener("waiting",(function(s){t.playing=!1,t.loading=!0})),s.addEventListener("playing",(function(s){t.playing=!0,t.loading=!1})),s.addEventListener("ended",(function(s){t.playing=!1,t.loading=!1})),s.addEventListener("error",(function(s){t.closeAudio(),t.$store.dispatch("add_notification",{text:"HTTP stream error: failed to load stream or stopped loading due to network problem",type:"danger"}),t.playing=!1,t.loading=!1}))},closeAudio:function(){nt.stopAudio(),this.playing=!1},playChannel:function(){if(!this.playing){var t="/stream.mp3";this.loading=!0,nt.playSource(t),nt.setVolume(this.stream_volume/100)}},togglePlay:function(){if(!this.loading)return this.playing?this.closeAudio():this.playChannel()},set_stream_volume:function(t){this.stream_volume=t,nt.setVolume(this.stream_volume/100)}},watch:{"$store.state.player.volume":function(){this.player.volume>0&&(this.old_volume=this.player.volume)}},mounted:function(){this.setupAudio()},destroyed:function(){this.closeAudio()}},cs=rs,ds=Object(N["a"])(cs,et,it,!1,null,null,null),us=ds.exports,ps=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",{staticClass:"fd-notifications"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-half"},t._l(t.notifications,(function(s){return a("div",{key:s.id,staticClass:"notification has-shadow ",class:["notification",s.type?"is-"+s.type:""]},[a("button",{staticClass:"delete",on:{click:function(a){return t.remove(s)}}}),t._v(" "+t._s(s.text)+" ")])})),0)])])},_s=[],ms={name:"Notifications",components:{},data:function(){return{showNav:!1}},computed:{notifications:function(){return this.$store.state.notifications.list}},methods:{remove:function(t){this.$store.commit(q,t)}}},hs=ms,fs=(a("cf45"),Object(N["a"])(hs,ps,_s,!1,null,null,null)),vs=fs.exports,ys=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v(" Remote pairing request ")]),a("form",{on:{submit:function(s){return s.preventDefault(),t.kickoff_pairing(s)}}},[a("label",{staticClass:"label"},[t._v(" "+t._s(t.pairing.remote)+" ")]),a("div",{staticClass:"field"},[a("div",{staticClass:"control"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.pairing_req.pin,expression:"pairing_req.pin"}],ref:"pin_field",staticClass:"input",attrs:{type:"text",placeholder:"Enter pairing code"},domProps:{value:t.pairing_req.pin},on:{input:function(s){s.target.composing||t.$set(t.pairing_req,"pin",s.target.value)}}})])])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-danger",on:{click:function(s){return t.$emit("close")}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-cancel"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Cancel")])]),a("a",{staticClass:"card-footer-item has-background-info has-text-white has-text-weight-bold",on:{click:t.kickoff_pairing}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-cellphone-iphone"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Pair Remote")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},bs=[],gs={name:"ModalDialogRemotePairing",props:["show"],data:function(){return{pairing_req:{pin:""}}},computed:{pairing:function(){return this.$store.state.pairing}},methods:{kickoff_pairing:function(){var t=this;X.pairing_kickoff(this.pairing_req).then((function(){t.pairing_req.pin=""}))}},watch:{show:function(){var t=this;this.show&&(this.loading=!1,setTimeout((function(){t.$refs.pin_field.focus()}),10))}}},ks=gs,Cs=Object(N["a"])(ks,ys,bs,!1,null,null,null),ws=Cs.exports,xs=a("d04d"),$s=a.n(xs),qs=a("c1df"),As=a.n(qs),Ss={name:"App",components:{NavbarTop:at,NavbarBottom:us,Notifications:vs,ModalDialogRemotePairing:ws},template:"",data:function(){return{token_timer_id:0,reconnect_attempts:0,pairing_active:!1}},computed:{show_burger_menu:{get:function(){return this.$store.state.show_burger_menu},set:function(t){this.$store.commit(E,t)}},show_player_menu:{get:function(){return this.$store.state.show_player_menu},set:function(t){this.$store.commit(I,t)}}},created:function(){var t=this;As.a.locale(navigator.language),this.connect(),this.$Progress.start(),this.$router.beforeEach((function(s,a,e){if(s.meta.show_progress){if(void 0!==s.meta.progress){var i=s.meta.progress;t.$Progress.parseMeta(i)}t.$Progress.start()}e()})),this.$router.afterEach((function(s,a){s.meta.show_progress&&t.$Progress.finish()}))},methods:{connect:function(){var t=this;this.$store.dispatch("add_notification",{text:"Connecting to forked-daapd",type:"info",topic:"connection",timeout:2e3}),X.config().then((function(s){var a=s.data;t.$store.commit(u,a),t.$store.commit(S,a.hide_singles),document.title=a.library_name,t.open_ws(),t.$Progress.finish()})).catch((function(){t.$store.dispatch("add_notification",{text:"Failed to connect to forked-daapd",type:"danger",topic:"connection"})}))},open_ws:function(){if(this.$store.state.config.websocket_port<=0)this.$store.dispatch("add_notification",{text:"Missing websocket port",type:"danger"});else{var t=this,s="ws://";"https:"===window.location.protocol&&(s="wss://");var a=s+window.location.hostname+":"+t.$store.state.config.websocket_port;0;var e=new $s.a(a,"notify",{reconnectInterval:3e3});e.onopen=function(){t.$store.dispatch("add_notification",{text:"Connection to server established",type:"primary",topic:"connection",timeout:2e3}),t.reconnect_attempts=0,e.send(JSON.stringify({notify:["update","database","player","options","outputs","volume","spotify","lastfm","pairing"]})),t.update_outputs(),t.update_player_status(),t.update_library_stats(),t.update_settings(),t.update_queue(),t.update_spotify(),t.update_lastfm(),t.update_pairing()},e.onclose=function(){},e.onerror=function(){t.reconnect_attempts++,t.$store.dispatch("add_notification",{text:"Connection lost. Reconnecting ... ("+t.reconnect_attempts+")",type:"danger",topic:"connection"})},e.onmessage=function(s){var a=JSON.parse(s.data);(a.notify.includes("update")||a.notify.includes("database"))&&t.update_library_stats(),(a.notify.includes("player")||a.notify.includes("options")||a.notify.includes("volume"))&&t.update_player_status(),(a.notify.includes("outputs")||a.notify.includes("volume"))&&t.update_outputs(),a.notify.includes("queue")&&t.update_queue(),a.notify.includes("spotify")&&t.update_spotify(),a.notify.includes("lastfm")&&t.update_lastfm(),a.notify.includes("pairing")&&t.update_pairing()}}},update_library_stats:function(){var t=this;X.library_stats().then((function(s){var a=s.data;t.$store.commit(m,a)})),X.library_count("media_kind is audiobook").then((function(s){var a=s.data;t.$store.commit(h,a)})),X.library_count("media_kind is podcast").then((function(s){var a=s.data;t.$store.commit(f,a)}))},update_outputs:function(){var t=this;X.outputs().then((function(s){var a=s.data;t.$store.commit(v,a.outputs)}))},update_player_status:function(){var t=this;X.player_status().then((function(s){var a=s.data;t.$store.commit(y,a)}))},update_queue:function(){var t=this;X.queue().then((function(s){var a=s.data;t.$store.commit(b,a)}))},update_settings:function(){var t=this;X.settings().then((function(s){var a=s.data;t.$store.commit(p,a)}))},update_lastfm:function(){var t=this;X.lastfm().then((function(s){var a=s.data;t.$store.commit(g,a)}))},update_spotify:function(){var t=this;X.spotify().then((function(s){var a=s.data;t.$store.commit(k,a),t.token_timer_id>0&&(window.clearTimeout(t.token_timer_id),t.token_timer_id=0),a.webapi_token_expires_in>0&&a.webapi_token&&(t.token_timer_id=window.setTimeout(t.update_spotify,1e3*a.webapi_token_expires_in))}))},update_pairing:function(){var t=this;X.pairing().then((function(s){var a=s.data;t.$store.commit(C,a),t.pairing_active=a.active}))},update_is_clipped:function(){this.show_burger_menu||this.show_player_menu?document.querySelector("html").classList.add("is-clipped"):document.querySelector("html").classList.remove("is-clipped")}},watch:{show_burger_menu:function(){this.update_is_clipped()},show_player_menu:function(){this.update_is_clipped()}}},js=Ss,Ps=Object(N["a"])(js,n,o,!1,null,null,null),Os=Ps.exports,Ts=a("8c4f"),Ls=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"heading"},[t._v(t._s(t.queue.count)+" tracks")]),a("p",{staticClass:"title is-4"},[t._v("Queue")])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small",class:{"is-info":t.show_only_next_items},on:{click:t.update_show_next_items}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-arrow-collapse-down"})]),a("span",[t._v("Hide previous")])]),a("a",{staticClass:"button is-small",on:{click:t.open_add_stream_dialog}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-web"})]),a("span",[t._v("Add Stream")])]),a("a",{staticClass:"button is-small",class:{"is-info":t.edit_mode},on:{click:function(s){t.edit_mode=!t.edit_mode}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-pencil"})]),a("span",[t._v("Edit")])]),a("a",{staticClass:"button is-small",on:{click:t.queue_clear}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-delete-empty"})]),a("span",[t._v("Clear")])]),t.is_queue_save_allowed?a("a",{staticClass:"button is-small",attrs:{disabled:0===t.queue_items.length},on:{click:t.save_dialog}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-content-save"})]),a("span",[t._v("Save")])]):t._e()])]),a("template",{slot:"content"},[a("draggable",{attrs:{handle:".handle"},on:{end:t.move_item},model:{value:t.queue_items,callback:function(s){t.queue_items=s},expression:"queue_items"}},t._l(t.queue_items,(function(s,e){return a("list-item-queue-item",{key:s.id,attrs:{item:s,position:e,current_position:t.current_position,show_only_next_items:t.show_only_next_items,edit_mode:t.edit_mode}},[a("template",{slot:"actions"},[t.edit_mode?t._e():a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])]),s.id!==t.state.item_id&&t.edit_mode?a("a",{on:{click:function(a){return t.remove(s)}}},[a("span",{staticClass:"icon has-text-grey"},[a("i",{staticClass:"mdi mdi-delete mdi-18px"})])]):t._e()])],2)})),1),a("modal-dialog-queue-item",{attrs:{show:t.show_details_modal,item:t.selected_item},on:{close:function(s){t.show_details_modal=!1}}}),a("modal-dialog-add-url-stream",{attrs:{show:t.show_url_modal},on:{close:function(s){t.show_url_modal=!1}}}),t.is_queue_save_allowed?a("modal-dialog-playlist-save",{attrs:{show:t.show_pls_save_modal},on:{close:function(s){t.show_pls_save_modal=!1}}}):t._e()],1)],2)},Es=[],Is=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",{staticClass:"section fd-content"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[t.$slots["options"]?a("section",[a("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:t.observer_options,expression:"observer_options"}],staticStyle:{height:"2px"}}),t._t("options"),a("nav",{staticClass:"buttons is-centered",staticStyle:{"margin-bottom":"6px","margin-top":"16px"}},[t.options_visible?a("a",{staticClass:"button is-small is-white",on:{click:t.scroll_to_content}},[t._m(1)]):a("a",{staticClass:"button is-small is-white",on:{click:t.scroll_to_top}},[t._m(0)])])],2):t._e(),a("div",{class:{"fd-content-with-option":t.$slots["options"]}},[a("nav",{staticClass:"level",attrs:{id:"top"}},[a("div",{staticClass:"level-left"},[a("div",{staticClass:"level-item has-text-centered-mobile"},[a("div",[t._t("heading-left")],2)])]),a("div",{staticClass:"level-right has-text-centered-mobile"},[t._t("heading-right")],2)]),t._t("content"),a("div",{staticStyle:{"margin-top":"16px"}},[t._t("footer")],2)],2)])])])])},zs=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-chevron-up"})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-chevron-down"})])}],Ds={name:"ContentWithHeading",data:function(){return{options_visible:!1,observer_options:{callback:this.visibilityChanged,intersection:{rootMargin:"-100px",threshold:.3}}}},methods:{scroll_to_top:function(){window.scrollTo({top:0,behavior:"smooth"})},scroll_to_content:function(){this.$route.meta.has_tabs?this.$scrollTo("#top",{offset:-140}):this.$scrollTo("#top",{offset:-100})},visibilityChanged:function(t){this.options_visible=t}}},Ns=Ds,Rs=Object(N["a"])(Ns,Is,zs,!1,null,null,null),Ms=Rs.exports,Us=function(){var t=this,s=t.$createElement,a=t._self._c||s;return t.is_next||!t.show_only_next_items?a("div",{staticClass:"media"},[t.edit_mode?a("div",{staticClass:"media-left"},[t._m(0)]):t._e(),a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:t.play}},[a("h1",{staticClass:"title is-6",class:{"has-text-primary":t.item.id===t.state.item_id,"has-text-grey-light":!t.is_next}},[t._v(t._s(t.item.title))]),a("h2",{staticClass:"subtitle is-7",class:{"has-text-primary":t.item.id===t.state.item_id,"has-text-grey-light":!t.is_next,"has-text-grey":t.is_next&&t.item.id!==t.state.item_id}},[a("b",[t._v(t._s(t.item.artist))])]),a("h2",{staticClass:"subtitle is-7",class:{"has-text-primary":t.item.id===t.state.item_id,"has-text-grey-light":!t.is_next,"has-text-grey":t.is_next&&t.item.id!==t.state.item_id}},[t._v(t._s(t.item.album))])]),a("div",{staticClass:"media-right"},[t._t("actions")],2)]):t._e()},Hs=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon has-text-grey fd-is-movable handle"},[a("i",{staticClass:"mdi mdi-drag-horizontal mdi-18px"})])}],Ws={name:"ListItemQueueItem",props:["item","position","current_position","show_only_next_items","edit_mode"],computed:{state:function(){return this.$store.state.player},is_next:function(){return this.current_position<0||this.position>=this.current_position}},methods:{play:function(){X.player_play({item_id:this.item.id})}}},Bs=Ws,Fs=Object(N["a"])(Bs,Us,Hs,!1,null,null,null),Gs=Fs.exports,Ys=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v(" "+t._s(t.item.title)+" ")]),a("p",{staticClass:"subtitle"},[t._v(" "+t._s(t.item.artist)+" ")]),a("div",{staticClass:"content is-small"},[a("p",[a("span",{staticClass:"heading"},[t._v("Album")]),t.item.album_id?a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_album}},[t._v(t._s(t.item.album))]):a("span",{staticClass:"title is-6"},[t._v(t._s(t.item.album))])]),t.item.album_artist?a("p",[a("span",{staticClass:"heading"},[t._v("Album artist")]),t.item.album_artist_id?a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_album_artist}},[t._v(t._s(t.item.album_artist))]):a("span",{staticClass:"title is-6"},[t._v(t._s(t.item.album_artist))])]):t._e(),t.item.composer?a("p",[a("span",{staticClass:"heading"},[t._v("Composer")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.item.composer))])]):t._e(),t.item.year>0?a("p",[a("span",{staticClass:"heading"},[t._v("Year")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.item.year))])]):t._e(),t.item.genre?a("p",[a("span",{staticClass:"heading"},[t._v("Genre")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_genre}},[t._v(t._s(t.item.genre))])]):t._e(),a("p",[a("span",{staticClass:"heading"},[t._v("Track / Disc")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.item.track_number)+" / "+t._s(t.item.disc_number))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Length")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("duration")(t.item.length_ms)))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Path")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.item.path))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Type")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.item.media_kind)+" - "+t._s(t.item.data_kind)+" "),"spotify"===t.item.data_kind?a("span",{staticClass:"has-text-weight-normal"},[t._v("("),a("a",{on:{click:t.open_spotify_artist}},[t._v("artist")]),t._v(", "),a("a",{on:{click:t.open_spotify_album}},[t._v("album")]),t._v(")")]):t._e()])]),a("p",[a("span",{staticClass:"heading"},[t._v("Quality")]),a("span",{staticClass:"title is-6"},[t._v(" "+t._s(t.item.type)+" "),t.item.samplerate?a("span",[t._v(" | "+t._s(t.item.samplerate)+" Hz")]):t._e(),t.item.channels?a("span",[t._v(" | "+t._s(t._f("channels")(t.item.channels)))]):t._e(),t.item.bitrate?a("span",[t._v(" | "+t._s(t.item.bitrate)+" Kb/s")]):t._e()])])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.remove}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-delete"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Remove")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},Vs=[],Qs=(a("baa5"),a("fb6a"),a("be8d")),Js=a.n(Qs),Ks={name:"ModalDialogQueueItem",props:["show","item"],data:function(){return{spotify_track:{}}},methods:{remove:function(){this.$emit("close"),X.queue_remove(this.item.id)},play:function(){this.$emit("close"),X.player_play({item_id:this.item.id})},open_album:function(){"podcast"===this.media_kind?this.$router.push({path:"/podcasts/"+this.item.album_id}):"audiobook"===this.media_kind?this.$router.push({path:"/audiobooks/"+this.item.album_id}):this.$router.push({path:"/music/albums/"+this.item.album_id})},open_album_artist:function(){this.$router.push({path:"/music/artists/"+this.item.album_artist_id})},open_genre:function(){this.$router.push({name:"Genre",params:{genre:this.item.genre}})},open_spotify_artist:function(){this.$emit("close"),this.$router.push({path:"/music/spotify/artists/"+this.spotify_track.artists[0].id})},open_spotify_album:function(){this.$emit("close"),this.$router.push({path:"/music/spotify/albums/"+this.spotify_track.album.id})}},watch:{item:function(){var t=this;if(this.item&&"spotify"===this.item.data_kind){var s=new Js.a;s.setAccessToken(this.$store.state.spotify.webapi_token),s.getTrack(this.item.path.slice(this.item.path.lastIndexOf(":")+1)).then((function(s){t.spotify_track=s}))}else this.spotify_track={}}}},Xs=Ks,Zs=Object(N["a"])(Xs,Ys,Vs,!1,null,null,null),ta=Zs.exports,sa=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v(" Add stream URL ")]),a("form",{staticClass:"fd-has-margin-bottom",on:{submit:function(s){return s.preventDefault(),t.play(s)}}},[a("div",{staticClass:"field"},[a("p",{staticClass:"control is-expanded has-icons-left"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.url,expression:"url"}],ref:"url_field",staticClass:"input is-shadowless",attrs:{type:"text",placeholder:"http://url-to-stream",disabled:t.loading},domProps:{value:t.url},on:{input:function(s){s.target.composing||(t.url=s.target.value)}}}),a("span",{staticClass:"icon is-left"},[a("i",{staticClass:"mdi mdi-web"})])])])])]),t.loading?a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark"},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-web"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Loading ...")])])]):a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-danger",on:{click:function(s){return t.$emit("close")}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-cancel"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Cancel")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.add_stream}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-background-info has-text-white has-text-weight-bold",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},aa=[],ea={name:"ModalDialogAddUrlStream",props:["show"],data:function(){return{url:"",loading:!1}},methods:{add_stream:function(){var t=this;this.loading=!0,X.queue_add(this.url).then((function(){t.$emit("close"),t.url=""})).catch((function(){t.loading=!1}))},play:function(){var t=this;this.loading=!0,X.player_play_uri(this.url,!1).then((function(){t.$emit("close"),t.url=""})).catch((function(){t.loading=!1}))}},watch:{show:function(){var t=this;this.show&&(this.loading=!1,setTimeout((function(){t.$refs.url_field.focus()}),10))}}},ia=ea,na=Object(N["a"])(ia,sa,aa,!1,null,null,null),oa=na.exports,la=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v(" Save queue to playlist ")]),a("form",{staticClass:"fd-has-margin-bottom",on:{submit:function(s){return s.preventDefault(),t.save(s)}}},[a("div",{staticClass:"field"},[a("p",{staticClass:"control is-expanded has-icons-left"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.playlist_name,expression:"playlist_name"}],ref:"playlist_name_field",staticClass:"input is-shadowless",attrs:{type:"text",placeholder:"Playlist name",disabled:t.loading},domProps:{value:t.playlist_name},on:{input:function(s){s.target.composing||(t.playlist_name=s.target.value)}}}),a("span",{staticClass:"icon is-left"},[a("i",{staticClass:"mdi mdi-file-music"})])])])])]),t.loading?a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark"},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-web"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Saving ...")])])]):a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-danger",on:{click:function(s){return t.$emit("close")}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-cancel"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Cancel")])]),a("a",{staticClass:"card-footer-item has-background-info has-text-white has-text-weight-bold",on:{click:t.save}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-content-save"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Save")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},ra=[],ca={name:"ModalDialogPlaylistSave",props:["show"],data:function(){return{playlist_name:"",loading:!1}},methods:{save:function(){var t=this;this.playlist_name.length<1||(this.loading=!0,X.queue_save_playlist(this.playlist_name).then((function(){t.$emit("close"),t.playlist_name=""})).catch((function(){t.loading=!1})))}},watch:{show:function(){var t=this;this.show&&(this.loading=!1,setTimeout((function(){t.$refs.playlist_name_field.focus()}),10))}}},da=ca,ua=Object(N["a"])(da,la,ra,!1,null,null,null),pa=ua.exports,_a=a("b76a"),ma=a.n(_a),ha={name:"PageQueue",components:{ContentWithHeading:Ms,ListItemQueueItem:Gs,draggable:ma.a,ModalDialogQueueItem:ta,ModalDialogAddUrlStream:oa,ModalDialogPlaylistSave:pa},data:function(){return{edit_mode:!1,show_details_modal:!1,show_url_modal:!1,show_pls_save_modal:!1,selected_item:{}}},computed:{state:function(){return this.$store.state.player},is_queue_save_allowed:function(){return this.$store.state.config.allow_modifying_stored_playlists&&this.$store.state.config.default_playlist_directory},queue:function(){return this.$store.state.queue},queue_items:{get:function(){return this.$store.state.queue.items},set:function(t){}},current_position:function(){var t=this.$store.getters.now_playing;return void 0===t||void 0===t.position?-1:this.$store.getters.now_playing.position},show_only_next_items:function(){return this.$store.state.show_only_next_items}},methods:{queue_clear:function(){X.queue_clear()},update_show_next_items:function(t){this.$store.commit(L,!this.show_only_next_items)},remove:function(t){X.queue_remove(t.id)},move_item:function(t){var s=this.show_only_next_items?t.oldIndex+this.current_position:t.oldIndex,a=this.queue_items[s],e=a.position+(t.newIndex-t.oldIndex);e!==s&&X.queue_move(a.id,e)},open_dialog:function(t){this.selected_item=t,this.show_details_modal=!0},open_add_stream_dialog:function(t){this.show_url_modal=!0},save_dialog:function(t){this.queue_items.length>0&&(this.show_pls_save_modal=!0)}}},fa=ha,va=Object(N["a"])(fa,Ls,Es,!1,null,null,null),ya=va.exports,ba=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",[t.now_playing.id>0?a("div",{staticClass:"fd-is-fullheight"},[a("div",{staticClass:"fd-is-expanded"},[a("cover-artwork",{staticClass:"fd-cover-image fd-has-action",attrs:{artwork_url:t.now_playing.artwork_url,artist:t.now_playing.artist,album:t.now_playing.album},on:{click:function(s){return t.open_dialog(t.now_playing)}}})],1),a("div",{staticClass:"fd-has-padding-left-right"},[a("div",{staticClass:"container has-text-centered"},[a("p",{staticClass:"control has-text-centered fd-progress-now-playing"},[a("range-slider",{staticClass:"seek-slider fd-has-action",attrs:{min:"0",max:t.state.item_length_ms,value:t.item_progress_ms,disabled:"stop"===t.state.state,step:"1000"},on:{change:t.seek}})],1),a("p",{staticClass:"content"},[a("span",[t._v(t._s(t._f("duration")(t.item_progress_ms))+" / "+t._s(t._f("duration")(t.now_playing.length_ms)))])])])]),a("div",{staticClass:"fd-has-padding-left-right"},[a("div",{staticClass:"container has-text-centered fd-has-margin-top"},[a("h1",{staticClass:"title is-5"},[t._v(" "+t._s(t.now_playing.title)+" ")]),a("h2",{staticClass:"title is-6"},[t._v(" "+t._s(t.now_playing.artist)+" ")]),t.composer?a("h2",{staticClass:"subtitle is-6 has-text-grey has-text-weight-bold"},[t._v(" "+t._s(t.composer)+" ")]):t._e(),a("h3",{staticClass:"subtitle is-6"},[t._v(" "+t._s(t.now_playing.album)+" ")])])])]):a("div",{staticClass:"fd-is-fullheight"},[t._m(0)]),a("modal-dialog-queue-item",{attrs:{show:t.show_details_modal,item:t.selected_item},on:{close:function(s){t.show_details_modal=!1}}})],1)},ga=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"fd-is-expanded fd-has-padding-left-right",staticStyle:{"flex-direction":"column"}},[a("div",{staticClass:"content has-text-centered"},[a("h1",{staticClass:"title is-5"},[t._v(" Your play queue is empty ")]),a("p",[t._v(" Add some tracks by browsing your library ")])])])}],ka=(a("ac1f"),a("1276"),a("498a"),function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("figure",[a("img",{directives:[{name:"lazyload",rawName:"v-lazyload"}],key:t.artwork_url_with_size,attrs:{"data-src":t.artwork_url_with_size,"data-err":t.dataURI},on:{click:function(s){return t.$emit("click")}}})])}),Ca=[],wa=(a("13d5"),a("5319"),a("d4ec")),xa=a("bee2"),$a=function(){function t(){Object(wa["a"])(this,t)}return Object(xa["a"])(t,[{key:"render",value:function(t){var s=' '+t.caption+" ";return"data:image/svg+xml;charset=UTF-8,"+encodeURIComponent(s)}}]),t}(),qa=$a,Aa=a("5d8a"),Sa=a.n(Aa),ja={name:"CoverArtwork",props:["artist","album","artwork_url","maxwidth","maxheight"],data:function(){return{svg:new qa,width:600,height:600,font_family:"sans-serif",font_size:200,font_weight:600}},computed:{artwork_url_with_size:function(){return this.maxwidth>0&&this.maxheight>0?X.artwork_url_append_size_params(this.artwork_url,this.maxwidth,this.maxheight):X.artwork_url_append_size_params(this.artwork_url)},alt_text:function(){return this.artist+" - "+this.album},caption:function(){return this.album?this.album.substring(0,2):this.artist?this.artist.substring(0,2):""},background_color:function(){return Sa()(this.alt_text)},is_background_light:function(){var t=this.background_color.replace(/#/,""),s=parseInt(t.substr(0,2),16),a=parseInt(t.substr(2,2),16),e=parseInt(t.substr(4,2),16),i=[.299*s,.587*a,.114*e].reduce((function(t,s){return t+s}))/255;return i>.5},text_color:function(){return this.is_background_light?"#000000":"#ffffff"},rendererParams:function(){return{width:this.width,height:this.height,textColor:this.text_color,backgroundColor:this.background_color,caption:this.caption,fontFamily:this.font_family,fontSize:this.font_size,fontWeight:this.font_weight}},dataURI:function(){return this.svg.render(this.rendererParams)}}},Pa=ja,Oa=Object(N["a"])(Pa,ka,Ca,!1,null,null,null),Ta=Oa.exports,La={name:"PageNowPlaying",components:{ModalDialogQueueItem:ta,RangeSlider:ct.a,CoverArtwork:Ta},data:function(){return{item_progress_ms:0,interval_id:0,show_details_modal:!1,selected_item:{}}},created:function(){var t=this;this.item_progress_ms=this.state.item_progress_ms,X.player_status().then((function(s){var a=s.data;t.$store.commit(y,a),"play"===t.state.state&&(t.interval_id=window.setInterval(t.tick,1e3))}))},destroyed:function(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0)},computed:{state:function(){return this.$store.state.player},now_playing:function(){return this.$store.getters.now_playing},settings_option_show_composer_now_playing:function(){return this.$store.getters.settings_option_show_composer_now_playing},settings_option_show_composer_for_genre:function(){return this.$store.getters.settings_option_show_composer_for_genre},composer:function(){var t=this;return this.settings_option_show_composer_now_playing&&(!this.settings_option_show_composer_for_genre||this.now_playing.genre&&this.settings_option_show_composer_for_genre.toLowerCase().split(",").findIndex((function(s){return t.now_playing.genre.toLowerCase().indexOf(s.trim())>=0}))>=0)?this.now_playing.composer:null}},methods:{tick:function(){this.item_progress_ms+=1e3},seek:function(t){var s=this;X.player_seek_to_pos(t).catch((function(){s.item_progress_ms=s.state.item_progress_ms}))},open_dialog:function(t){this.selected_item=t,this.show_details_modal=!0}},watch:{state:function(){this.interval_id>0&&(window.clearTimeout(this.interval_id),this.interval_id=0),this.item_progress_ms=this.state.item_progress_ms,"play"===this.state.state&&(this.interval_id=window.setInterval(this.tick,1e3))}}},Ea=La,Ia=Object(N["a"])(Ea,ba,ga,!1,null,null,null),za=Ia.exports,Da=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Recently added")]),a("p",{staticClass:"heading"},[t._v("albums")])]),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.recently_added.items}})],1),a("template",{slot:"footer"},[a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:function(s){return t.open_browse("recently_added")}}},[t._v("Show more")])])])])],2),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Recently played")]),a("p",{staticClass:"heading"},[t._v("tracks")])]),a("template",{slot:"content"},[a("list-tracks",{attrs:{tracks:t.recently_played.items}})],1),a("template",{slot:"footer"},[a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:function(s){return t.open_browse("recently_played")}}},[t._v("Show more")])])])])],2)],1)},Na=[],Ra=(a("3ca3"),a("841c"),a("ddb0"),function(t){return{beforeRouteEnter:function(s,a,e){t.load(s).then((function(s){e((function(a){return t.set(a,s)}))}))},beforeRouteUpdate:function(s,a,e){var i=this;t.load(s).then((function(s){t.set(i,s),e()}))}}}),Ma=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",{staticClass:"section fd-tabs-section"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("div",{staticClass:"tabs is-centered is-small"},[a("ul",[a("router-link",{attrs:{tag:"li",to:"/music/browse","active-class":"is-active"}},[a("a",[a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-web"})]),a("span",{},[t._v("Browse")])])]),a("router-link",{attrs:{tag:"li",to:"/music/artists","active-class":"is-active"}},[a("a",[a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-artist"})]),a("span",{},[t._v("Artists")])])]),a("router-link",{attrs:{tag:"li",to:"/music/albums","active-class":"is-active"}},[a("a",[a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-album"})]),a("span",{},[t._v("Albums")])])]),a("router-link",{attrs:{tag:"li",to:"/music/genres","active-class":"is-active"}},[a("a",[a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-speaker"})]),a("span",{},[t._v("Genres")])])]),t.spotify_enabled?a("router-link",{attrs:{tag:"li",to:"/music/spotify","active-class":"is-active"}},[a("a",[a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-spotify"})]),a("span",{},[t._v("Spotify")])])]):t._e()],1)])])])])])},Ua=[],Ha={name:"TabsMusic",computed:{spotify_enabled:function(){return this.$store.state.spotify.webapi_token_valid}}},Wa=Ha,Ba=Object(N["a"])(Wa,Ma,Ua,!1,null,null,null),Fa=Ba.exports,Ga=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[t.is_grouped?a("div",t._l(t.albums.indexList,(function(s){return a("div",{key:s,staticClass:"mb-6"},[a("span",{staticClass:"tag is-info is-light is-small has-text-weight-bold",attrs:{id:"index_"+s}},[t._v(t._s(s))]),t._l(t.albums.grouped[s],(function(s){return a("list-item-album",{key:s.id,attrs:{album:s},on:{click:function(a){return t.open_album(s)}}},[t.is_visible_artwork?a("template",{slot:"artwork"},[a("p",{staticClass:"image is-64x64 fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:s.artwork_url,artist:s.artist,album:s.name,maxwidth:64,maxheight:64}})],1)]):t._e(),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)}))],2)})),0):a("div",t._l(t.albums_list,(function(s){return a("list-item-album",{key:s.id,attrs:{album:s},on:{click:function(a){return t.open_album(s)}}},[t.is_visible_artwork?a("template",{slot:"artwork"},[a("p",{staticClass:"image is-64x64 fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:s.artwork_url,artist:s.artist,album:s.name,maxwidth:64,maxheight:64}})],1)]):t._e(),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),1),a("modal-dialog-album",{attrs:{show:t.show_details_modal,album:t.selected_album,media_kind:t.media_kind},on:{"remove-podcast":function(s){return t.open_remove_podcast_dialog()},close:function(s){t.show_details_modal=!1}}}),a("modal-dialog",{attrs:{show:t.show_remove_podcast_modal,title:"Remove podcast",delete_action:"Remove"},on:{close:function(s){t.show_remove_podcast_modal=!1},delete:t.remove_podcast}},[a("template",{slot:"modal-content"},[a("p",[t._v("Permanently remove this podcast from your library?")]),a("p",{staticClass:"is-size-7"},[t._v("(This will also remove the RSS playlist "),a("b",[t._v(t._s(t.rss_playlist_to_remove.name))]),t._v(".)")])])],2)],1)},Ya=[],Va=(a("4de4"),function(t,s){var a=s._c;return a("div",{staticClass:"media",attrs:{id:"index_"+s.props.album.name_sort.charAt(0).toUpperCase()}},[s.$slots["artwork"]?a("div",{staticClass:"media-left fd-has-action",on:{click:s.listeners.click}},[s._t("artwork")],2):s._e(),a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:s.listeners.click}},[a("div",{staticStyle:{"margin-top":"0.7rem"}},[a("h1",{staticClass:"title is-6"},[s._v(s._s(s.props.album.name))]),a("h2",{staticClass:"subtitle is-7 has-text-grey"},[a("b",[s._v(s._s(s.props.album.artist))])]),s.props.album.date_released&&"music"===s.props.album.media_kind?a("h2",{staticClass:"subtitle is-7 has-text-grey has-text-weight-normal"},[s._v(" "+s._s(s._f("time")(s.props.album.date_released,"L"))+" ")]):s._e()])]),a("div",{staticClass:"media-right",staticStyle:{"padding-top":"0.7rem"}},[s._t("actions")],2)])}),Qa=[],Ja={name:"ListItemAlbum",props:["album","media_kind"]},Ka=Ja,Xa=Object(N["a"])(Ka,Va,Qa,!0,null,null,null),Za=Xa.exports,te=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("cover-artwork",{staticClass:"image is-square fd-has-margin-bottom fd-has-shadow",attrs:{artwork_url:t.album.artwork_url,artist:t.album.artist,album:t.album.name}}),a("p",{staticClass:"title is-4"},[a("a",{staticClass:"has-text-link",on:{click:t.open_album}},[t._v(t._s(t.album.name))])]),"podcast"===t.media_kind_resolved?a("div",{staticClass:"buttons"},[a("a",{staticClass:"button is-small",on:{click:t.mark_played}},[t._v("Mark as played")]),a("a",{staticClass:"button is-small",on:{click:function(s){return t.$emit("remove-podcast")}}},[t._v("Remove podcast")])]):t._e(),a("div",{staticClass:"content is-small"},[t.album.artist?a("p",[a("span",{staticClass:"heading"},[t._v("Album artist")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.album.artist))])]):t._e(),t.album.date_released?a("p",[a("span",{staticClass:"heading"},[t._v("Release date")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("time")(t.album.date_released,"L")))])]):t.album.year>0?a("p",[a("span",{staticClass:"heading"},[t._v("Year")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.album.year))])]):t._e(),a("p",[a("span",{staticClass:"heading"},[t._v("Tracks")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.album.track_count))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Length")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("duration")(t.album.length_ms)))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Type")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.album.media_kind)+" - "+t._s(t.album.data_kind))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Added at")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("time")(t.album.time_added,"L LT")))])])])],1),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},se=[],ae={name:"ModalDialogAlbum",components:{CoverArtwork:Ta},props:["show","album","media_kind","new_tracks"],data:function(){return{artwork_visible:!1}},computed:{artwork_url:function(){return X.artwork_url_append_size_params(this.album.artwork_url)},media_kind_resolved:function(){return this.media_kind?this.media_kind:this.album.media_kind}},methods:{play:function(){this.$emit("close"),X.player_play_uri(this.album.uri,!1)},queue_add:function(){this.$emit("close"),X.queue_add(this.album.uri)},queue_add_next:function(){this.$emit("close"),X.queue_add_next(this.album.uri)},open_album:function(){"podcast"===this.media_kind_resolved?this.$router.push({path:"/podcasts/"+this.album.id}):"audiobook"===this.media_kind_resolved?this.$router.push({path:"/audiobooks/"+this.album.id}):this.$router.push({path:"/music/albums/"+this.album.id})},open_artist:function(){"podcast"===this.media_kind_resolved||("audiobook"===this.media_kind_resolved?this.$router.push({path:"/audiobooks/artists/"+this.album.artist_id}):this.$router.push({path:"/music/artists/"+this.album.artist_id}))},mark_played:function(){var t=this;X.library_album_track_update(this.album.id,{play_count:"played"}).then((function(s){s.data;t.$emit("play-count-changed"),t.$emit("close")}))},artwork_loaded:function(){this.artwork_visible=!0},artwork_error:function(){this.artwork_visible=!1}}},ee=ae,ie=Object(N["a"])(ee,te,se,!1,null,null,null),ne=ie.exports,oe=(a("99af"),a("d81d"),a("4e82"),a("6062"),a("2909")),le=function(){function t(s){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{hideSingles:!1,hideSpotify:!1,sort:"Name",group:!1};Object(wa["a"])(this,t),this.items=s,this.options=a,this.grouped={},this.sortedAndFiltered=[],this.indexList=[],this.init()}return Object(xa["a"])(t,[{key:"init",value:function(){this.createSortedAndFilteredList(),this.createGroupedList(),this.createIndexList()}},{key:"getAlbumIndex",value:function(t){return"Recently added"===this.options.sort?t.time_added.substring(0,4):"Recently released"===this.options.sort||"Release date"===this.options.sort?t.date_released?t.date_released.substring(0,4):"0000":t.name_sort.charAt(0).toUpperCase()}},{key:"isAlbumVisible",value:function(t){return!(this.options.hideSingles&&t.track_count<=2)&&(!this.options.hideSpotify||"spotify"!==t.data_kind)}},{key:"createIndexList",value:function(){var t=this;this.indexList=Object(oe["a"])(new Set(this.sortedAndFiltered.map((function(s){return t.getAlbumIndex(s)}))))}},{key:"createSortedAndFilteredList",value:function(){var t=this,s=this.items;(this.options.hideSingles||this.options.hideSpotify||this.options.hideOther)&&(s=s.filter((function(s){return t.isAlbumVisible(s)}))),"Recently added"===this.options.sort?s=Object(oe["a"])(s).sort((function(t,s){return s.time_added.localeCompare(t.time_added)})):"Recently released"===this.options.sort?s=Object(oe["a"])(s).sort((function(t,s){return t.date_released?s.date_released?s.date_released.localeCompare(t.date_released):-1:1})):"Release date"===this.options.sort&&(s=Object(oe["a"])(s).sort((function(t,s){return t.date_released?s.date_released?t.date_released.localeCompare(s.date_released):1:-1}))),this.sortedAndFiltered=s}},{key:"createGroupedList",value:function(){var t=this;this.options.group||(this.grouped={}),this.grouped=this.sortedAndFiltered.reduce((function(s,a){var e=t.getAlbumIndex(a);return s[e]=[].concat(Object(oe["a"])(s[e]||[]),[a]),s}),{})}}]),t}(),re={name:"ListAlbums",components:{ListItemAlbum:Za,ModalDialogAlbum:ne,ModalDialog:G,CoverArtwork:Ta},props:["albums","media_kind"],data:function(){return{show_details_modal:!1,selected_album:{},show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{is_visible_artwork:function(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value},media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_album.media_kind},albums_list:function(){return Array.isArray(this.albums)?this.albums:this.albums.sortedAndFiltered},is_grouped:function(){return this.albums instanceof le&&this.albums.options.group}},methods:{open_album:function(t){this.selected_album=t,"podcast"===this.media_kind_resolved?this.$router.push({path:"/podcasts/"+t.id}):"audiobook"===this.media_kind_resolved?this.$router.push({path:"/audiobooks/"+t.id}):this.$router.push({path:"/music/albums/"+t.id})},open_dialog:function(t){this.selected_album=t,this.show_details_modal=!0},open_remove_podcast_dialog:function(){var t=this;X.library_album_tracks(this.selected_album.id,{limit:1}).then((function(s){var a=s.data;X.library_track_playlists(a.items[0].id).then((function(s){var a=s.data,e=a.items.filter((function(t){return"rss"===t.type}));1===e.length?(t.rss_playlist_to_remove=e[0],t.show_remove_podcast_modal=!0,t.show_details_modal=!1):t.$store.dispatch("add_notification",{text:"Podcast cannot be removed. Probably it was not added as an RSS playlist.",type:"danger"})}))}))},remove_podcast:function(){var t=this;this.show_remove_podcast_modal=!1,X.library_playlist_delete(this.rss_playlist_to_remove.id).then((function(){t.$emit("podcast-deleted")}))}}},ce=re,de=Object(N["a"])(ce,Ga,Ya,!1,null,null,null),ue=de.exports,pe=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[t._l(t.tracks,(function(s,e){return a("list-item-track",{key:s.id,attrs:{track:s},on:{click:function(a){return t.play_track(e,s)}}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("modal-dialog-track",{attrs:{show:t.show_details_modal,track:t.selected_track},on:{close:function(s){t.show_details_modal=!1}}})],2)},_e=[],me=function(t,s){var a=s._c;return a("div",{staticClass:"media",class:{"with-progress":s.slots().progress},attrs:{id:"index_"+s.props.track.title_sort.charAt(0).toUpperCase()}},[s.slots().icon?a("figure",{staticClass:"media-left fd-has-action",on:{click:s.listeners.click}},[s._t("icon")],2):s._e(),a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:s.listeners.click}},[a("h1",{staticClass:"title is-6",class:{"has-text-grey":"podcast"===s.props.track.media_kind&&s.props.track.play_count>0}},[s._v(s._s(s.props.track.title))]),a("h2",{staticClass:"subtitle is-7 has-text-grey"},[a("b",[s._v(s._s(s.props.track.artist))])]),a("h2",{staticClass:"subtitle is-7 has-text-grey"},[s._v(s._s(s.props.track.album))]),s._t("progress")],2),a("div",{staticClass:"media-right"},[s._t("actions")],2)])},he=[],fe={name:"ListItemTrack",props:["track"]},ve=fe,ye=Object(N["a"])(ve,me,he,!0,null,null,null),be=ye.exports,ge=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v(" "+t._s(t.track.title)+" ")]),a("p",{staticClass:"subtitle"},[t._v(" "+t._s(t.track.artist)+" ")]),"podcast"===t.track.media_kind?a("div",{staticClass:"buttons"},[t.track.play_count>0?a("a",{staticClass:"button is-small",on:{click:t.mark_new}},[t._v("Mark as new")]):t._e(),0===t.track.play_count?a("a",{staticClass:"button is-small",on:{click:t.mark_played}},[t._v("Mark as played")]):t._e()]):t._e(),a("div",{staticClass:"content is-small"},[a("p",[a("span",{staticClass:"heading"},[t._v("Album")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_album}},[t._v(t._s(t.track.album))])]),t.track.album_artist&&"audiobook"!==t.track.media_kind?a("p",[a("span",{staticClass:"heading"},[t._v("Album artist")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.track.album_artist))])]):t._e(),t.track.composer?a("p",[a("span",{staticClass:"heading"},[t._v("Composer")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.track.composer))])]):t._e(),t.track.date_released?a("p",[a("span",{staticClass:"heading"},[t._v("Release date")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("time")(t.track.date_released,"L")))])]):t.track.year>0?a("p",[a("span",{staticClass:"heading"},[t._v("Year")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.track.year))])]):t._e(),t.track.genre?a("p",[a("span",{staticClass:"heading"},[t._v("Genre")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_genre}},[t._v(t._s(t.track.genre))])]):t._e(),a("p",[a("span",{staticClass:"heading"},[t._v("Track / Disc")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.track.track_number)+" / "+t._s(t.track.disc_number))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Length")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("duration")(t.track.length_ms)))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Path")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.track.path))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Type")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.track.media_kind)+" - "+t._s(t.track.data_kind)+" "),"spotify"===t.track.data_kind?a("span",{staticClass:"has-text-weight-normal"},[t._v("("),a("a",{on:{click:t.open_spotify_artist}},[t._v("artist")]),t._v(", "),a("a",{on:{click:t.open_spotify_album}},[t._v("album")]),t._v(")")]):t._e()])]),a("p",[a("span",{staticClass:"heading"},[t._v("Quality")]),a("span",{staticClass:"title is-6"},[t._v(" "+t._s(t.track.type)+" "),t.track.samplerate?a("span",[t._v(" | "+t._s(t.track.samplerate)+" Hz")]):t._e(),t.track.channels?a("span",[t._v(" | "+t._s(t._f("channels")(t.track.channels)))]):t._e(),t.track.bitrate?a("span",[t._v(" | "+t._s(t.track.bitrate)+" Kb/s")]):t._e()])]),a("p",[a("span",{staticClass:"heading"},[t._v("Added at")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("time")(t.track.time_added,"L LT")))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Rating")]),a("span",{staticClass:"title is-6"},[t._v(t._s(Math.floor(t.track.rating/10))+" / 10")])])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play_track}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},ke=[],Ce={name:"ModalDialogTrack",props:["show","track"],data:function(){return{spotify_track:{}}},methods:{play_track:function(){this.$emit("close"),X.player_play_uri(this.track.uri,!1)},queue_add:function(){this.$emit("close"),X.queue_add(this.track.uri)},queue_add_next:function(){this.$emit("close"),X.queue_add_next(this.track.uri)},open_album:function(){this.$emit("close"),"podcast"===this.track.media_kind?this.$router.push({path:"/podcasts/"+this.track.album_id}):"audiobook"===this.track.media_kind?this.$router.push({path:"/audiobooks/"+this.track.album_id}):this.$router.push({path:"/music/albums/"+this.track.album_id})},open_artist:function(){this.$emit("close"),this.$router.push({path:"/music/artists/"+this.track.album_artist_id})},open_genre:function(){this.$router.push({name:"Genre",params:{genre:this.track.genre}})},open_spotify_artist:function(){this.$emit("close"),this.$router.push({path:"/music/spotify/artists/"+this.spotify_track.artists[0].id})},open_spotify_album:function(){this.$emit("close"),this.$router.push({path:"/music/spotify/albums/"+this.spotify_track.album.id})},mark_new:function(){var t=this;X.library_track_update(this.track.id,{play_count:"reset"}).then((function(){t.$emit("play-count-changed"),t.$emit("close")}))},mark_played:function(){var t=this;X.library_track_update(this.track.id,{play_count:"increment"}).then((function(){t.$emit("play-count-changed"),t.$emit("close")}))}},watch:{track:function(){var t=this;if(this.track&&"spotify"===this.track.data_kind){var s=new Js.a;s.setAccessToken(this.$store.state.spotify.webapi_token),s.getTrack(this.track.path.slice(this.track.path.lastIndexOf(":")+1)).then((function(s){t.spotify_track=s}))}else this.spotify_track={}}}},we=Ce,xe=Object(N["a"])(we,ge,ke,!1,null,null,null),$e=xe.exports,qe={name:"ListTracks",components:{ListItemTrack:be,ModalDialogTrack:$e},props:["tracks","uris","expression"],data:function(){return{show_details_modal:!1,selected_track:{}}},methods:{play_track:function(t,s){this.uris?X.player_play_uri(this.uris,!1,t):this.expression?X.player_play_expression(this.expression,!1,t):X.player_play_uri(s.uri,!1)},open_dialog:function(t){this.selected_track=t,this.show_details_modal=!0}}},Ae=qe,Se=Object(N["a"])(Ae,pe,_e,!1,null,null,null),je=Se.exports,Pe={load:function(t){return Promise.all([X.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}),X.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:3})])},set:function(t,s){t.recently_added=s[0].data.albums,t.recently_played=s[1].data.tracks}},Oe={name:"PageBrowse",mixins:[Ra(Pe)],components:{ContentWithHeading:Ms,TabsMusic:Fa,ListAlbums:ue,ListTracks:je},data:function(){return{recently_added:{items:[]},recently_played:{items:[]},show_track_details_modal:!1,selected_track:{}}},methods:{open_browse:function(t){this.$router.push({path:"/music/browse/"+t})}}},Te=Oe,Le=Object(N["a"])(Te,Da,Na,!1,null,null,null),Ee=Le.exports,Ie=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Recently added")]),a("p",{staticClass:"heading"},[t._v("albums")])]),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.recently_added.items}})],1)],2)],1)},ze=[],De={load:function(t){return X.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:50})},set:function(t,s){t.recently_added=s.data.albums}},Ne={name:"PageBrowseType",mixins:[Ra(De)],components:{ContentWithHeading:Ms,TabsMusic:Fa,ListAlbums:ue},data:function(){return{recently_added:{}}}},Re=Ne,Me=Object(N["a"])(Re,Ie,ze,!1,null,null,null),Ue=Me.exports,He=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Recently played")]),a("p",{staticClass:"heading"},[t._v("tracks")])]),a("template",{slot:"content"},[a("list-tracks",{attrs:{tracks:t.recently_played.items}})],1)],2)],1)},We=[],Be={load:function(t){return X.search({type:"track",expression:"time_played after 8 weeks ago and media_kind is music order by time_played desc",limit:50})},set:function(t,s){t.recently_played=s.data.tracks}},Fe={name:"PageBrowseType",mixins:[Ra(Be)],components:{ContentWithHeading:Ms,TabsMusic:Fa,ListTracks:je},data:function(){return{recently_played:{}}}},Ge=Fe,Ye=Object(N["a"])(Ge,He,We,!1,null,null,null),Ve=Ye.exports,Qe=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.artists_list.indexList}}),a("div",{staticClass:"columns"},[a("div",{staticClass:"column"},[a("p",{staticClass:"heading",staticStyle:{"margin-bottom":"24px"}},[t._v("Filter")]),a("div",{staticClass:"field"},[a("div",{staticClass:"control"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.hide_singles,expression:"hide_singles"}],staticClass:"switch",attrs:{id:"switchHideSingles",type:"checkbox",name:"switchHideSingles"},domProps:{checked:Array.isArray(t.hide_singles)?t._i(t.hide_singles,null)>-1:t.hide_singles},on:{change:function(s){var a=t.hide_singles,e=s.target,i=!!e.checked;if(Array.isArray(a)){var n=null,o=t._i(a,n);e.checked?o<0&&(t.hide_singles=a.concat([n])):o>-1&&(t.hide_singles=a.slice(0,o).concat(a.slice(o+1)))}else t.hide_singles=i}}}),a("label",{attrs:{for:"switchHideSingles"}},[t._v("Hide singles")])]),a("p",{staticClass:"help"},[t._v("If active, hides artists that only appear on singles or playlists.")])]),t.spotify_enabled?a("div",{staticClass:"field"},[a("div",{staticClass:"control"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.hide_spotify,expression:"hide_spotify"}],staticClass:"switch",attrs:{id:"switchHideSpotify",type:"checkbox",name:"switchHideSpotify"},domProps:{checked:Array.isArray(t.hide_spotify)?t._i(t.hide_spotify,null)>-1:t.hide_spotify},on:{change:function(s){var a=t.hide_spotify,e=s.target,i=!!e.checked;if(Array.isArray(a)){var n=null,o=t._i(a,n);e.checked?o<0&&(t.hide_spotify=a.concat([n])):o>-1&&(t.hide_spotify=a.slice(0,o).concat(a.slice(o+1)))}else t.hide_spotify=i}}}),a("label",{attrs:{for:"switchHideSpotify"}},[t._v("Hide artists from Spotify")])]),a("p",{staticClass:"help"},[t._v("If active, hides artists that only appear in your Spotify library.")])]):t._e()]),a("div",{staticClass:"column"},[a("p",{staticClass:"heading",staticStyle:{"margin-bottom":"24px"}},[t._v("Sort by")]),a("dropdown-menu",{attrs:{options:t.sort_options},model:{value:t.sort,callback:function(s){t.sort=s},expression:"sort"}})],1)])],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Artists")]),a("p",{staticClass:"heading"},[t._v(t._s(t.artists_list.sortedAndFiltered.length)+" Artists")])]),a("template",{slot:"heading-right"}),a("template",{slot:"content"},[a("list-artists",{attrs:{artists:t.artists_list}})],1)],2)],1)},Je=[],Ke=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",[a("nav",{staticClass:"buttons is-centered fd-is-square",staticStyle:{"margin-bottom":"16px"}},t._l(t.filtered_index,(function(s){return a("a",{key:s,staticClass:"button is-small",on:{click:function(a){return t.nav(s)}}},[t._v(t._s(s))])})),0)])},Xe=[],Ze={name:"IndexButtonList",props:["index"],computed:{filtered_index:function(){var t="!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~";return this.index.filter((function(s){return!t.includes(s)}))}},methods:{nav:function(t){this.$router.push({path:this.$router.currentRoute.path+"#index_"+t})},scroll_to_top:function(){window.scrollTo({top:0,behavior:"smooth"})}}},ti=Ze,si=Object(N["a"])(ti,Ke,Xe,!1,null,null,null),ai=si.exports,ei=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[t.is_grouped?a("div",t._l(t.artists.indexList,(function(s){return a("div",{key:s,staticClass:"mb-6"},[a("span",{staticClass:"tag is-info is-light is-small has-text-weight-bold",attrs:{id:"index_"+s}},[t._v(t._s(s))]),t._l(t.artists.grouped[s],(function(s){return a("list-item-artist",{key:s.id,attrs:{artist:s},on:{click:function(a){return t.open_artist(s)}}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)}))],2)})),0):a("div",t._l(t.artists_list,(function(s){return a("list-item-artist",{key:s.id,attrs:{artist:s},on:{click:function(a){return t.open_artist(s)}}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),1),a("modal-dialog-artist",{attrs:{show:t.show_details_modal,artist:t.selected_artist,media_kind:t.media_kind},on:{close:function(s){t.show_details_modal=!1}}})],1)},ii=[],ni=function(t,s){var a=s._c;return a("div",{staticClass:"media"},[a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:s.listeners.click}},[a("h1",{staticClass:"title is-6"},[s._v(s._s(s.props.artist.name))])]),a("div",{staticClass:"media-right"},[s._t("actions")],2)])},oi=[],li={name:"ListItemArtist",props:["artist"]},ri=li,ci=Object(N["a"])(ri,ni,oi,!0,null,null,null),di=ci.exports,ui=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[a("a",{staticClass:"has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.artist.name))])]),a("div",{staticClass:"content is-small"},[a("p",[a("span",{staticClass:"heading"},[t._v("Albums")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.artist.album_count))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Tracks")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.artist.track_count))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Type")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.artist.data_kind))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Added at")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("time")(t.artist.time_added,"L LT")))])])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},pi=[],_i={name:"ModalDialogArtist",props:["show","artist"],methods:{play:function(){this.$emit("close"),X.player_play_uri(this.artist.uri,!1)},queue_add:function(){this.$emit("close"),X.queue_add(this.artist.uri)},queue_add_next:function(){this.$emit("close"),X.queue_add_next(this.artist.uri)},open_artist:function(){this.$emit("close"),this.$router.push({path:"/music/artists/"+this.artist.id})}}},mi=_i,hi=Object(N["a"])(mi,ui,pi,!1,null,null,null),fi=hi.exports,vi=function(){function t(s){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{hideSingles:!1,hideSpotify:!1,sort:"Name",group:!1};Object(wa["a"])(this,t),this.items=s,this.options=a,this.grouped={},this.sortedAndFiltered=[],this.indexList=[],this.init()}return Object(xa["a"])(t,[{key:"init",value:function(){this.createSortedAndFilteredList(),this.createGroupedList(),this.createIndexList()}},{key:"getArtistIndex",value:function(t){return"Name"===this.options.sort?t.name_sort.charAt(0).toUpperCase():t.time_added.substring(0,4)}},{key:"isArtistVisible",value:function(t){return!(this.options.hideSingles&&t.track_count<=2*t.album_count)&&(!this.options.hideSpotify||"spotify"!==t.data_kind)}},{key:"createIndexList",value:function(){var t=this;this.indexList=Object(oe["a"])(new Set(this.sortedAndFiltered.map((function(s){return t.getArtistIndex(s)}))))}},{key:"createSortedAndFilteredList",value:function(){var t=this,s=this.items;(this.options.hideSingles||this.options.hideSpotify||this.options.hideOther)&&(s=s.filter((function(s){return t.isArtistVisible(s)}))),"Recently added"===this.options.sort&&(s=Object(oe["a"])(s).sort((function(t,s){return s.time_added.localeCompare(t.time_added)}))),this.sortedAndFiltered=s}},{key:"createGroupedList",value:function(){var t=this;this.options.group||(this.grouped={}),this.grouped=this.sortedAndFiltered.reduce((function(s,a){var e=t.getArtistIndex(a);return s[e]=[].concat(Object(oe["a"])(s[e]||[]),[a]),s}),{})}}]),t}(),yi={name:"ListArtists",components:{ListItemArtist:di,ModalDialogArtist:fi},props:["artists","media_kind"],data:function(){return{show_details_modal:!1,selected_artist:{}}},computed:{media_kind_resolved:function(){return this.media_kind?this.media_kind:this.selected_artist.media_kind},artists_list:function(){return Array.isArray(this.artists)?this.artists:this.artists.sortedAndFiltered},is_grouped:function(){return this.artists instanceof vi&&this.artists.options.group}},methods:{open_artist:function(t){this.selected_artist=t,"podcast"===this.media_kind_resolved||("audiobook"===this.media_kind_resolved?this.$router.push({path:"/audiobooks/artists/"+t.id}):this.$router.push({path:"/music/artists/"+t.id}))},open_dialog:function(t){this.selected_artist=t,this.show_details_modal=!0}}},bi=yi,gi=Object(N["a"])(bi,ei,ii,!1,null,null,null),ki=gi.exports,Ci=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.onClickOutside,expression:"onClickOutside"}],staticClass:"dropdown",class:{"is-active":t.is_active}},[a("div",{staticClass:"dropdown-trigger"},[a("button",{staticClass:"button",attrs:{"aria-haspopup":"true","aria-controls":"dropdown-menu"},on:{click:function(s){t.is_active=!t.is_active}}},[a("span",[t._v(t._s(t.value))]),t._m(0)])]),a("div",{staticClass:"dropdown-menu",attrs:{id:"dropdown-menu",role:"menu"}},[a("div",{staticClass:"dropdown-content"},t._l(t.options,(function(s){return a("a",{key:s,staticClass:"dropdown-item",class:{"is-active":t.value===s},on:{click:function(a){return t.select(s)}}},[t._v(" "+t._s(s)+" ")])})),0)])])},wi=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-chevron-down",attrs:{"aria-hidden":"true"}})])}],xi={name:"DropdownMenu",props:["value","options"],data:function(){return{is_active:!1}},methods:{onClickOutside:function(t){this.is_active=!1},select:function(t){this.is_active=!1,this.$emit("input",t)}}},$i=xi,qi=Object(N["a"])($i,Ci,wi,!1,null,null,null),Ai=qi.exports,Si={load:function(t){return X.library_artists("music")},set:function(t,s){t.artists=s.data}},ji={name:"PageArtists",mixins:[Ra(Si)],components:{ContentWithHeading:Ms,TabsMusic:Fa,IndexButtonList:ai,ListArtists:ki,DropdownMenu:Ai},data:function(){return{artists:{items:[]},sort_options:["Name","Recently added"]}},computed:{artists_list:function(){return new vi(this.artists.items,{hideSingles:this.hide_singles,hideSpotify:this.hide_spotify,sort:this.sort,group:!0})},spotify_enabled:function(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get:function(){return this.$store.state.hide_singles},set:function(t){this.$store.commit(S,t)}},hide_spotify:{get:function(){return this.$store.state.hide_spotify},set:function(t){this.$store.commit(j,t)}},sort:{get:function(){return this.$store.state.artists_sort},set:function(t){this.$store.commit(P,t)}}},methods:{scrollToTop:function(){window.scrollTo({top:0,behavior:"smooth"})}}},Pi=ji,Oi=Object(N["a"])(Pi,Qe,Je,!1,null,null,null),Ti=Oi.exports,Li=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"options"},[a("div",{staticClass:"columns"},[a("div",{staticClass:"column"},[a("p",{staticClass:"heading",staticStyle:{"margin-bottom":"24px"}},[t._v("Sort by")]),a("dropdown-menu",{attrs:{options:t.sort_options},model:{value:t.sort,callback:function(s){t.sort=s},expression:"sort"}})],1)])]),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v(t._s(t.artist.name))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_artist_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.artist.album_count)+" albums | "),a("a",{staticClass:"has-text-link",on:{click:t.open_tracks}},[t._v(t._s(t.artist.track_count)+" tracks")])]),a("list-albums",{attrs:{albums:t.albums_list}}),a("modal-dialog-artist",{attrs:{show:t.show_artist_details_modal,artist:t.artist},on:{close:function(s){t.show_artist_details_modal=!1}}})],1)],2)},Ei=[],Ii=(a("a15b"),{load:function(t){return Promise.all([X.library_artist(t.params.artist_id),X.library_artist_albums(t.params.artist_id)])},set:function(t,s){t.artist=s[0].data,t.albums=s[1].data}}),zi={name:"PageArtist",mixins:[Ra(Ii)],components:{ContentWithHeading:Ms,ListAlbums:ue,ModalDialogArtist:fi,DropdownMenu:Ai},data:function(){return{artist:{},albums:{items:[]},sort_options:["Name","Release date"],show_artist_details_modal:!1}},computed:{albums_list:function(){return new le(this.albums.items,{sort:this.sort,group:!1})},sort:{get:function(){return this.$store.state.artist_albums_sort},set:function(t){this.$store.commit(O,t)}}},methods:{open_tracks:function(){this.$router.push({path:"/music/artists/"+this.artist.id+"/tracks"})},play:function(){X.player_play_uri(this.albums.items.map((function(t){return t.uri})).join(","),!0)}}},Di=zi,Ni=Object(N["a"])(Di,Li,Ei,!1,null,null,null),Ri=Ni.exports,Mi=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.albums_list.indexList}}),a("div",{staticClass:"columns"},[a("div",{staticClass:"column"},[a("p",{staticClass:"heading",staticStyle:{"margin-bottom":"24px"}},[t._v("Filter")]),a("div",{staticClass:"field"},[a("div",{staticClass:"control"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.hide_singles,expression:"hide_singles"}],staticClass:"switch",attrs:{id:"switchHideSingles",type:"checkbox",name:"switchHideSingles"},domProps:{checked:Array.isArray(t.hide_singles)?t._i(t.hide_singles,null)>-1:t.hide_singles},on:{change:function(s){var a=t.hide_singles,e=s.target,i=!!e.checked;if(Array.isArray(a)){var n=null,o=t._i(a,n);e.checked?o<0&&(t.hide_singles=a.concat([n])):o>-1&&(t.hide_singles=a.slice(0,o).concat(a.slice(o+1)))}else t.hide_singles=i}}}),a("label",{attrs:{for:"switchHideSingles"}},[t._v("Hide singles")])]),a("p",{staticClass:"help"},[t._v("If active, hides singles and albums with tracks that only appear in playlists.")])]),t.spotify_enabled?a("div",{staticClass:"field"},[a("div",{staticClass:"control"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.hide_spotify,expression:"hide_spotify"}],staticClass:"switch",attrs:{id:"switchHideSpotify",type:"checkbox",name:"switchHideSpotify"},domProps:{checked:Array.isArray(t.hide_spotify)?t._i(t.hide_spotify,null)>-1:t.hide_spotify},on:{change:function(s){var a=t.hide_spotify,e=s.target,i=!!e.checked;if(Array.isArray(a)){var n=null,o=t._i(a,n);e.checked?o<0&&(t.hide_spotify=a.concat([n])):o>-1&&(t.hide_spotify=a.slice(0,o).concat(a.slice(o+1)))}else t.hide_spotify=i}}}),a("label",{attrs:{for:"switchHideSpotify"}},[t._v("Hide albums from Spotify")])]),a("p",{staticClass:"help"},[t._v("If active, hides albums that only appear in your Spotify library.")])]):t._e()]),a("div",{staticClass:"column"},[a("p",{staticClass:"heading",staticStyle:{"margin-bottom":"24px"}},[t._v("Sort by")]),a("dropdown-menu",{attrs:{options:t.sort_options},model:{value:t.sort,callback:function(s){t.sort=s},expression:"sort"}})],1)])],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Albums")]),a("p",{staticClass:"heading"},[t._v(t._s(t.albums_list.sortedAndFiltered.length)+" Albums")])]),a("template",{slot:"heading-right"}),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.albums_list}})],1)],2)],1)},Ui=[],Hi={load:function(t){return X.library_albums("music")},set:function(t,s){t.albums=s.data,t.index_list=Object(oe["a"])(new Set(t.albums.items.filter((function(s){return!t.$store.state.hide_singles||s.track_count>2})).map((function(t){return t.name_sort.charAt(0).toUpperCase()}))))}},Wi={name:"PageAlbums",mixins:[Ra(Hi)],components:{ContentWithHeading:Ms,TabsMusic:Fa,IndexButtonList:ai,ListAlbums:ue,DropdownMenu:Ai},data:function(){return{albums:{items:[]},sort_options:["Name","Recently added","Recently released"]}},computed:{albums_list:function(){return new le(this.albums.items,{hideSingles:this.hide_singles,hideSpotify:this.hide_spotify,sort:this.sort,group:!0})},spotify_enabled:function(){return this.$store.state.spotify.webapi_token_valid},hide_singles:{get:function(){return this.$store.state.hide_singles},set:function(t){this.$store.commit(S,t)}},hide_spotify:{get:function(){return this.$store.state.hide_spotify},set:function(t){this.$store.commit(j,t)}},sort:{get:function(){return this.$store.state.albums_sort},set:function(t){this.$store.commit(T,t)}}},methods:{scrollToTop:function(){window.scrollTo({top:0,behavior:"smooth"})}}},Bi=Wi,Fi=Object(N["a"])(Bi,Mi,Ui,!1,null,null,null),Gi=Fi.exports,Yi=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-hero",[a("template",{slot:"heading-left"},[a("h1",{staticClass:"title is-5"},[t._v(t._s(t.album.name))]),a("h2",{staticClass:"subtitle is-6 has-text-link has-text-weight-normal"},[a("a",{staticClass:"has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.album.artist))])]),a("div",{staticClass:"buttons fd-is-centered-mobile fd-has-margin-top"},[a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])]),a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_album_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])])])]),a("template",{slot:"heading-right"},[a("p",{staticClass:"image is-square fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:t.album.artwork_url,artist:t.album.artist,album:t.album.name},on:{click:function(s){t.show_album_details_modal=!0}}})],1)]),a("template",{slot:"content"},[a("p",{staticClass:"heading is-7 has-text-centered-mobile fd-has-margin-top"},[t._v(t._s(t.album.track_count)+" tracks")]),a("list-tracks",{attrs:{tracks:t.tracks,uris:t.album.uri}}),a("modal-dialog-album",{attrs:{show:t.show_album_details_modal,album:t.album},on:{close:function(s){t.show_album_details_modal=!1}}})],1)],2)},Vi=[],Qi=a("fd4d"),Ji={load:function(t){return Promise.all([X.library_album(t.params.album_id),X.library_album_tracks(t.params.album_id)])},set:function(t,s){t.album=s[0].data,t.tracks=s[1].data.items}},Ki={name:"PageAlbum",mixins:[Ra(Ji)],components:{ContentWithHero:Qi["default"],ListTracks:je,ModalDialogAlbum:ne,CoverArtwork:Ta},data:function(){return{album:{},tracks:[],show_album_details_modal:!1}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/music/artists/"+this.album.artist_id})},play:function(){X.player_play_uri(this.album.uri,!0)}}},Xi=Ki,Zi=Object(N["a"])(Xi,Yi,Vi,!1,null,null,null),tn=Zi.exports,sn=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.index_list}})],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Genres")]),a("p",{staticClass:"heading"},[t._v(t._s(t.genres.total)+" genres")])]),a("template",{slot:"content"},[t._l(t.genres.items,(function(s){return a("list-item-genre",{key:s.name,attrs:{genre:s},on:{click:function(a){return t.open_genre(s)}}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("modal-dialog-genre",{attrs:{show:t.show_details_modal,genre:t.selected_genre},on:{close:function(s){t.show_details_modal=!1}}})],2)],2)],1)},an=[],en=function(t,s){var a=s._c;return a("div",{staticClass:"media",attrs:{id:"index_"+s.props.genre.name.charAt(0).toUpperCase()}},[a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:s.listeners.click}},[a("h1",{staticClass:"title is-6"},[s._v(s._s(s.props.genre.name))])]),a("div",{staticClass:"media-right"},[s._t("actions")],2)])},nn=[],on={name:"ListItemGenre",props:["genre"]},ln=on,rn=Object(N["a"])(ln,en,nn,!0,null,null,null),cn=rn.exports,dn=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[a("a",{staticClass:"has-text-link",on:{click:t.open_genre}},[t._v(t._s(t.genre.name))])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},un=[],pn={name:"ModalDialogGenre",props:["show","genre"],methods:{play:function(){this.$emit("close"),X.player_play_expression('genre is "'+this.genre.name+'" and media_kind is music',!1)},queue_add:function(){this.$emit("close"),X.queue_expression_add('genre is "'+this.genre.name+'" and media_kind is music')},queue_add_next:function(){this.$emit("close"),X.queue_expression_add_next('genre is "'+this.genre.name+'" and media_kind is music')},open_genre:function(){this.$emit("close"),this.$router.push({name:"Genre",params:{genre:this.genre.name}})}}},_n=pn,mn=Object(N["a"])(_n,dn,un,!1,null,null,null),hn=mn.exports,fn={load:function(t){return X.library_genres()},set:function(t,s){t.genres=s.data}},vn={name:"PageGenres",mixins:[Ra(fn)],components:{ContentWithHeading:Ms,TabsMusic:Fa,IndexButtonList:ai,ListItemGenre:cn,ModalDialogGenre:hn},data:function(){return{genres:{items:[]},show_details_modal:!1,selected_genre:{}}},computed:{index_list:function(){return Object(oe["a"])(new Set(this.genres.items.map((function(t){return t.name.charAt(0).toUpperCase()}))))}},methods:{open_genre:function(t){this.$router.push({name:"Genre",params:{genre:t.name}})},open_dialog:function(t){this.selected_genre=t,this.show_details_modal=!0}}},yn=vn,bn=Object(N["a"])(yn,sn,an,!1,null,null,null),gn=bn.exports,kn=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.index_list}})],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v(t._s(t.name))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_genre_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.genre_albums.total)+" albums | "),a("a",{staticClass:"has-text-link",on:{click:t.open_tracks}},[t._v("tracks")])]),a("list-albums",{attrs:{albums:t.genre_albums.items}}),a("modal-dialog-genre",{attrs:{show:t.show_genre_details_modal,genre:{name:t.name}},on:{close:function(s){t.show_genre_details_modal=!1}}})],1)],2)],1)},Cn=[],wn={load:function(t){return X.library_genre(t.params.genre)},set:function(t,s){t.name=t.$route.params.genre,t.genre_albums=s.data.albums}},xn={name:"PageGenre",mixins:[Ra(wn)],components:{ContentWithHeading:Ms,IndexButtonList:ai,ListAlbums:ue,ModalDialogGenre:hn},data:function(){return{name:"",genre_albums:{items:[]},show_genre_details_modal:!1}},computed:{index_list:function(){return Object(oe["a"])(new Set(this.genre_albums.items.map((function(t){return t.name.charAt(0).toUpperCase()}))))}},methods:{open_tracks:function(){this.show_details_modal=!1,this.$router.push({name:"GenreTracks",params:{genre:this.name}})},play:function(){X.player_play_expression('genre is "'+this.name+'" and media_kind is music',!0)},open_dialog:function(t){this.selected_album=t,this.show_details_modal=!0}}},$n=xn,qn=Object(N["a"])($n,kn,Cn,!1,null,null,null),An=qn.exports,Sn=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.index_list}})],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v(t._s(t.genre))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_genre_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[a("a",{staticClass:"has-text-link",on:{click:t.open_genre}},[t._v("albums")]),t._v(" | "+t._s(t.tracks.total)+" tracks")]),a("list-tracks",{attrs:{tracks:t.tracks.items,expression:t.expression}}),a("modal-dialog-genre",{attrs:{show:t.show_genre_details_modal,genre:{name:t.genre}},on:{close:function(s){t.show_genre_details_modal=!1}}})],1)],2)],1)},jn=[],Pn={load:function(t){return X.library_genre_tracks(t.params.genre)},set:function(t,s){t.genre=t.$route.params.genre,t.tracks=s.data.tracks}},On={name:"PageGenreTracks",mixins:[Ra(Pn)],components:{ContentWithHeading:Ms,ListTracks:je,IndexButtonList:ai,ModalDialogGenre:hn},data:function(){return{tracks:{items:[]},genre:"",show_genre_details_modal:!1}},computed:{index_list:function(){return Object(oe["a"])(new Set(this.tracks.items.map((function(t){return t.title_sort.charAt(0).toUpperCase()}))))},expression:function(){return'genre is "'+this.genre+'" and media_kind is music'}},methods:{open_genre:function(){this.show_details_modal=!1,this.$router.push({name:"Genre",params:{genre:this.genre}})},play:function(){X.player_play_expression(this.expression,!0)}}},Tn=On,Ln=Object(N["a"])(Tn,Sn,jn,!1,null,null,null),En=Ln.exports,In=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.index_list}})],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v(t._s(t.artist.name))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_artist_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[a("a",{staticClass:"has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.artist.album_count)+" albums")]),t._v(" | "+t._s(t.artist.track_count)+" tracks")]),a("list-tracks",{attrs:{tracks:t.tracks.items,uris:t.track_uris}}),a("modal-dialog-artist",{attrs:{show:t.show_artist_details_modal,artist:t.artist},on:{close:function(s){t.show_artist_details_modal=!1}}})],1)],2)],1)},zn=[],Dn={load:function(t){return Promise.all([X.library_artist(t.params.artist_id),X.library_artist_tracks(t.params.artist_id)])},set:function(t,s){t.artist=s[0].data,t.tracks=s[1].data.tracks}},Nn={name:"PageArtistTracks",mixins:[Ra(Dn)],components:{ContentWithHeading:Ms,ListTracks:je,IndexButtonList:ai,ModalDialogArtist:fi},data:function(){return{artist:{},tracks:{items:[]},show_artist_details_modal:!1}},computed:{index_list:function(){return Object(oe["a"])(new Set(this.tracks.items.map((function(t){return t.title_sort.charAt(0).toUpperCase()}))))},track_uris:function(){return this.tracks.items.map((function(t){return t.uri})).join(",")}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/music/artists/"+this.artist.id})},play:function(){X.player_play_uri(this.tracks.items.map((function(t){return t.uri})).join(","),!0)}}},Rn=Nn,Mn=Object(N["a"])(Rn,In,zn,!1,null,null,null),Un=Mn.exports,Hn=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[t.new_episodes.items.length>0?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("New episodes")])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small",on:{click:t.mark_all_played}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-pencil"})]),a("span",[t._v("Mark All Played")])])])]),a("template",{slot:"content"},[t._l(t.new_episodes.items,(function(s){return a("list-item-track",{key:s.id,attrs:{track:s},on:{click:function(a){return t.play_track(s)}}},[a("template",{slot:"progress"},[a("range-slider",{staticClass:"track-progress",attrs:{min:"0",max:s.length_ms,step:"1",disabled:!0,value:s.seek_ms}})],1),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_track_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("modal-dialog-track",{attrs:{show:t.show_track_details_modal,track:t.selected_track},on:{close:function(s){t.show_track_details_modal=!1},"play-count-changed":t.reload_new_episodes}})],2)],2):t._e(),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Podcasts")]),a("p",{staticClass:"heading"},[t._v(t._s(t.albums.total)+" podcasts")])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small",on:{click:t.open_add_podcast_dialog}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-rss"})]),a("span",[t._v("Add Podcast")])])])]),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.albums.items},on:{"play-count-changed":function(s){return t.reload_new_episodes()},"podcast-deleted":function(s){return t.reload_podcasts()}}}),a("modal-dialog-add-rss",{attrs:{show:t.show_url_modal},on:{close:function(s){t.show_url_modal=!1},"podcast-added":function(s){return t.reload_podcasts()}}})],1)],2)],1)},Wn=[],Bn=(a("4160"),a("159b"),function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v("Add Podcast RSS feed URL")]),a("form",{on:{submit:function(s){return s.preventDefault(),t.add_stream(s)}}},[a("div",{staticClass:"field"},[a("p",{staticClass:"control is-expanded has-icons-left"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.url,expression:"url"}],ref:"url_field",staticClass:"input is-shadowless",attrs:{type:"text",placeholder:"http://url-to-rss",disabled:t.loading},domProps:{value:t.url},on:{input:function(s){s.target.composing||(t.url=s.target.value)}}}),a("span",{staticClass:"icon is-left"},[a("i",{staticClass:"mdi mdi-rss"})])]),a("p",{staticClass:"help"},[t._v("Adding a podcast includes creating an RSS playlist, that will allow forked-daapd to manage the podcast subscription. ")])])])]),t.loading?a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item button is-loading"},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-web"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Processing ...")])])]):a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-danger",on:{click:function(s){return t.$emit("close")}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-cancel"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Cancel")])]),a("a",{staticClass:"card-footer-item has-background-info has-text-white has-text-weight-bold",on:{click:t.add_stream}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)}),Fn=[],Gn={name:"ModalDialogAddRss",props:["show"],data:function(){return{url:"",loading:!1}},methods:{add_stream:function(){var t=this;this.loading=!0,X.library_add(this.url).then((function(){t.$emit("close"),t.$emit("podcast-added"),t.url=""})).catch((function(){t.loading=!1}))}},watch:{show:function(){var t=this;this.show&&(this.loading=!1,setTimeout((function(){t.$refs.url_field.focus()}),10))}}},Yn=Gn,Vn=Object(N["a"])(Yn,Bn,Fn,!1,null,null,null),Qn=Vn.exports,Jn={load:function(t){return Promise.all([X.library_albums("podcast"),X.library_podcasts_new_episodes()])},set:function(t,s){t.albums=s[0].data,t.new_episodes=s[1].data.tracks}},Kn={name:"PagePodcasts",mixins:[Ra(Jn)],components:{ContentWithHeading:Ms,ListItemTrack:be,ListAlbums:ue,ModalDialogTrack:$e,ModalDialogAddRss:Qn,RangeSlider:ct.a},data:function(){return{albums:{items:[]},new_episodes:{items:[]},show_url_modal:!1,show_track_details_modal:!1,selected_track:{}}},methods:{play_track:function(t){X.player_play_uri(t.uri,!1)},open_track_dialog:function(t){this.selected_track=t,this.show_track_details_modal=!0},mark_all_played:function(){this.new_episodes.items.forEach((function(t){X.library_track_update(t.id,{play_count:"increment"})})),this.new_episodes.items={}},open_add_podcast_dialog:function(t){this.show_url_modal=!0},reload_new_episodes:function(){var t=this;X.library_podcasts_new_episodes().then((function(s){var a=s.data;t.new_episodes=a.tracks}))},reload_podcasts:function(){var t=this;X.library_albums("podcast").then((function(s){var a=s.data;t.albums=a,t.reload_new_episodes()}))}}},Xn=Kn,Zn=Object(N["a"])(Xn,Hn,Wn,!1,null,null,null),to=Zn.exports,so=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v(t._s(t.album.name)+" ")])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_album_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),a("span",[t._v("Play")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.album.track_count)+" tracks")]),t._l(t.tracks,(function(s){return a("list-item-track",{key:s.id,attrs:{track:s},on:{click:function(a){return t.play_track(s)}}},[a("template",{slot:"progress"},[a("range-slider",{staticClass:"track-progress",attrs:{min:"0",max:s.length_ms,step:"1",disabled:!0,value:s.seek_ms}})],1),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("modal-dialog-track",{attrs:{show:t.show_details_modal,track:t.selected_track},on:{close:function(s){t.show_details_modal=!1},"play-count-changed":t.reload_tracks}}),a("modal-dialog-album",{attrs:{show:t.show_album_details_modal,album:t.album,media_kind:"podcast",new_tracks:t.new_tracks},on:{close:function(s){t.show_album_details_modal=!1},"play-count-changed":t.reload_tracks,"remove-podcast":t.open_remove_podcast_dialog}}),a("modal-dialog",{attrs:{show:t.show_remove_podcast_modal,title:"Remove podcast",delete_action:"Remove"},on:{close:function(s){t.show_remove_podcast_modal=!1},delete:t.remove_podcast}},[a("template",{slot:"modal-content"},[a("p",[t._v("Permanently remove this podcast from your library?")]),a("p",{staticClass:"is-size-7"},[t._v("(This will also remove the RSS playlist "),a("b",[t._v(t._s(t.rss_playlist_to_remove.name))]),t._v(".)")])])],2)],2)],2)},ao=[],eo={load:function(t){return Promise.all([X.library_album(t.params.album_id),X.library_podcast_episodes(t.params.album_id)])},set:function(t,s){t.album=s[0].data,t.tracks=s[1].data.tracks.items}},io={name:"PagePodcast",mixins:[Ra(eo)],components:{ContentWithHeading:Ms,ListItemTrack:be,ModalDialogTrack:$e,RangeSlider:ct.a,ModalDialogAlbum:ne,ModalDialog:G},data:function(){return{album:{},tracks:[],show_details_modal:!1,selected_track:{},show_album_details_modal:!1,show_remove_podcast_modal:!1,rss_playlist_to_remove:{}}},computed:{new_tracks:function(){return this.tracks.filter((function(t){return 0===t.play_count})).length}},methods:{play:function(){X.player_play_uri(this.album.uri,!1)},play_track:function(t){X.player_play_uri(t.uri,!1)},open_dialog:function(t){this.selected_track=t,this.show_details_modal=!0},open_remove_podcast_dialog:function(){var t=this;this.show_album_details_modal=!1,X.library_track_playlists(this.tracks[0].id).then((function(s){var a=s.data,e=a.items.filter((function(t){return"rss"===t.type}));1===e.length?(t.rss_playlist_to_remove=e[0],t.show_remove_podcast_modal=!0):t.$store.dispatch("add_notification",{text:"Podcast cannot be removed. Probably it was not added as an RSS playlist.",type:"danger"})}))},remove_podcast:function(){var t=this;this.show_remove_podcast_modal=!1,X.library_playlist_delete(this.rss_playlist_to_remove.id).then((function(){t.$router.replace({path:"/podcasts"})}))},reload_tracks:function(){var t=this;X.library_podcast_episodes(this.album.id).then((function(s){var a=s.data;t.tracks=a.tracks.items}))}}},no=io,oo=Object(N["a"])(no,so,ao,!1,null,null,null),lo=oo.exports,ro=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-audiobooks"),a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.albums_list.indexList}})],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Audiobooks")]),a("p",{staticClass:"heading"},[t._v(t._s(t.albums_list.sortedAndFiltered.length)+" Audiobooks")])]),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.albums_list}})],1)],2)],1)},co=[],uo=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",{staticClass:"section fd-tabs-section"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("div",{staticClass:"tabs is-centered is-small"},[a("ul",[a("router-link",{attrs:{tag:"li",to:"/audiobooks/artists","active-class":"is-active"}},[a("a",[a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-artist"})]),a("span",{},[t._v("Authors")])])]),a("router-link",{attrs:{tag:"li",to:"/audiobooks/albums","active-class":"is-active"}},[a("a",[a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-album"})]),a("span",{},[t._v("Audiobooks")])])])],1)])])])])])},po=[],_o={name:"TabsAudiobooks"},mo=_o,ho=Object(N["a"])(mo,uo,po,!1,null,null,null),fo=ho.exports,vo={load:function(t){return X.library_albums("audiobook")},set:function(t,s){t.albums=s.data}},yo={name:"PageAudiobooksAlbums",mixins:[Ra(vo)],components:{TabsAudiobooks:fo,ContentWithHeading:Ms,IndexButtonList:ai,ListAlbums:ue},data:function(){return{albums:{items:[]}}},computed:{albums_list:function(){return new le(this.albums.items,{sort:"Name",group:!0})}},methods:{}},bo=yo,go=Object(N["a"])(bo,ro,co,!1,null,null,null),ko=go.exports,Co=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-audiobooks"),a("content-with-heading",[a("template",{slot:"options"},[a("index-button-list",{attrs:{index:t.artists_list.indexList}})],1),a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Authors")]),a("p",{staticClass:"heading"},[t._v(t._s(t.artists_list.sortedAndFiltered.length)+" Authors")])]),a("template",{slot:"heading-right"}),a("template",{slot:"content"},[a("list-artists",{attrs:{artists:t.artists_list}})],1)],2)],1)},wo=[],xo={load:function(t){return X.library_artists("audiobook")},set:function(t,s){t.artists=s.data}},$o={name:"PageAudiobooksArtists",mixins:[Ra(xo)],components:{ContentWithHeading:Ms,TabsAudiobooks:fo,IndexButtonList:ai,ListArtists:ki},data:function(){return{artists:{items:[]}}},computed:{artists_list:function(){return new vi(this.artists.items,{sort:"Name",group:!0})}},methods:{}},qo=$o,Ao=Object(N["a"])(qo,Co,wo,!1,null,null,null),So=Ao.exports,jo=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v(t._s(t.artist.name))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_artist_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.artist.album_count)+" albums")]),a("list-albums",{attrs:{albums:t.albums.items}}),a("modal-dialog-artist",{attrs:{show:t.show_artist_details_modal,artist:t.artist},on:{close:function(s){t.show_artist_details_modal=!1}}})],1)],2)},Po=[],Oo={load:function(t){return Promise.all([X.library_artist(t.params.artist_id),X.library_artist_albums(t.params.artist_id)])},set:function(t,s){t.artist=s[0].data,t.albums=s[1].data}},To={name:"PageAudiobooksArtist",mixins:[Ra(Oo)],components:{ContentWithHeading:Ms,ListAlbums:ue,ModalDialogArtist:fi},data:function(){return{artist:{},albums:{},show_artist_details_modal:!1}},methods:{play:function(){X.player_play_uri(this.albums.items.map((function(t){return t.uri})).join(","),!1)}}},Lo=To,Eo=Object(N["a"])(Lo,jo,Po,!1,null,null,null),Io=Eo.exports,zo=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-hero",[a("template",{slot:"heading-left"},[a("h1",{staticClass:"title is-5"},[t._v(t._s(t.album.name))]),a("h2",{staticClass:"subtitle is-6 has-text-link has-text-weight-normal"},[a("a",{staticClass:"has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.album.artist))])]),a("div",{staticClass:"buttons fd-is-centered-mobile fd-has-margin-top"},[a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",[t._v("Play")])]),a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_album_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])])])]),a("template",{slot:"heading-right"},[a("p",{staticClass:"image is-square fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:t.album.artwork_url,artist:t.album.artist,album:t.album.name},on:{click:function(s){t.show_album_details_modal=!0}}})],1)]),a("template",{slot:"content"},[a("p",{staticClass:"heading is-7 has-text-centered-mobile fd-has-margin-top"},[t._v(t._s(t.album.track_count)+" tracks")]),a("list-tracks",{attrs:{tracks:t.tracks,uris:t.album.uri}}),a("modal-dialog-album",{attrs:{show:t.show_album_details_modal,album:t.album,media_kind:"audiobook"},on:{close:function(s){t.show_album_details_modal=!1}}})],1)],2)},Do=[],No={load:function(t){return Promise.all([X.library_album(t.params.album_id),X.library_album_tracks(t.params.album_id)])},set:function(t,s){t.album=s[0].data,t.tracks=s[1].data.items}},Ro={name:"PageAudiobooksAlbum",mixins:[Ra(No)],components:{ContentWithHero:Qi["default"],ListTracks:je,ModalDialogAlbum:ne,CoverArtwork:Ta},data:function(){return{album:{},tracks:[],show_album_details_modal:!1}},methods:{open_artist:function(){this.show_details_modal=!1,this.$router.push({path:"/audiobooks/artists/"+this.album.artist_id})},play:function(){X.player_play_uri(this.album.uri,!1)},play_track:function(t){X.player_play_uri(this.album.uri,!1,t)},open_dialog:function(t){this.selected_track=t,this.show_details_modal=!0}}},Mo=Ro,Uo=Object(N["a"])(Mo,zo,Do,!1,null,null,null),Ho=Uo.exports,Wo=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v(t._s(t.playlist.name))]),a("p",{staticClass:"heading"},[t._v(t._s(t.playlists.total)+" playlists")])]),a("template",{slot:"content"},[a("list-playlists",{attrs:{playlists:t.playlists.items}})],1)],2)},Bo=[],Fo=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[t._l(t.playlists,(function(s){return a("list-item-playlist",{key:s.id,attrs:{playlist:s},on:{click:function(a){return t.open_playlist(s)}}},[a("template",{slot:"icon"},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi",class:{"mdi-library-music":"folder"!==s.type,"mdi-rss":"rss"===s.type,"mdi-folder":"folder"===s.type}})])]),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("modal-dialog-playlist",{attrs:{show:t.show_details_modal,playlist:t.selected_playlist},on:{close:function(s){t.show_details_modal=!1}}})],2)},Go=[],Yo=function(t,s){var a=s._c;return a("div",{staticClass:"media"},[s.slots().icon?a("figure",{staticClass:"media-left fd-has-action",on:{click:s.listeners.click}},[s._t("icon")],2):s._e(),a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:s.listeners.click}},[a("h1",{staticClass:"title is-6"},[s._v(s._s(s.props.playlist.name))])]),a("div",{staticClass:"media-right"},[s._t("actions")],2)])},Vo=[],Qo={name:"ListItemPlaylist",props:["playlist"]},Jo=Qo,Ko=Object(N["a"])(Jo,Yo,Vo,!0,null,null,null),Xo=Ko.exports,Zo=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[a("a",{staticClass:"has-text-link",on:{click:t.open_playlist}},[t._v(t._s(t.playlist.name))])]),a("div",{staticClass:"content is-small"},[a("p",[a("span",{staticClass:"heading"},[t._v("Path")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.playlist.path))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Type")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.playlist.type))])])])]),t.playlist.folder?t._e():a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},tl=[],sl={name:"ModalDialogPlaylist",props:["show","playlist","uris"],methods:{play:function(){this.$emit("close"),X.player_play_uri(this.uris?this.uris:this.playlist.uri,!1)},queue_add:function(){this.$emit("close"),X.queue_add(this.uris?this.uris:this.playlist.uri)},queue_add_next:function(){this.$emit("close"),X.queue_add_next(this.uris?this.uris:this.playlist.uri)},open_playlist:function(){this.$emit("close"),this.$router.push({path:"/playlists/"+this.playlist.id+"/tracks"})}}},al=sl,el=Object(N["a"])(al,Zo,tl,!1,null,null,null),il=el.exports,nl={name:"ListPlaylists",components:{ListItemPlaylist:Xo,ModalDialogPlaylist:il},props:["playlists"],data:function(){return{show_details_modal:!1,selected_playlist:{}}},methods:{open_playlist:function(t){"folder"!==t.type?this.$router.push({path:"/playlists/"+t.id+"/tracks"}):this.$router.push({path:"/playlists/"+t.id})},open_dialog:function(t){this.selected_playlist=t,this.show_details_modal=!0}}},ol=nl,ll=Object(N["a"])(ol,Fo,Go,!1,null,null,null),rl=ll.exports,cl={load:function(t){return Promise.all([X.library_playlist(t.params.playlist_id),X.library_playlist_folder(t.params.playlist_id)])},set:function(t,s){t.playlist=s[0].data,t.playlists=s[1].data}},dl={name:"PagePlaylists",mixins:[Ra(cl)],components:{ContentWithHeading:Ms,ListPlaylists:rl},data:function(){return{playlist:{},playlists:{}}}},ul=dl,pl=Object(N["a"])(ul,Wo,Bo,!1,null,null,null),_l=pl.exports,ml=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v(t._s(t.playlist.name))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_playlist_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.tracks.length)+" tracks")]),a("list-tracks",{attrs:{tracks:t.tracks,uris:t.uris}}),a("modal-dialog-playlist",{attrs:{show:t.show_playlist_details_modal,playlist:t.playlist,uris:t.uris},on:{close:function(s){t.show_playlist_details_modal=!1}}})],1)],2)},hl=[],fl={load:function(t){return Promise.all([X.library_playlist(t.params.playlist_id),X.library_playlist_tracks(t.params.playlist_id)])},set:function(t,s){t.playlist=s[0].data,t.tracks=s[1].data.items}},vl={name:"PagePlaylist",mixins:[Ra(fl)],components:{ContentWithHeading:Ms,ListTracks:je,ModalDialogPlaylist:il},data:function(){return{playlist:{},tracks:[],show_playlist_details_modal:!1}},computed:{uris:function(){return this.playlist.random?this.tracks.map((function(t){return t.uri})).join(","):this.playlist.uri}},methods:{play:function(){X.player_play_uri(this.uris,!0)}}},yl=vl,bl=Object(N["a"])(yl,ml,hl,!1,null,null,null),gl=bl.exports,kl=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Files")]),a("p",{staticClass:"title is-7 has-text-grey"},[t._v(t._s(t.current_directory))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){return t.open_directory_dialog({path:t.current_directory})}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",[t._v("Play")])])])]),a("template",{slot:"content"},[t.$route.query.directory?a("div",{staticClass:"media",on:{click:function(s){return t.open_parent_directory()}}},[a("figure",{staticClass:"media-left fd-has-action"},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-subdirectory-arrow-left"})])]),a("div",{staticClass:"media-content fd-has-action is-clipped"},[a("h1",{staticClass:"title is-6"},[t._v("..")])]),a("div",{staticClass:"media-right"},[t._t("actions")],2)]):t._e(),t._l(t.files.directories,(function(s){return a("list-item-directory",{key:s.path,attrs:{directory:s},on:{click:function(a){return t.open_directory(s)}}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_directory_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),t._l(t.files.playlists.items,(function(s){return a("list-item-playlist",{key:s.id,attrs:{playlist:s},on:{click:function(a){return t.open_playlist(s)}}},[a("template",{slot:"icon"},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-library-music"})])]),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_playlist_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),t._l(t.files.tracks.items,(function(s,e){return a("list-item-track",{key:s.id,attrs:{track:s},on:{click:function(s){return t.play_track(e)}}},[a("template",{slot:"icon"},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-file-outline"})])]),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_track_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("modal-dialog-directory",{attrs:{show:t.show_directory_details_modal,directory:t.selected_directory},on:{close:function(s){t.show_directory_details_modal=!1}}}),a("modal-dialog-playlist",{attrs:{show:t.show_playlist_details_modal,playlist:t.selected_playlist},on:{close:function(s){t.show_playlist_details_modal=!1}}}),a("modal-dialog-track",{attrs:{show:t.show_track_details_modal,track:t.selected_track},on:{close:function(s){t.show_track_details_modal=!1}}})],2)],2)],1)},Cl=[],wl=function(t,s){var a=s._c;return a("div",{staticClass:"media"},[a("figure",{staticClass:"media-left fd-has-action",on:{click:s.listeners.click}},[s._m(0)]),a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:s.listeners.click}},[a("h1",{staticClass:"title is-6"},[s._v(s._s(s.props.directory.path.substring(s.props.directory.path.lastIndexOf("/")+1)))]),a("h2",{staticClass:"subtitle is-7 has-text-grey-light"},[s._v(s._s(s.props.directory.path))])]),a("div",{staticClass:"media-right"},[s._t("actions")],2)])},xl=[function(t,s){var a=s._c;return a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-folder"})])}],$l={name:"ListItemDirectory",props:["directory"]},ql=$l,Al=Object(N["a"])(ql,wl,xl,!0,null,null,null),Sl=Al.exports,jl=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v(" "+t._s(t.directory.path)+" ")])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},Pl=[],Ol={name:"ModalDialogDirectory",props:["show","directory"],methods:{play:function(){this.$emit("close"),X.player_play_expression('path starts with "'+this.directory.path+'" order by path asc',!1)},queue_add:function(){this.$emit("close"),X.queue_expression_add('path starts with "'+this.directory.path+'" order by path asc')},queue_add_next:function(){this.$emit("close"),X.queue_expression_add_next('path starts with "'+this.directory.path+'" order by path asc')}}},Tl=Ol,Ll=Object(N["a"])(Tl,jl,Pl,!1,null,null,null),El=Ll.exports,Il={load:function(t){return t.query.directory?X.library_files(t.query.directory):Promise.resolve()},set:function(t,s){t.files=s?s.data:{directories:t.$store.state.config.directories.map((function(t){return{path:t}})),tracks:{items:[]},playlists:{items:[]}}}},zl={name:"PageFiles",mixins:[Ra(Il)],components:{ContentWithHeading:Ms,ListItemDirectory:Sl,ListItemPlaylist:Xo,ListItemTrack:be,ModalDialogDirectory:El,ModalDialogPlaylist:il,ModalDialogTrack:$e},data:function(){return{files:{directories:[],tracks:{items:[]},playlists:{items:[]}},show_directory_details_modal:!1,selected_directory:{},show_playlist_details_modal:!1,selected_playlist:{},show_track_details_modal:!1,selected_track:{}}},computed:{current_directory:function(){return this.$route.query&&this.$route.query.directory?this.$route.query.directory:"/"}},methods:{open_parent_directory:function(){var t=this.current_directory.slice(0,this.current_directory.lastIndexOf("/"));""===t||this.$store.state.config.directories.includes(this.current_directory)?this.$router.push({path:"/files"}):this.$router.push({path:"/files",query:{directory:this.current_directory.slice(0,this.current_directory.lastIndexOf("/"))}})},open_directory:function(t){this.$router.push({path:"/files",query:{directory:t.path}})},open_directory_dialog:function(t){this.selected_directory=t,this.show_directory_details_modal=!0},play:function(){X.player_play_expression('path starts with "'+this.current_directory+'" order by path asc',!1)},play_track:function(t){X.player_play_uri(this.files.tracks.items.map((function(t){return t.uri})).join(","),!1,t)},open_track_dialog:function(t){this.selected_track=t,this.show_track_details_modal=!0},open_playlist:function(t){this.$router.push({path:"/playlists/"+t.id+"/tracks"})},open_playlist_dialog:function(t){this.selected_playlist=t,this.show_playlist_details_modal=!0}}},Dl=zl,Nl=Object(N["a"])(Dl,kl,Cl,!1,null,null,null),Rl=Nl.exports,Ml=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Radio")])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.tracks.total)+" tracks")]),a("list-tracks",{attrs:{tracks:t.tracks.items}})],1)],2)],1)},Ul=[],Hl={load:function(t){return X.library_radio_streams()},set:function(t,s){t.tracks=s.data.tracks}},Wl={name:"PageRadioStreams",mixins:[Ra(Hl)],components:{ContentWithHeading:Ms,ListTracks:je},data:function(){return{tracks:{items:[]}}}},Bl=Wl,Fl=Object(N["a"])(Bl,Ml,Ul,!1,null,null,null),Gl=Fl.exports,Yl=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("section",{staticClass:"section fd-remove-padding-bottom"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("form",{on:{submit:function(s){return s.preventDefault(),t.new_search(s)}}},[a("div",{staticClass:"field"},[a("p",{staticClass:"control is-expanded has-icons-left"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.search_query,expression:"search_query"}],ref:"search_field",staticClass:"input is-rounded is-shadowless",attrs:{type:"text",placeholder:"Search",autocomplete:"off"},domProps:{value:t.search_query},on:{input:function(s){s.target.composing||(t.search_query=s.target.value)}}}),t._m(0)]),t._m(1)])]),a("div",{staticClass:"tags",staticStyle:{"margin-top":"16px"}},t._l(t.recent_searches,(function(s){return a("a",{key:s,staticClass:"tag",on:{click:function(a){return t.open_recent_search(s)}}},[t._v(t._s(s))])})),0)])])])]),a("tabs-search",{attrs:{query:t.search_query}}),t.show_tracks&&t.tracks.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Tracks")])]),a("template",{slot:"content"},[a("list-tracks",{attrs:{tracks:t.tracks.items}})],1),a("template",{slot:"footer"},[t.show_all_tracks_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_tracks}},[t._v("Show all "+t._s(t.tracks.total.toLocaleString())+" tracks")])])]):t._e()])],2):t._e(),t.show_tracks&&!t.tracks.total?a("content-text",{staticClass:"mt-6"},[a("template",{slot:"content"},[a("p",[a("i",[t._v("No tracks found")])])])],2):t._e(),t.show_artists&&t.artists.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Artists")])]),a("template",{slot:"content"},[a("list-artists",{attrs:{artists:t.artists.items}})],1),a("template",{slot:"footer"},[t.show_all_artists_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_artists}},[t._v("Show all "+t._s(t.artists.total.toLocaleString())+" artists")])])]):t._e()])],2):t._e(),t.show_artists&&!t.artists.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No artists found")])])])],2):t._e(),t.show_albums&&t.albums.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Albums")])]),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.albums.items}})],1),a("template",{slot:"footer"},[t.show_all_albums_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_albums}},[t._v("Show all "+t._s(t.albums.total.toLocaleString())+" albums")])])]):t._e()])],2):t._e(),t.show_albums&&!t.albums.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No albums found")])])])],2):t._e(),t.show_playlists&&t.playlists.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Playlists")])]),a("template",{slot:"content"},[a("list-playlists",{attrs:{playlists:t.playlists.items}})],1),a("template",{slot:"footer"},[t.show_all_playlists_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_playlists}},[t._v("Show all "+t._s(t.playlists.total.toLocaleString())+" playlists")])])]):t._e()])],2):t._e(),t.show_playlists&&!t.playlists.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No playlists found")])])])],2):t._e(),t.show_podcasts&&t.podcasts.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Podcasts")])]),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.podcasts.items}})],1),a("template",{slot:"footer"},[t.show_all_podcasts_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_podcasts}},[t._v("Show all "+t._s(t.podcasts.total.toLocaleString())+" podcasts")])])]):t._e()])],2):t._e(),t.show_podcasts&&!t.podcasts.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No podcasts found")])])])],2):t._e(),t.show_audiobooks&&t.audiobooks.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Audiobooks")])]),a("template",{slot:"content"},[a("list-albums",{attrs:{albums:t.audiobooks.items}})],1),a("template",{slot:"footer"},[t.show_all_audiobooks_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_audiobooks}},[t._v("Show all "+t._s(t.audiobooks.total.toLocaleString())+" audiobooks")])])]):t._e()])],2):t._e(),t.show_audiobooks&&!t.audiobooks.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No audiobooks found")])])])],2):t._e()],1)},Vl=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon is-left"},[a("i",{staticClass:"mdi mdi-magnify"})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",{staticClass:"help has-text-centered"},[t._v("Tip: you can search by a smart playlist query language "),a("a",{attrs:{href:"https://github.com/ejurgensen/forked-daapd/blob/master/README_SMARTPL.md",target:"_blank"}},[t._v("expression")]),t._v(" if you prefix it with "),a("code",[t._v("query:")]),t._v(". ")])}],Ql=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",{staticClass:"section fd-content py-3"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[t._t("content")],2)])])])},Jl=[],Kl={name:"ContentText"},Xl=Kl,Zl=Object(N["a"])(Xl,Ql,Jl,!1,null,null,null),tr=Zl.exports,sr=function(){var t=this,s=t.$createElement,a=t._self._c||s;return t.spotify_enabled?a("section",{staticClass:"section fd-remove-padding-bottom"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("div",{staticClass:"tabs is-centered is-small is-toggle is-toggle-rounded"},[a("ul",[a("li",{class:{"is-active":"/search/library"===t.$route.path}},[a("a",{on:{click:t.search_library}},[t._m(0),a("span",{},[t._v("Library")])])]),a("li",{class:{"is-active":"/search/spotify"===t.$route.path}},[a("a",{on:{click:t.search_spotify}},[t._m(1),a("span",{},[t._v("Spotify")])])])])])])])])]):t._e()},ar=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-library-books"})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon is-small"},[a("i",{staticClass:"mdi mdi-spotify"})])}],er={name:"TabsSearch",props:["query"],computed:{spotify_enabled:function(){return this.$store.state.spotify.webapi_token_valid}},methods:{search_library:function(){this.query&&this.$router.push({path:"/search/library",query:{type:"track,artist,album,playlist,audiobook,podcast",query:this.query,limit:3,offset:0}})},search_spotify:function(){this.query&&this.$router.push({path:"/search/spotify",query:{type:"track,artist,album,playlist,audiobook,podcast",query:this.query,limit:3,offset:0}})}}},ir=er,nr=Object(N["a"])(ir,sr,ar,!1,null,null,null),or=nr.exports,lr={name:"PageSearch",components:{ContentWithHeading:Ms,ContentText:tr,TabsSearch:or,ListTracks:je,ListArtists:ki,ListAlbums:ue,ListPlaylists:rl},data:function(){return{search_query:"",tracks:{items:[],total:0},artists:{items:[],total:0},albums:{items:[],total:0},playlists:{items:[],total:0},audiobooks:{items:[],total:0},podcasts:{items:[],total:0}}},computed:{recent_searches:function(){return this.$store.state.recent_searches},show_tracks:function(){return this.$route.query.type&&this.$route.query.type.includes("track")},show_all_tracks_button:function(){return this.tracks.total>this.tracks.items.length},show_artists:function(){return this.$route.query.type&&this.$route.query.type.includes("artist")},show_all_artists_button:function(){return this.artists.total>this.artists.items.length},show_albums:function(){return this.$route.query.type&&this.$route.query.type.includes("album")},show_all_albums_button:function(){return this.albums.total>this.albums.items.length},show_playlists:function(){return this.$route.query.type&&this.$route.query.type.includes("playlist")},show_all_playlists_button:function(){return this.playlists.total>this.playlists.items.length},show_audiobooks:function(){return this.$route.query.type&&this.$route.query.type.includes("audiobook")},show_all_audiobooks_button:function(){return this.audiobooks.total>this.audiobooks.items.length},show_podcasts:function(){return this.$route.query.type&&this.$route.query.type.includes("podcast")},show_all_podcasts_button:function(){return this.podcasts.total>this.podcasts.items.length},is_visible_artwork:function(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{search:function(t){if(!t.query.query||""===t.query.query)return this.search_query="",void this.$refs.search_field.focus();this.search_query=t.query.query,this.searchMusic(t.query),this.searchAudiobooks(t.query),this.searchPodcasts(t.query),this.$store.commit(A,t.query.query)},searchMusic:function(t){var s=this;if(!(t.type.indexOf("track")<0&&t.type.indexOf("artist")<0&&t.type.indexOf("album")<0&&t.type.indexOf("playlist")<0)){var a={type:t.type,media_kind:"music"};t.query.startsWith("query:")?a.expression=t.query.replace(/^query:/,"").trim():a.query=t.query,t.limit&&(a.limit=t.limit,a.offset=t.offset),X.search(a).then((function(t){var a=t.data;s.tracks=a.tracks?a.tracks:{items:[],total:0},s.artists=a.artists?a.artists:{items:[],total:0},s.albums=a.albums?a.albums:{items:[],total:0},s.playlists=a.playlists?a.playlists:{items:[],total:0}}))}},searchAudiobooks:function(t){var s=this;if(!(t.type.indexOf("audiobook")<0)){var a={type:"album",media_kind:"audiobook"};t.query.startsWith("query:")?a.expression=t.query.replace(/^query:/,"").trim():a.expression='((album includes "'+t.query+'" or artist includes "'+t.query+'") and media_kind is audiobook)',t.limit&&(a.limit=t.limit,a.offset=t.offset),X.search(a).then((function(t){var a=t.data;s.audiobooks=a.albums?a.albums:{items:[],total:0}}))}},searchPodcasts:function(t){var s=this;if(!(t.type.indexOf("podcast")<0)){var a={type:"album",media_kind:"podcast"};t.query.startsWith("query:")?a.expression=t.query.replace(/^query:/,"").trim():a.expression='((album includes "'+t.query+'" or artist includes "'+t.query+'") and media_kind is podcast)',t.limit&&(a.limit=t.limit,a.offset=t.offset),X.search(a).then((function(t){var a=t.data;s.podcasts=a.albums?a.albums:{items:[],total:0}}))}},new_search:function(){this.search_query&&(this.$router.push({path:"/search/library",query:{type:"track,artist,album,playlist,audiobook,podcast",query:this.search_query,limit:3,offset:0}}),this.$refs.search_field.blur())},open_search_tracks:function(){this.$router.push({path:"/search/library",query:{type:"track",query:this.$route.query.query}})},open_search_artists:function(){this.$router.push({path:"/search/library",query:{type:"artist",query:this.$route.query.query}})},open_search_albums:function(){this.$router.push({path:"/search/library",query:{type:"album",query:this.$route.query.query}})},open_search_playlists:function(){this.$router.push({path:"/search/library",query:{type:"playlist",query:this.$route.query.query}})},open_search_audiobooks:function(){this.$router.push({path:"/search/library",query:{type:"audiobook",query:this.$route.query.query}})},open_search_podcasts:function(){this.$router.push({path:"/search/library",query:{type:"podcast",query:this.$route.query.query}})},open_recent_search:function(t){this.search_query=t,this.new_search()}},mounted:function(){this.search(this.$route)},watch:{$route:function(t,s){this.search(t)}}},rr=lr,cr=Object(N["a"])(rr,Yl,Vl,!1,null,null,null),dr=cr.exports,ur=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("section",{staticClass:"section"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths has-text-centered-mobile"},[a("p",{staticClass:"heading"},[a("b",[t._v("forked-daapd")]),t._v(" - version "+t._s(t.config.version))]),a("h1",{staticClass:"title is-4"},[t._v(t._s(t.config.library_name))])])])])]),a("section",{staticClass:"section"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("div",{staticClass:"content"},[a("nav",{staticClass:"level is-mobile"},[t._m(0),a("div",{staticClass:"level-right"},[t.library.updating?a("div",[a("a",{staticClass:"button is-small is-loading"},[t._v("Update")])]):a("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.onClickOutside,expression:"onClickOutside"}],staticClass:"dropdown is-right",class:{"is-active":t.show_update_dropdown}},[a("div",{staticClass:"dropdown-trigger"},[a("div",{staticClass:"buttons has-addons"},[a("a",{staticClass:"button is-small",on:{click:t.update}},[t._v("Update")]),a("a",{staticClass:"button is-small",on:{click:function(s){t.show_update_dropdown=!t.show_update_dropdown}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi",class:{"mdi-chevron-down":!t.show_update_dropdown,"mdi-chevron-up":t.show_update_dropdown}})])])])]),a("div",{staticClass:"dropdown-menu",attrs:{id:"dropdown-menu",role:"menu"}},[a("div",{staticClass:"dropdown-content"},[a("div",{staticClass:"dropdown-item"},[a("a",{staticClass:"has-text-dark",on:{click:t.update}},[a("strong",[t._v("Update")]),a("br"),a("span",{staticClass:"is-size-7"},[t._v("Adds new, removes deleted and updates modified files.")])])]),a("hr",{staticClass:"dropdown-divider"}),a("div",{staticClass:"dropdown-item"},[a("a",{staticClass:"has-text-dark",on:{click:t.update_meta}},[a("strong",[t._v("Rescan metadata")]),a("br"),a("span",{staticClass:"is-size-7"},[t._v("Same as update, but also rescans unmodified files.")])])])])])])])]),a("table",{staticClass:"table"},[a("tbody",[a("tr",[a("th",[t._v("Artists")]),a("td",{staticClass:"has-text-right"},[t._v(t._s(t._f("number")(t.library.artists)))])]),a("tr",[a("th",[t._v("Albums")]),a("td",{staticClass:"has-text-right"},[t._v(t._s(t._f("number")(t.library.albums)))])]),a("tr",[a("th",[t._v("Tracks")]),a("td",{staticClass:"has-text-right"},[t._v(t._s(t._f("number")(t.library.songs)))])]),a("tr",[a("th",[t._v("Total playtime")]),a("td",{staticClass:"has-text-right"},[t._v(t._s(t._f("duration")(1e3*t.library.db_playtime,"y [years], d [days], h [hours], m [minutes]")))])]),a("tr",[a("th",[t._v("Library updated")]),a("td",{staticClass:"has-text-right"},[t._v(t._s(t._f("timeFromNow")(t.library.updated_at))+" "),a("span",{staticClass:"has-text-grey"},[t._v("("+t._s(t._f("time")(t.library.updated_at,"lll"))+")")])])]),a("tr",[a("th",[t._v("Uptime")]),a("td",{staticClass:"has-text-right"},[t._v(t._s(t._f("timeFromNow")(t.library.started_at,!0))+" "),a("span",{staticClass:"has-text-grey"},[t._v("("+t._s(t._f("time")(t.library.started_at,"ll"))+")")])])])])])])])])])]),a("section",{staticClass:"section"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("div",{staticClass:"content has-text-centered-mobile"},[a("p",{staticClass:"is-size-7"},[t._v("Compiled with support for "+t._s(t._f("join")(t.config.buildoptions))+".")]),t._m(1)])])])])])])},pr=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"level-left"},[a("div",{staticClass:"level-item"},[a("h2",{staticClass:"title is-5"},[t._v("Library")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",{staticClass:"is-size-7"},[t._v("Web interface built with "),a("a",{attrs:{href:"http://bulma.io"}},[t._v("Bulma")]),t._v(", "),a("a",{attrs:{href:"https://materialdesignicons.com/"}},[t._v("Material Design Icons")]),t._v(", "),a("a",{attrs:{href:"https://vuejs.org/"}},[t._v("Vue.js")]),t._v(", "),a("a",{attrs:{href:"https://github.com/mzabriskie/axios"}},[t._v("axios")]),t._v(" and "),a("a",{attrs:{href:"https://github.com/ejurgensen/forked-daapd/network/dependencies"}},[t._v("more")]),t._v(".")])}],_r={name:"PageAbout",data:function(){return{show_update_dropdown:!1}},computed:{config:function(){return this.$store.state.config},library:function(){return this.$store.state.library}},methods:{onClickOutside:function(t){this.show_update_dropdown=!1},update:function(){this.show_update_dropdown=!1,X.library_update()},update_meta:function(){this.show_update_dropdown=!1,X.library_rescan()}},filters:{join:function(t){return t.join(", ")}}},mr=_r,hr=Object(N["a"])(mr,ur,pr,!1,null,null,null),fr=hr.exports,vr=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("New Releases")])]),a("template",{slot:"content"},[t._l(t.new_releases,(function(s){return a("spotify-list-item-album",{key:s.id,attrs:{album:s},on:{click:function(a){return t.open_album(s)}}},[t.is_visible_artwork?a("template",{slot:"artwork"},[a("p",{staticClass:"image is-64x64 fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:t.artwork_url(s),artist:s.artist,album:s.name,maxwidth:64,maxheight:64}})],1)]):t._e(),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_album_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("spotify-modal-dialog-album",{attrs:{show:t.show_album_details_modal,album:t.selected_album},on:{close:function(s){t.show_album_details_modal=!1}}})],2),a("template",{slot:"footer"},[a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("router-link",{staticClass:"button is-light is-small is-rounded",attrs:{to:"/music/spotify/new-releases"}},[t._v(" Show more ")])],1)])])],2),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Featured Playlists")])]),a("template",{slot:"content"},[t._l(t.featured_playlists,(function(s){return a("spotify-list-item-playlist",{key:s.id,attrs:{playlist:s}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_playlist_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("spotify-modal-dialog-playlist",{attrs:{show:t.show_playlist_details_modal,playlist:t.selected_playlist},on:{close:function(s){t.show_playlist_details_modal=!1}}})],2),a("template",{slot:"footer"},[a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("router-link",{staticClass:"button is-light is-small is-rounded",attrs:{to:"/music/spotify/featured-playlists"}},[t._v(" Show more ")])],1)])])],2)],1)},yr=[],br=function(t,s){var a=s._c;return a("div",{staticClass:"media"},[s.$slots["artwork"]?a("div",{staticClass:"media-left fd-has-action",on:{click:s.listeners.click}},[s._t("artwork")],2):s._e(),a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:s.listeners.click}},[a("h1",{staticClass:"title is-6"},[s._v(s._s(s.props.album.name))]),a("h2",{staticClass:"subtitle is-7 has-text-grey"},[a("b",[s._v(s._s(s.props.album.artists[0].name))])]),a("h2",{staticClass:"subtitle is-7 has-text-grey has-text-weight-normal"},[s._v("("+s._s(s.props.album.album_type)+", "+s._s(s._f("time")(s.props.album.release_date,"L"))+")")])]),a("div",{staticClass:"media-right"},[s._t("actions")],2)])},gr=[],kr={name:"SpotifyListItemAlbum",props:["album"]},Cr=kr,wr=Object(N["a"])(Cr,br,gr,!0,null,null,null),xr=wr.exports,$r=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"media"},[a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:t.open_playlist}},[a("h1",{staticClass:"title is-6"},[t._v(t._s(t.playlist.name))]),a("h2",{staticClass:"subtitle is-7"},[t._v(t._s(t.playlist.owner.display_name))])]),a("div",{staticClass:"media-right"},[t._t("actions")],2)])},qr=[],Ar={name:"SpotifyListItemPlaylist",props:["playlist"],methods:{open_playlist:function(){this.$router.push({path:"/music/spotify/playlists/"+this.playlist.id})}}},Sr=Ar,jr=Object(N["a"])(Sr,$r,qr,!1,null,null,null),Pr=jr.exports,Or=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("figure",{directives:[{name:"show",rawName:"v-show",value:t.artwork_visible,expression:"artwork_visible"}],staticClass:"image is-square fd-has-margin-bottom"},[a("img",{staticClass:"fd-has-shadow",attrs:{src:t.artwork_url},on:{load:t.artwork_loaded,error:t.artwork_error}})]),a("p",{staticClass:"title is-4"},[a("a",{staticClass:"has-text-link",on:{click:t.open_album}},[t._v(t._s(t.album.name))])]),a("div",{staticClass:"content is-small"},[a("p",[a("span",{staticClass:"heading"},[t._v("Album artist")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.album.artists[0].name))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Release date")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("time")(t.album.release_date,"L")))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Type")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.album.album_type))])])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},Tr=[],Lr={name:"SpotifyModalDialogAlbum",props:["show","album"],data:function(){return{artwork_visible:!1}},computed:{artwork_url:function(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{play:function(){this.$emit("close"),X.player_play_uri(this.album.uri,!1)},queue_add:function(){this.$emit("close"),X.queue_add(this.album.uri)},queue_add_next:function(){this.$emit("close"),X.queue_add_next(this.album.uri)},open_album:function(){this.$router.push({path:"/music/spotify/albums/"+this.album.id})},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})},artwork_loaded:function(){this.artwork_visible=!0},artwork_error:function(){this.artwork_visible=!1}}},Er=Lr,Ir=Object(N["a"])(Er,Or,Tr,!1,null,null,null),zr=Ir.exports,Dr=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[a("a",{staticClass:"has-text-link",on:{click:t.open_playlist}},[t._v(t._s(t.playlist.name))])]),a("div",{staticClass:"content is-small"},[a("p",[a("span",{staticClass:"heading"},[t._v("Owner")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.playlist.owner.display_name))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Tracks")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.playlist.tracks.total))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Path")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.playlist.uri))])])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},Nr=[],Rr={name:"SpotifyModalDialogPlaylist",props:["show","playlist"],methods:{play:function(){this.$emit("close"),X.player_play_uri(this.playlist.uri,!1)},queue_add:function(){this.$emit("close"),X.queue_add(this.playlist.uri)},queue_add_next:function(){this.$emit("close"),X.queue_add_next(this.playlist.uri)},open_playlist:function(){this.$router.push({path:"/music/spotify/playlists/"+this.playlist.id})}}},Mr=Rr,Ur=Object(N["a"])(Mr,Dr,Nr,!1,null,null,null),Hr=Ur.exports,Wr={load:function(t){if(K.state.spotify_new_releases.length>0&&K.state.spotify_featured_playlists.length>0)return Promise.resolve();var s=new Js.a;return s.setAccessToken(K.state.spotify.webapi_token),Promise.all([s.getNewReleases({country:K.state.spotify.webapi_country,limit:50}),s.getFeaturedPlaylists({country:K.state.spotify.webapi_country,limit:50})])},set:function(t,s){s&&(K.commit(w,s[0].albums.items),K.commit(x,s[1].playlists.items))}},Br={name:"SpotifyPageBrowse",mixins:[Ra(Wr)],components:{ContentWithHeading:Ms,TabsMusic:Fa,SpotifyListItemAlbum:xr,SpotifyListItemPlaylist:Pr,SpotifyModalDialogAlbum:zr,SpotifyModalDialogPlaylist:Hr,CoverArtwork:Ta},data:function(){return{show_album_details_modal:!1,selected_album:{},show_playlist_details_modal:!1,selected_playlist:{}}},computed:{new_releases:function(){return this.$store.state.spotify_new_releases.slice(0,3)},featured_playlists:function(){return this.$store.state.spotify_featured_playlists.slice(0,3)},is_visible_artwork:function(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album:function(t){this.$router.push({path:"/music/spotify/albums/"+t.id})},open_album_dialog:function(t){this.selected_album=t,this.show_album_details_modal=!0},open_playlist_dialog:function(t){this.selected_playlist=t,this.show_playlist_details_modal=!0},artwork_url:function(t){return t.images&&t.images.length>0?t.images[0].url:""}}},Fr=Br,Gr=Object(N["a"])(Fr,vr,yr,!1,null,null,null),Yr=Gr.exports,Vr=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("New Releases")])]),a("template",{slot:"content"},[t._l(t.new_releases,(function(s){return a("spotify-list-item-album",{key:s.id,attrs:{album:s},on:{click:function(a){return t.open_album(s)}}},[t.is_visible_artwork?a("template",{slot:"artwork"},[a("p",{staticClass:"image is-64x64 fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:t.artwork_url(s),artist:s.artist,album:s.name,maxwidth:64,maxheight:64}})],1)]):t._e(),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_album_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("spotify-modal-dialog-album",{attrs:{show:t.show_album_details_modal,album:t.selected_album},on:{close:function(s){t.show_album_details_modal=!1}}})],2)],2)],1)},Qr=[],Jr={load:function(t){if(K.state.spotify_new_releases.length>0)return Promise.resolve();var s=new Js.a;return s.setAccessToken(K.state.spotify.webapi_token),s.getNewReleases({country:K.state.spotify.webapi_country,limit:50})},set:function(t,s){s&&K.commit(w,s.albums.items)}},Kr={name:"SpotifyPageBrowseNewReleases",mixins:[Ra(Jr)],components:{ContentWithHeading:Ms,TabsMusic:Fa,SpotifyListItemAlbum:xr,SpotifyModalDialogAlbum:zr,CoverArtwork:Ta},data:function(){return{show_album_details_modal:!1,selected_album:{}}},computed:{new_releases:function(){return this.$store.state.spotify_new_releases},is_visible_artwork:function(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{open_album:function(t){this.$router.push({path:"/music/spotify/albums/"+t.id})},open_album_dialog:function(t){this.selected_album=t,this.show_album_details_modal=!0},artwork_url:function(t){return t.images&&t.images.length>0?t.images[0].url:""}}},Xr=Kr,Zr=Object(N["a"])(Xr,Vr,Qr,!1,null,null,null),tc=Zr.exports,sc=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-music"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Featured Playlists")])]),a("template",{slot:"content"},[t._l(t.featured_playlists,(function(s){return a("spotify-list-item-playlist",{key:s.id,attrs:{playlist:s}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_playlist_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("spotify-modal-dialog-playlist",{attrs:{show:t.show_playlist_details_modal,playlist:t.selected_playlist},on:{close:function(s){t.show_playlist_details_modal=!1}}})],2)],2)],1)},ac=[],ec={load:function(t){if(K.state.spotify_featured_playlists.length>0)return Promise.resolve();var s=new Js.a;s.setAccessToken(K.state.spotify.webapi_token),s.getFeaturedPlaylists({country:K.state.spotify.webapi_country,limit:50})},set:function(t,s){s&&K.commit(x,s.playlists.items)}},ic={name:"SpotifyPageBrowseFeaturedPlaylists",mixins:[Ra(ec)],components:{ContentWithHeading:Ms,TabsMusic:Fa,SpotifyListItemPlaylist:Pr,SpotifyModalDialogPlaylist:Hr},data:function(){return{show_playlist_details_modal:!1,selected_playlist:{}}},computed:{featured_playlists:function(){return this.$store.state.spotify_featured_playlists}},methods:{open_playlist_dialog:function(t){this.selected_playlist=t,this.show_playlist_details_modal=!0}}},nc=ic,oc=Object(N["a"])(nc,sc,ac,!1,null,null,null),lc=oc.exports,rc=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v(t._s(t.artist.name))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_artist_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.total)+" albums")]),t._l(t.albums,(function(s){return a("spotify-list-item-album",{key:s.id,attrs:{album:s},on:{click:function(a){return t.open_album(s)}}},[t.is_visible_artwork?a("template",{slot:"artwork"},[a("p",{staticClass:"image is-64x64 fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:t.artwork_url(s),artist:s.artist,album:s.name,maxwidth:64,maxheight:64}})],1)]):t._e(),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),t.offset=this.total&&s.complete())},play:function(){this.show_details_modal=!1,X.player_play_uri(this.artist.uri,!0)},open_album:function(t){this.$router.push({path:"/music/spotify/albums/"+t.id})},open_dialog:function(t){this.selected_album=t,this.show_details_modal=!0},artwork_url:function(t){return t.images&&t.images.length>0?t.images[0].url:""}}},gc=bc,kc=Object(N["a"])(gc,rc,cc,!1,null,null,null),Cc=kc.exports,wc=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-hero",[a("template",{slot:"heading-left"},[a("h1",{staticClass:"title is-5"},[t._v(t._s(t.album.name))]),a("h2",{staticClass:"subtitle is-6 has-text-link has-text-weight-normal"},[a("a",{staticClass:"has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.album.artists[0].name))])]),a("div",{staticClass:"buttons fd-is-centered-mobile fd-has-margin-top"},[a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])]),a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_album_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])])])]),a("template",{slot:"heading-right"},[a("p",{staticClass:"image is-square fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:t.artwork_url,artist:t.album.artist,album:t.album.name},on:{click:function(s){t.show_album_details_modal=!0}}})],1)]),a("template",{slot:"content"},[a("p",{staticClass:"heading is-7 has-text-centered-mobile fd-has-margin-top"},[t._v(t._s(t.album.tracks.total)+" tracks")]),t._l(t.album.tracks.items,(function(s,e){return a("spotify-list-item-track",{key:s.id,attrs:{track:s,position:e,album:t.album,context_uri:t.album.uri}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_track_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),a("spotify-modal-dialog-track",{attrs:{show:t.show_track_details_modal,track:t.selected_track,album:t.album},on:{close:function(s){t.show_track_details_modal=!1}}}),a("spotify-modal-dialog-album",{attrs:{show:t.show_album_details_modal,album:t.album},on:{close:function(s){t.show_album_details_modal=!1}}})],2)],2)},xc=[],$c=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"media"},[a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:t.play}},[a("h1",{staticClass:"title is-6"},[t._v(t._s(t.track.name))]),a("h2",{staticClass:"subtitle is-7 has-text-grey"},[a("b",[t._v(t._s(t.track.artists[0].name))])])]),a("div",{staticClass:"media-right"},[t._t("actions")],2)])},qc=[],Ac={name:"SpotifyListItemTrack",props:["track","position","album","context_uri"],methods:{play:function(){X.player_play_uri(this.context_uri,!1,this.position)}}},Sc=Ac,jc=Object(N["a"])(Sc,$c,qc,!1,null,null,null),Pc=jc.exports,Oc=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("transition",{attrs:{name:"fade"}},[t.show?a("div",{staticClass:"modal is-active"},[a("div",{staticClass:"modal-background",on:{click:function(s){return t.$emit("close")}}}),a("div",{staticClass:"modal-content fd-modal-card"},[a("div",{staticClass:"card"},[a("div",{staticClass:"card-content"},[a("p",{staticClass:"title is-4"},[t._v(" "+t._s(t.track.name)+" ")]),a("p",{staticClass:"subtitle"},[t._v(" "+t._s(t.track.artists[0].name)+" ")]),a("div",{staticClass:"content is-small"},[a("p",[a("span",{staticClass:"heading"},[t._v("Album")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_album}},[t._v(t._s(t.album.name))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Album artist")]),a("a",{staticClass:"title is-6 has-text-link",on:{click:t.open_artist}},[t._v(t._s(t.album.artists[0].name))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Release date")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("time")(t.album.release_date,"L")))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Track / Disc")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.track.track_number)+" / "+t._s(t.track.disc_number))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Length")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t._f("duration")(t.track.duration_ms)))])]),a("p",[a("span",{staticClass:"heading"},[t._v("Path")]),a("span",{staticClass:"title is-6"},[t._v(t._s(t.track.uri))])])])]),a("footer",{staticClass:"card-footer"},[a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-plus"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.queue_add_next}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-playlist-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Add Next")])]),a("a",{staticClass:"card-footer-item has-text-dark",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-play"})]),t._v(" "),a("span",{staticClass:"is-size-7"},[t._v("Play")])])])])]),a("button",{staticClass:"modal-close is-large",attrs:{"aria-label":"close"},on:{click:function(s){return t.$emit("close")}}})]):t._e()])],1)},Tc=[],Lc={name:"SpotifyModalDialogTrack",props:["show","track","album"],methods:{play:function(){this.$emit("close"),X.player_play_uri(this.track.uri,!1)},queue_add:function(){this.$emit("close"),X.queue_add(this.track.uri)},queue_add_next:function(){this.$emit("close"),X.queue_add_next(this.track.uri)},open_album:function(){this.$router.push({path:"/music/spotify/albums/"+this.album.id})},open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})}}},Ec=Lc,Ic=Object(N["a"])(Ec,Oc,Tc,!1,null,null,null),zc=Ic.exports,Dc={load:function(t){var s=new Js.a;return s.setAccessToken(K.state.spotify.webapi_token),s.getAlbum(t.params.album_id)},set:function(t,s){t.album=s}},Nc={name:"PageAlbum",mixins:[Ra(Dc)],components:{ContentWithHero:Qi["default"],SpotifyListItemTrack:Pc,SpotifyModalDialogTrack:zc,SpotifyModalDialogAlbum:zr,CoverArtwork:Ta},data:function(){return{album:{artists:[{}],tracks:{}},show_track_details_modal:!1,selected_track:{},show_album_details_modal:!1}},computed:{artwork_url:function(){return this.album.images&&this.album.images.length>0?this.album.images[0].url:""}},methods:{open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.album.artists[0].id})},play:function(){this.show_details_modal=!1,X.player_play_uri(this.album.uri,!0)},open_track_dialog:function(t){this.selected_track=t,this.show_track_details_modal=!0}}},Rc=Nc,Mc=Object(N["a"])(Rc,wc,xc,!1,null,null,null),Uc=Mc.exports,Hc=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v(t._s(t.playlist.name))])]),a("template",{slot:"heading-right"},[a("div",{staticClass:"buttons is-centered"},[a("a",{staticClass:"button is-small is-light is-rounded",on:{click:function(s){t.show_playlist_details_modal=!0}}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-dots-horizontal mdi-18px"})])]),a("a",{staticClass:"button is-small is-dark is-rounded",on:{click:t.play}},[a("span",{staticClass:"icon"},[a("i",{staticClass:"mdi mdi-shuffle"})]),t._v(" "),a("span",[t._v("Shuffle")])])])]),a("template",{slot:"content"},[a("p",{staticClass:"heading has-text-centered-mobile"},[t._v(t._s(t.playlist.tracks.total)+" tracks")]),t._l(t.tracks,(function(s,e){return a("spotify-list-item-track",{key:s.track.id,attrs:{track:s.track,album:s.track.album,position:e,context_uri:t.playlist.uri}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_track_dialog(s.track)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),t.offset=this.total&&s.complete())},play:function(){this.show_details_modal=!1,X.player_play_uri(this.playlist.uri,!0)},open_track_dialog:function(t){this.selected_track=t,this.show_track_details_modal=!0}}},Gc=Fc,Yc=Object(N["a"])(Gc,Hc,Wc,!1,null,null,null),Vc=Yc.exports,Qc=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("section",{staticClass:"section fd-remove-padding-bottom"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("form",{on:{submit:function(s){return s.preventDefault(),t.new_search(s)}}},[a("div",{staticClass:"field"},[a("p",{staticClass:"control is-expanded has-icons-left"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.search_query,expression:"search_query"}],ref:"search_field",staticClass:"input is-rounded is-shadowless",attrs:{type:"text",placeholder:"Search",autocomplete:"off"},domProps:{value:t.search_query},on:{input:function(s){s.target.composing||(t.search_query=s.target.value)}}}),t._m(0)])])]),a("div",{staticClass:"tags",staticStyle:{"margin-top":"16px"}},t._l(t.recent_searches,(function(s){return a("a",{key:s,staticClass:"tag",on:{click:function(a){return t.open_recent_search(s)}}},[t._v(t._s(s))])})),0)])])])]),a("tabs-search",{attrs:{query:t.search_query}}),t.show_tracks&&t.tracks.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Tracks")])]),a("template",{slot:"content"},[t._l(t.tracks.items,(function(s){return a("spotify-list-item-track",{key:s.id,attrs:{track:s,album:s.album,position:0,context_uri:s.uri}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_track_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),"track"===t.query.type?a("infinite-loading",{on:{infinite:t.search_tracks_next}},[a("span",{attrs:{slot:"no-more"},slot:"no-more"},[t._v(".")])]):t._e(),a("spotify-modal-dialog-track",{attrs:{show:t.show_track_details_modal,track:t.selected_track,album:t.selected_track.album},on:{close:function(s){t.show_track_details_modal=!1}}})],2),a("template",{slot:"footer"},[t.show_all_tracks_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_tracks}},[t._v("Show all "+t._s(t.tracks.total.toLocaleString())+" tracks")])])]):t._e()])],2):t._e(),t.show_tracks&&!t.tracks.total?a("content-text",{staticClass:"mt-6"},[a("template",{slot:"content"},[a("p",[a("i",[t._v("No tracks found")])])])],2):t._e(),t.show_artists&&t.artists.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Artists")])]),a("template",{slot:"content"},[t._l(t.artists.items,(function(s){return a("spotify-list-item-artist",{key:s.id,attrs:{artist:s}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_artist_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),"artist"===t.query.type?a("infinite-loading",{on:{infinite:t.search_artists_next}},[a("span",{attrs:{slot:"no-more"},slot:"no-more"},[t._v(".")])]):t._e(),a("spotify-modal-dialog-artist",{attrs:{show:t.show_artist_details_modal,artist:t.selected_artist},on:{close:function(s){t.show_artist_details_modal=!1}}})],2),a("template",{slot:"footer"},[t.show_all_artists_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_artists}},[t._v("Show all "+t._s(t.artists.total.toLocaleString())+" artists")])])]):t._e()])],2):t._e(),t.show_artists&&!t.artists.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No artists found")])])])],2):t._e(),t.show_albums&&t.albums.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Albums")])]),a("template",{slot:"content"},[t._l(t.albums.items,(function(s){return a("spotify-list-item-album",{key:s.id,attrs:{album:s},on:{click:function(a){return t.open_album(s)}}},[t.is_visible_artwork?a("template",{slot:"artwork"},[a("p",{staticClass:"image is-64x64 fd-has-shadow fd-has-action"},[a("cover-artwork",{attrs:{artwork_url:t.artwork_url(s),artist:s.artist,album:s.name,maxwidth:64,maxheight:64}})],1)]):t._e(),a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_album_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),"album"===t.query.type?a("infinite-loading",{on:{infinite:t.search_albums_next}},[a("span",{attrs:{slot:"no-more"},slot:"no-more"},[t._v(".")])]):t._e(),a("spotify-modal-dialog-album",{attrs:{show:t.show_album_details_modal,album:t.selected_album},on:{close:function(s){t.show_album_details_modal=!1}}})],2),a("template",{slot:"footer"},[t.show_all_albums_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_albums}},[t._v("Show all "+t._s(t.albums.total.toLocaleString())+" albums")])])]):t._e()])],2):t._e(),t.show_albums&&!t.albums.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No albums found")])])])],2):t._e(),t.show_playlists&&t.playlists.total?a("content-with-heading",[a("template",{slot:"heading-left"},[a("p",{staticClass:"title is-4"},[t._v("Playlists")])]),a("template",{slot:"content"},[t._l(t.playlists.items,(function(s){return a("spotify-list-item-playlist",{key:s.id,attrs:{playlist:s}},[a("template",{slot:"actions"},[a("a",{on:{click:function(a){return t.open_playlist_dialog(s)}}},[a("span",{staticClass:"icon has-text-dark"},[a("i",{staticClass:"mdi mdi-dots-vertical mdi-18px"})])])])],2)})),"playlist"===t.query.type?a("infinite-loading",{on:{infinite:t.search_playlists_next}},[a("span",{attrs:{slot:"no-more"},slot:"no-more"},[t._v(".")])]):t._e(),a("spotify-modal-dialog-playlist",{attrs:{show:t.show_playlist_details_modal,playlist:t.selected_playlist},on:{close:function(s){t.show_playlist_details_modal=!1}}})],2),a("template",{slot:"footer"},[t.show_all_playlists_button?a("nav",{staticClass:"level"},[a("p",{staticClass:"level-item"},[a("a",{staticClass:"button is-light is-small is-rounded",on:{click:t.open_search_playlists}},[t._v("Show all "+t._s(t.playlists.total.toLocaleString())+" playlists")])])]):t._e()])],2):t._e(),t.show_playlists&&!t.playlists.total?a("content-text",[a("template",{slot:"content"},[a("p",[a("i",[t._v("No playlists found")])])])],2):t._e()],1)},Jc=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("span",{staticClass:"icon is-left"},[a("i",{staticClass:"mdi mdi-magnify"})])}],Kc=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"media"},[a("div",{staticClass:"media-content fd-has-action is-clipped",on:{click:t.open_artist}},[a("h1",{staticClass:"title is-6"},[t._v(t._s(t.artist.name))])]),a("div",{staticClass:"media-right"},[t._t("actions")],2)])},Xc=[],Zc={name:"SpotifyListItemArtist",props:["artist"],methods:{open_artist:function(){this.$router.push({path:"/music/spotify/artists/"+this.artist.id})}}},td=Zc,sd=Object(N["a"])(td,Kc,Xc,!1,null,null,null),ad=sd.exports,ed={name:"SpotifyPageSearch",components:{ContentWithHeading:Ms,ContentText:tr,TabsSearch:or,SpotifyListItemTrack:Pc,SpotifyListItemArtist:ad,SpotifyListItemAlbum:xr,SpotifyListItemPlaylist:Pr,SpotifyModalDialogTrack:zc,SpotifyModalDialogArtist:hc,SpotifyModalDialogAlbum:zr,SpotifyModalDialogPlaylist:Hr,InfiniteLoading:vc.a,CoverArtwork:Ta},data:function(){return{search_query:"",tracks:{items:[],total:0},artists:{items:[],total:0},albums:{items:[],total:0},playlists:{items:[],total:0},query:{},search_param:{},show_track_details_modal:!1,selected_track:{},show_album_details_modal:!1,selected_album:{},show_artist_details_modal:!1,selected_artist:{},show_playlist_details_modal:!1,selected_playlist:{},validSearchTypes:["track","artist","album","playlist"]}},computed:{recent_searches:function(){return this.$store.state.recent_searches.filter((function(t){return!t.startsWith("query:")}))},show_tracks:function(){return this.$route.query.type&&this.$route.query.type.includes("track")},show_all_tracks_button:function(){return this.tracks.total>this.tracks.items.length},show_artists:function(){return this.$route.query.type&&this.$route.query.type.includes("artist")},show_all_artists_button:function(){return this.artists.total>this.artists.items.length},show_albums:function(){return this.$route.query.type&&this.$route.query.type.includes("album")},show_all_albums_button:function(){return this.albums.total>this.albums.items.length},show_playlists:function(){return this.$route.query.type&&this.$route.query.type.includes("playlist")},show_all_playlists_button:function(){return this.playlists.total>this.playlists.items.length},is_visible_artwork:function(){return this.$store.getters.settings_option("webinterface","show_cover_artwork_in_album_lists").value}},methods:{reset:function(){this.tracks={items:[],total:0},this.artists={items:[],total:0},this.albums={items:[],total:0},this.playlists={items:[],total:0}},search:function(){if(this.reset(),!this.query.query||""===this.query.query||this.query.query.startsWith("query:"))return this.search_query="",void this.$refs.search_field.focus();this.search_query=this.query.query,this.search_param.limit=this.query.limit?this.query.limit:50,this.search_param.offset=this.query.offset?this.query.offset:0,this.$store.commit(A,this.query.query),this.search_all()},spotify_search:function(){var t=this;return X.spotify().then((function(s){var a=s.data;t.search_param.market=a.webapi_country;var e=new Js.a;e.setAccessToken(a.webapi_token);var i=t.query.type.split(",").filter((function(s){return t.validSearchTypes.includes(s)}));return e.search(t.query.query,i,t.search_param)}))},search_all:function(){var t=this;this.spotify_search().then((function(s){t.tracks=s.tracks?s.tracks:{items:[],total:0},t.artists=s.artists?s.artists:{items:[],total:0},t.albums=s.albums?s.albums:{items:[],total:0},t.playlists=s.playlists?s.playlists:{items:[],total:0}}))},search_tracks_next:function(t){var s=this;this.spotify_search().then((function(a){s.tracks.items=s.tracks.items.concat(a.tracks.items),s.tracks.total=a.tracks.total,s.search_param.offset+=a.tracks.limit,t.loaded(),s.search_param.offset>=s.tracks.total&&t.complete()}))},search_artists_next:function(t){var s=this;this.spotify_search().then((function(a){s.artists.items=s.artists.items.concat(a.artists.items),s.artists.total=a.artists.total,s.search_param.offset+=a.artists.limit,t.loaded(),s.search_param.offset>=s.artists.total&&t.complete()}))},search_albums_next:function(t){var s=this;this.spotify_search().then((function(a){s.albums.items=s.albums.items.concat(a.albums.items),s.albums.total=a.albums.total,s.search_param.offset+=a.albums.limit,t.loaded(),s.search_param.offset>=s.albums.total&&t.complete()}))},search_playlists_next:function(t){var s=this;this.spotify_search().then((function(a){s.playlists.items=s.playlists.items.concat(a.playlists.items),s.playlists.total=a.playlists.total,s.search_param.offset+=a.playlists.limit,t.loaded(),s.search_param.offset>=s.playlists.total&&t.complete()}))},new_search:function(){this.search_query&&(this.$router.push({path:"/search/spotify",query:{type:"track,artist,album,playlist,audiobook,podcast",query:this.search_query,limit:3,offset:0}}),this.$refs.search_field.blur())},open_search_tracks:function(){this.$router.push({path:"/search/spotify",query:{type:"track",query:this.$route.query.query}})},open_search_artists:function(){this.$router.push({path:"/search/spotify",query:{type:"artist",query:this.$route.query.query}})},open_search_albums:function(){this.$router.push({path:"/search/spotify",query:{type:"album",query:this.$route.query.query}})},open_search_playlists:function(){this.$router.push({path:"/search/spotify",query:{type:"playlist",query:this.$route.query.query}})},open_recent_search:function(t){this.search_query=t,this.new_search()},open_track_dialog:function(t){this.selected_track=t,this.show_track_details_modal=!0},open_album_dialog:function(t){this.selected_album=t,this.show_album_details_modal=!0},open_artist_dialog:function(t){this.selected_artist=t,this.show_artist_details_modal=!0},open_playlist_dialog:function(t){this.selected_playlist=t,this.show_playlist_details_modal=!0},open_album:function(t){this.$router.push({path:"/music/spotify/albums/"+t.id})},artwork_url:function(t){return t.images&&t.images.length>0?t.images[0].url:""}},mounted:function(){this.query=this.$route.query,this.search()},watch:{$route:function(t,s){this.query=t.query,this.search()}}},id=ed,nd=Object(N["a"])(id,Qc,Jc,!1,null,null,null),od=nd.exports,ld=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-settings"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Navbar items")])]),a("template",{slot:"content"},[a("p",{staticClass:"content"},[t._v(" Select the top navigation bar menu items ")]),a("div",{staticClass:"notification is-size-7"},[t._v(" If you select more items than can be shown on your screen then the burger menu will disappear. ")]),a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_menu_item_playlists"}},[a("template",{slot:"label"},[t._v(" Playlists")])],2),a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_menu_item_music"}},[a("template",{slot:"label"},[t._v(" Music")])],2),a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_menu_item_podcasts"}},[a("template",{slot:"label"},[t._v(" Podcasts")])],2),a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_menu_item_audiobooks"}},[a("template",{slot:"label"},[t._v(" Audiobooks")])],2),a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_menu_item_radio"}},[a("template",{slot:"label"},[t._v(" Radio")])],2),a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_menu_item_files"}},[a("template",{slot:"label"},[t._v(" Files")])],2),a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_menu_item_search"}},[a("template",{slot:"label"},[t._v(" Search")])],2)],1)],2),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Album lists")])]),a("template",{slot:"content"},[a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_cover_artwork_in_album_lists"}},[a("template",{slot:"label"},[t._v(" Show cover artwork in album list")])],2)],1)],2),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Now playing page")])]),a("template",{slot:"content"},[a("settings-checkbox",{attrs:{category_name:"webinterface",option_name:"show_composer_now_playing"}},[a("template",{slot:"label"},[t._v(" Show composer")]),a("template",{slot:"info"},[t._v('If enabled the composer of the current playing track is shown on the "now playing page"')])],2),a("settings-textfield",{attrs:{category_name:"webinterface",option_name:"show_composer_for_genre",disabled:!t.settings_option_show_composer_now_playing,placeholder:"Genres"}},[a("template",{slot:"label"},[t._v("Show composer only for listed genres")]),a("template",{slot:"info"},[a("p",{staticClass:"help"},[t._v(' Comma separated list of genres the composer should be displayed on the "now playing page". ')]),a("p",{staticClass:"help"},[t._v(" Leave empty to always show the composer. ")]),a("p",{staticClass:"help"},[t._v(" The genre tag of the current track is matched by checking, if one of the defined genres are included. For example setting to "),a("code",[t._v("classical, soundtrack")]),t._v(' will show the composer for tracks with a genre tag of "Contemporary Classical".'),a("br")])])],2)],1)],2)],1)},rd=[],cd=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("section",{staticClass:"section fd-tabs-section"},[a("div",{staticClass:"container"},[a("div",{staticClass:"columns is-centered"},[a("div",{staticClass:"column is-four-fifths"},[a("div",{staticClass:"tabs is-centered is-small"},[a("ul",[a("router-link",{attrs:{tag:"li",to:"/settings/webinterface","active-class":"is-active"}},[a("a",[a("span",{},[t._v("Webinterface")])])]),a("router-link",{attrs:{tag:"li",to:"/settings/remotes-outputs","active-class":"is-active"}},[a("a",[a("span",{},[t._v("Remotes & Outputs")])])]),a("router-link",{attrs:{tag:"li",to:"/settings/artwork","active-class":"is-active"}},[a("a",[a("span",{},[t._v("Artwork")])])]),a("router-link",{attrs:{tag:"li",to:"/settings/online-services","active-class":"is-active"}},[a("a",[a("span",{},[t._v("Online Services")])])])],1)])])])])])},dd=[],ud={name:"TabsSettings",computed:{}},pd=ud,_d=Object(N["a"])(pd,cd,dd,!1,null,null,null),md=_d.exports,hd=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"field"},[a("label",{staticClass:"checkbox"},[a("input",{ref:"settings_checkbox",attrs:{type:"checkbox"},domProps:{checked:t.value},on:{change:t.set_update_timer}}),t._t("label"),a("i",{staticClass:"is-size-7",class:{"has-text-info":"success"===t.statusUpdate,"has-text-danger":"error"===t.statusUpdate}},[t._v(" "+t._s(t.info))])],2),t.$slots["info"]?a("p",{staticClass:"help"},[t._t("info")],2):t._e()])},fd=[],vd={name:"SettingsCheckbox",props:["category_name","option_name"],data:function(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category:function(){var t=this;return this.$store.state.settings.categories.find((function(s){return s.name===t.category_name}))},option:function(){var t=this;return this.category?this.category.options.find((function(s){return s.name===t.option_name})):{}},value:function(){return this.option.value},info:function(){return"success"===this.statusUpdate?"(setting saved)":"error"===this.statusUpdate?"(error saving setting)":""}},methods:{set_update_timer:function(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="";var t=this.$refs.settings_checkbox.checked;t!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting:function(){var t=this;this.timerId=-1;var s=this.$refs.settings_checkbox.checked;if(s!==this.value){var a={category:this.category.name,name:this.option_name,value:s};X.settings_update(this.category.name,a).then((function(){t.$store.commit(_,a),t.statusUpdate="success"})).catch((function(){t.statusUpdate="error",t.$refs.settings_checkbox.checked=t.value})).finally((function(){t.timerId=window.setTimeout(t.clear_status,t.timerDelay)}))}else this.statusUpdate=""},clear_status:function(){this.statusUpdate=""}}},yd=vd,bd=Object(N["a"])(yd,hd,fd,!1,null,null,null),gd=bd.exports,kd=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("fieldset",{attrs:{disabled:t.disabled}},[a("div",{staticClass:"field"},[a("label",{staticClass:"label has-text-weight-normal"},[t._t("label"),a("i",{staticClass:"is-size-7",class:{"has-text-info":"success"===t.statusUpdate,"has-text-danger":"error"===t.statusUpdate}},[t._v(" "+t._s(t.info))])],2),a("div",{staticClass:"control"},[a("input",{ref:"settings_text",staticClass:"input",attrs:{type:"text",placeholder:t.placeholder},domProps:{value:t.value},on:{input:t.set_update_timer}})]),t.$slots["info"]?a("p",{staticClass:"help"},[t._t("info")],2):t._e()])])},Cd=[],wd={name:"SettingsTextfield",props:["category_name","option_name","placeholder","disabled"],data:function(){return{timerDelay:2e3,timerId:-1,statusUpdate:""}},computed:{category:function(){var t=this;return this.$store.state.settings.categories.find((function(s){return s.name===t.category_name}))},option:function(){var t=this;return this.category?this.category.options.find((function(s){return s.name===t.option_name})):{}},value:function(){return this.option.value},info:function(){return"success"===this.statusUpdate?"(setting saved)":"error"===this.statusUpdate?"(error saving setting)":""}},methods:{set_update_timer:function(){this.timerId>0&&(window.clearTimeout(this.timerId),this.timerId=-1),this.statusUpdate="";var t=this.$refs.settings_text.value;t!==this.value&&(this.timerId=window.setTimeout(this.update_setting,this.timerDelay))},update_setting:function(){var t=this;this.timerId=-1;var s=this.$refs.settings_text.value;if(s!==this.value){var a={category:this.category.name,name:this.option_name,value:s};X.settings_update(this.category.name,a).then((function(){t.$store.commit(_,a),t.statusUpdate="success"})).catch((function(){t.statusUpdate="error",t.$refs.settings_text.value=t.value})).finally((function(){t.timerId=window.setTimeout(t.clear_status,t.timerDelay)}))}else this.statusUpdate=""},clear_status:function(){this.statusUpdate=""}}},xd=wd,$d=Object(N["a"])(xd,kd,Cd,!1,null,null,null),qd=$d.exports,Ad={name:"SettingsPageWebinterface",components:{ContentWithHeading:Ms,TabsSettings:md,SettingsCheckbox:gd,SettingsTextfield:qd},computed:{settings_option_show_composer_now_playing:function(){return this.$store.getters.settings_option_show_composer_now_playing}}},Sd=Ad,jd=Object(N["a"])(Sd,ld,rd,!1,null,null,null),Pd=jd.exports,Od=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-settings"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Artwork")])]),a("template",{slot:"content"},[a("div",{staticClass:"content"},[a("p",[t._v(" forked-daapd supports PNG and JPEG artwork which is either placed as separate image files in the library, embedded in the media files or made available online by radio stations. ")]),a("p",[t._v("In addition to that, you can enable fetching artwork from the following artwork providers:")])]),t.spotify.libspotify_logged_in?a("settings-checkbox",{attrs:{category_name:"artwork",option_name:"use_artwork_source_spotify"}},[a("template",{slot:"label"},[t._v(" Spotify")])],2):t._e(),a("settings-checkbox",{attrs:{category_name:"artwork",option_name:"use_artwork_source_discogs"}},[a("template",{slot:"label"},[t._v(" Discogs ("),a("a",{attrs:{href:"https://www.discogs.com/"}},[t._v("https://www.discogs.com/")]),t._v(")")])],2),a("settings-checkbox",{attrs:{category_name:"artwork",option_name:"use_artwork_source_coverartarchive"}},[a("template",{slot:"label"},[t._v(" Cover Art Archive ("),a("a",{attrs:{href:"https://coverartarchive.org/"}},[t._v("https://coverartarchive.org/")]),t._v(")")])],2)],1)],2)],1)},Td=[],Ld={name:"SettingsPageArtwork",components:{ContentWithHeading:Ms,TabsSettings:md,SettingsCheckbox:gd},computed:{spotify:function(){return this.$store.state.spotify}}},Ed=Ld,Id=Object(N["a"])(Ed,Od,Td,!1,null,null,null),zd=Id.exports,Dd=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-settings"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Spotify")])]),a("template",{slot:"content"},[t.spotify.libspotify_installed?t._e():a("div",{staticClass:"notification is-size-7"},[a("p",[t._v("forked-daapd was either built without support for Spotify or libspotify is not installed.")])]),t.spotify.libspotify_installed?a("div",[a("div",{staticClass:"notification is-size-7"},[a("b",[t._v("You must have a Spotify premium account")]),t._v(". If you normally log into Spotify with your Facebook account you must first go to Spotify's web site where you can get the Spotify username and password that matches your account. ")]),a("div",[a("p",{staticClass:"content"},[a("b",[t._v("libspotify")]),t._v(" - Login with your Spotify username and password ")]),t.spotify.libspotify_logged_in?a("p",{staticClass:"fd-has-margin-bottom"},[t._v(" Logged in as "),a("b",[a("code",[t._v(t._s(t.spotify.libspotify_user))])])]):t._e(),t.spotify.libspotify_installed&&!t.spotify.libspotify_logged_in?a("form",{on:{submit:function(s){return s.preventDefault(),t.login_libspotify(s)}}},[a("div",{staticClass:"field is-grouped"},[a("div",{staticClass:"control is-expanded"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.libspotify.user,expression:"libspotify.user"}],staticClass:"input",attrs:{type:"text",placeholder:"Username"},domProps:{value:t.libspotify.user},on:{input:function(s){s.target.composing||t.$set(t.libspotify,"user",s.target.value)}}}),a("p",{staticClass:"help is-danger"},[t._v(t._s(t.libspotify.errors.user))])]),a("div",{staticClass:"control is-expanded"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.libspotify.password,expression:"libspotify.password"}],staticClass:"input",attrs:{type:"password",placeholder:"Password"},domProps:{value:t.libspotify.password},on:{input:function(s){s.target.composing||t.$set(t.libspotify,"password",s.target.value)}}}),a("p",{staticClass:"help is-danger"},[t._v(t._s(t.libspotify.errors.password))])]),a("div",{staticClass:"control"},[a("button",{staticClass:"button is-info"},[t._v("Login")])])])]):t._e(),a("p",{staticClass:"help is-danger"},[t._v(t._s(t.libspotify.errors.error))]),a("p",{staticClass:"help"},[t._v(" libspotify enables forked-daapd to play Spotify tracks. ")]),a("p",{staticClass:"help"},[t._v(" forked-daapd will not store your password, but will still be able to log you in automatically afterwards, because libspotify saves a login token. ")])]),a("div",{staticClass:"fd-has-margin-top"},[a("p",{staticClass:"content"},[a("b",[t._v("Spotify Web API")]),t._v(" - Grant access to the Spotify Web API ")]),t.spotify.webapi_token_valid?a("p",[t._v(" Access granted for "),a("b",[a("code",[t._v(t._s(t.spotify.webapi_user))])])]):t._e(),t.spotify_missing_scope.length>0?a("p",{staticClass:"help is-danger"},[t._v(" Please reauthorize Web API access to grant forked-daapd the following additional access rights: "),a("b",[a("code",[t._v(t._s(t._f("join")(t.spotify_missing_scope)))])])]):t._e(),a("div",{staticClass:"field fd-has-margin-top "},[a("div",{staticClass:"control"},[a("a",{staticClass:"button",class:{"is-info":!t.spotify.webapi_token_valid||t.spotify_missing_scope.length>0},attrs:{href:t.spotify.oauth_uri}},[t._v("Authorize Web API access")])])]),a("p",{staticClass:"help"},[t._v(" Access to the Spotify Web API enables scanning of your Spotify library. Required scopes are "),a("code",[t._v(t._s(t._f("join")(t.spotify_required_scope)))]),t._v(". ")])])]):t._e()])],2),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Last.fm")])]),a("template",{slot:"content"},[t.lastfm.enabled?t._e():a("div",{staticClass:"notification is-size-7"},[a("p",[t._v("forked-daapd was built without support for Last.fm.")])]),t.lastfm.enabled?a("div",[a("p",{staticClass:"content"},[a("b",[t._v("Last.fm")]),t._v(" - Login with your Last.fm username and password to enable scrobbling ")]),t.lastfm.scrobbling_enabled?a("div",[a("a",{staticClass:"button",on:{click:t.logoutLastfm}},[t._v("Stop scrobbling")])]):t._e(),t.lastfm.scrobbling_enabled?t._e():a("div",[a("form",{on:{submit:function(s){return s.preventDefault(),t.login_lastfm(s)}}},[a("div",{staticClass:"field is-grouped"},[a("div",{staticClass:"control is-expanded"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.lastfm_login.user,expression:"lastfm_login.user"}],staticClass:"input",attrs:{type:"text",placeholder:"Username"},domProps:{value:t.lastfm_login.user},on:{input:function(s){s.target.composing||t.$set(t.lastfm_login,"user",s.target.value)}}}),a("p",{staticClass:"help is-danger"},[t._v(t._s(t.lastfm_login.errors.user))])]),a("div",{staticClass:"control is-expanded"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.lastfm_login.password,expression:"lastfm_login.password"}],staticClass:"input",attrs:{type:"password",placeholder:"Password"},domProps:{value:t.lastfm_login.password},on:{input:function(s){s.target.composing||t.$set(t.lastfm_login,"password",s.target.value)}}}),a("p",{staticClass:"help is-danger"},[t._v(t._s(t.lastfm_login.errors.password))])]),a("div",{staticClass:"control"},[a("button",{staticClass:"button is-info",attrs:{type:"submit"}},[t._v("Login")])])]),a("p",{staticClass:"help is-danger"},[t._v(t._s(t.lastfm_login.errors.error))]),a("p",{staticClass:"help"},[t._v(" forked-daapd will not store your Last.fm username/password, only the session key. The session key does not expire. ")])])])]):t._e()])],2)],1)},Nd=[],Rd={name:"SettingsPageOnlineServices",components:{ContentWithHeading:Ms,TabsSettings:md},data:function(){return{libspotify:{user:"",password:"",errors:{user:"",password:"",error:""}},lastfm_login:{user:"",password:"",errors:{user:"",password:"",error:""}}}},computed:{lastfm:function(){return this.$store.state.lastfm},spotify:function(){return this.$store.state.spotify},spotify_required_scope:function(){return this.spotify.webapi_token_valid&&this.spotify.webapi_granted_scope&&this.spotify.webapi_required_scope?this.spotify.webapi_required_scope.split(" "):[]},spotify_missing_scope:function(){var t=this;return this.spotify.webapi_token_valid&&this.spotify.webapi_granted_scope&&this.spotify.webapi_required_scope?this.spotify.webapi_required_scope.split(" ").filter((function(s){return t.spotify.webapi_granted_scope.indexOf(s)<0})):[]}},methods:{login_libspotify:function(){var t=this;X.spotify_login(this.libspotify).then((function(s){t.libspotify.user="",t.libspotify.password="",t.libspotify.errors.user="",t.libspotify.errors.password="",t.libspotify.errors.error="",s.data.success||(t.libspotify.errors.user=s.data.errors.user,t.libspotify.errors.password=s.data.errors.password,t.libspotify.errors.error=s.data.errors.error)}))},login_lastfm:function(){var t=this;X.lastfm_login(this.lastfm_login).then((function(s){t.lastfm_login.user="",t.lastfm_login.password="",t.lastfm_login.errors.user="",t.lastfm_login.errors.password="",t.lastfm_login.errors.error="",s.data.success||(t.lastfm_login.errors.user=s.data.errors.user,t.lastfm_login.errors.password=s.data.errors.password,t.lastfm_login.errors.error=s.data.errors.error)}))},logoutLastfm:function(){X.lastfm_logout()}},filters:{join:function(t){return t.join(", ")}}},Md=Rd,Ud=Object(N["a"])(Md,Dd,Nd,!1,null,null,null),Hd=Ud.exports,Wd=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",[a("tabs-settings"),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Remote Pairing")])]),a("template",{slot:"content"},[t.pairing.active?a("div",{staticClass:"notification"},[a("form",{on:{submit:function(s){return s.preventDefault(),t.kickoff_pairing(s)}}},[a("label",{staticClass:"label has-text-weight-normal"},[t._v(" Remote pairing request from "),a("b",[t._v(t._s(t.pairing.remote))])]),a("div",{staticClass:"field is-grouped"},[a("div",{staticClass:"control"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.pairing_req.pin,expression:"pairing_req.pin"}],staticClass:"input",attrs:{type:"text",placeholder:"Enter pairing code"},domProps:{value:t.pairing_req.pin},on:{input:function(s){s.target.composing||t.$set(t.pairing_req,"pin",s.target.value)}}})]),a("div",{staticClass:"control"},[a("button",{staticClass:"button is-info",attrs:{type:"submit"}},[t._v("Send")])])])])]):t._e(),t.pairing.active?t._e():a("div",{staticClass:"content"},[a("p",[t._v("No active pairing request.")])])])],2),a("content-with-heading",[a("template",{slot:"heading-left"},[a("div",{staticClass:"title is-4"},[t._v("Device Verification")])]),a("template",{slot:"content"},[a("p",{staticClass:"content"},[t._v(" If your Apple TV requires device verification then activate the device below and enter the PIN that the Apple TV displays. ")]),t._l(t.outputs,(function(s){return a("div",{key:s.id},[a("div",{staticClass:"field"},[a("div",{staticClass:"control"},[a("label",{staticClass:"checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:s.selected,expression:"output.selected"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(s.selected)?t._i(s.selected,null)>-1:s.selected},on:{change:[function(a){var e=s.selected,i=a.target,n=!!i.checked;if(Array.isArray(e)){var o=null,l=t._i(e,o);i.checked?l<0&&t.$set(s,"selected",e.concat([o])):l>-1&&t.$set(s,"selected",e.slice(0,l).concat(e.slice(l+1)))}else t.$set(s,"selected",n)},function(a){return t.output_toggle(s.id)}]}}),t._v(" "+t._s(s.name)+" ")])])]),s.needs_auth_key?a("form",{staticClass:"fd-has-margin-bottom",on:{submit:function(a){return a.preventDefault(),t.kickoff_verification(s.id)}}},[a("div",{staticClass:"field is-grouped"},[a("div",{staticClass:"control"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.verification_req.pin,expression:"verification_req.pin"}],staticClass:"input",attrs:{type:"text",placeholder:"Enter verification code"},domProps:{value:t.verification_req.pin},on:{input:function(s){s.target.composing||t.$set(t.verification_req,"pin",s.target.value)}}})]),a("div",{staticClass:"control"},[a("button",{staticClass:"button is-info",attrs:{type:"submit"}},[t._v("Verify")])])])]):t._e()])}))],2)],2)],1)},Bd=[],Fd={name:"SettingsPageRemotesOutputs",components:{ContentWithHeading:Ms,TabsSettings:md},data:function(){return{pairing_req:{pin:""},verification_req:{pin:""}}},computed:{pairing:function(){return this.$store.state.pairing},outputs:function(){return this.$store.state.outputs}},methods:{kickoff_pairing:function(){X.pairing_kickoff(this.pairing_req)},output_toggle:function(t){X.output_toggle(t)},kickoff_verification:function(t){X.output_update(t,this.verification_req)}},filters:{}},Gd=Fd,Yd=Object(N["a"])(Gd,Wd,Bd,!1,null,null,null),Vd=Yd.exports;i["a"].use(Ts["a"]);var Qd=new Ts["a"]({routes:[{path:"/",name:"PageQueue",component:ya},{path:"/about",name:"About",component:fr},{path:"/now-playing",name:"Now playing",component:za},{path:"/music",redirect:"/music/browse"},{path:"/music/browse",name:"Browse",component:Ee,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/browse/recently_added",name:"Browse Recently Added",component:Ue,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/browse/recently_played",name:"Browse Recently Played",component:Ve,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/artists",name:"Artists",component:Ti,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/artists/:artist_id",name:"Artist",component:Ri,meta:{show_progress:!0,has_index:!0}},{path:"/music/artists/:artist_id/tracks",name:"Tracks",component:Un,meta:{show_progress:!0,has_index:!0}},{path:"/music/albums",name:"Albums",component:Gi,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/albums/:album_id",name:"Album",component:tn,meta:{show_progress:!0}},{path:"/music/genres",name:"Genres",component:gn,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/music/genres/:genre",name:"Genre",component:An,meta:{show_progress:!0,has_index:!0}},{path:"/music/genres/:genre/tracks",name:"GenreTracks",component:En,meta:{show_progress:!0,has_index:!0}},{path:"/podcasts",name:"Podcasts",component:to,meta:{show_progress:!0}},{path:"/podcasts/:album_id",name:"Podcast",component:lo,meta:{show_progress:!0}},{path:"/audiobooks",redirect:"/audiobooks/artists"},{path:"/audiobooks/artists",name:"AudiobooksArtists",component:So,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/audiobooks/artists/:artist_id",name:"AudiobooksArtist",component:Io,meta:{show_progress:!0}},{path:"/audiobooks/albums",name:"AudiobooksAlbums",component:ko,meta:{show_progress:!0,has_tabs:!0,has_index:!0}},{path:"/audiobooks/:album_id",name:"Audiobook",component:Ho,meta:{show_progress:!0}},{path:"/radio",name:"Radio",component:Gl,meta:{show_progress:!0}},{path:"/files",name:"Files",component:Rl,meta:{show_progress:!0}},{path:"/playlists",redirect:"/playlists/0"},{path:"/playlists/:playlist_id",name:"Playlists",component:_l,meta:{show_progress:!0}},{path:"/playlists/:playlist_id/tracks",name:"Playlist",component:gl,meta:{show_progress:!0}},{path:"/search",redirect:"/search/library"},{path:"/search/library",name:"Search Library",component:dr},{path:"/music/spotify",name:"Spotify",component:Yr,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/new-releases",name:"Spotify Browse New Releases",component:tc,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/featured-playlists",name:"Spotify Browse Featured Playlists",component:lc,meta:{show_progress:!0,has_tabs:!0}},{path:"/music/spotify/artists/:artist_id",name:"Spotify Artist",component:Cc,meta:{show_progress:!0}},{path:"/music/spotify/albums/:album_id",name:"Spotify Album",component:Uc,meta:{show_progress:!0}},{path:"/music/spotify/playlists/:playlist_id",name:"Spotify Playlist",component:Vc,meta:{show_progress:!0}},{path:"/search/spotify",name:"Spotify Search",component:od},{path:"/settings/webinterface",name:"Settings Webinterface",component:Pd},{path:"/settings/artwork",name:"Settings Artwork",component:zd},{path:"/settings/online-services",name:"Settings Online Services",component:Hd},{path:"/settings/remotes-outputs",name:"Settings Remotes Outputs",component:Vd}],scrollBehavior:function(t,s,a){return a?new Promise((function(t,s){setTimeout((function(){t(a)}),10)})):t.path===s.path&&t.hash?{selector:t.hash,offset:{x:0,y:120}}:t.hash?new Promise((function(s,a){setTimeout((function(){s({selector:t.hash,offset:{x:0,y:120}})}),10)})):t.meta.has_index?new Promise((function(s,a){setTimeout((function(){t.meta.has_tabs?s({selector:"#top",offset:{x:0,y:140}}):s({selector:"#top",offset:{x:0,y:100}})}),10)})):{x:0,y:0}}});Qd.beforeEach((function(t,s,a){return K.state.show_burger_menu?(K.commit(E,!1),void a(!1)):K.state.show_player_menu?(K.commit(I,!1),void a(!1)):void a(!0)}));var Jd=a("4623"),Kd=a.n(Jd);Kd()(As.a),i["a"].filter("duration",(function(t,s){return s?As.a.duration(t).format(s):As.a.duration(t).format("hh:*mm:ss")})),i["a"].filter("time",(function(t,s){return s?As()(t).format(s):As()(t).format()})),i["a"].filter("timeFromNow",(function(t,s){return As()(t).fromNow(s)})),i["a"].filter("number",(function(t){return t.toLocaleString()})),i["a"].filter("channels",(function(t){return 1===t?"mono":2===t?"stereo":t?t+" channels":""}));var Xd=a("26b9"),Zd=a.n(Xd);i["a"].use(Zd.a,{color:"hsl(204, 86%, 53%)",failedColor:"red",height:"1px"});var tu=a("c28b"),su=a.n(tu),au=a("3659"),eu=a.n(au),iu=a("85fe"),nu=a("f13c"),ou=a.n(nu);a("de2f"),a("2760"),a("a848");i["a"].config.productionTip=!1,i["a"].use(su.a),i["a"].use(eu.a),i["a"].use(iu["a"]),i["a"].use(ou.a),new i["a"]({el:"#app",router:Qd,store:K,components:{App:Os},template:""})},a848:function(t,s,a){},cf45:function(t,s,a){"use strict";a("53c4")},e6a4:function(t,s){},fd4d:function(t,s,a){"use strict";var e=a("2c75"),i=a("4178"),n=a("2877"),o=Object(n["a"])(i["default"],e["a"],e["b"],!1,null,null,null);s["default"]=o.exports}}); //# sourceMappingURL=app-legacy.js.map