import{I as b}from"./ItemsListing-BNJg2MyK.js";import{x as h,ae as I,r,H as u,o as w,I as e,P as E,ag as n,b as P,y as T,z as L,M as c,aj as p}from"./index-DJHitrKX.js";import"./ItemContextMenu.vue_vue_type_style_index_0_scoped_9ca321c3_lang-_lsFI5rQ.js";import"./ProviderIcon.vue_vue_type_script_setup_true_lang-CNlAq-jT.js";import"./VListItem-12Wt-HBF.js";import"./VChip-ClDFnVJT.js";import"./VList-BX74mk0S.js";import"./VCardText-8kU2RnWJ.js";import"./VCard-CTh4pnjm.js";import"./VMenu-iVz4cckD.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./eventbus-CGRXT3Tn.js";import"./ListItem-DOz6X9XT.js";import"./VCheckbox-3aIL0vaW.js";import"./VCheckboxBtn-dAENQuo8.js";import"./VTooltip-CC0Yfw6u.js";import"./VSpacer-C1vP4eYJ.js";/* empty css              */import"./PanelviewItemCompact-UEfnScEJ.js";import"./Container-DzCq22Wj.js";import"./VContainer-BVnHxF_6.js";import"./Toolbar-DsD0yISu.js";import"./VToolbar-5UlLOvbM.js";import"./VTextField-B3QP6rDq.js";import"./VInfiniteScroll-CN_ha1Dt.js";import"./layout-DuzBpUJc.js";import"./VRow-B5X4VCpx.js";import"./VVirtualScroll-2KPgq6zI.js";import"./VAlert-DIuxfh9u.js";const at=h({name:"Playlists",__name:"LibraryPlaylists",setup(A){const{t:y}=I(),l=r(!1),o=r(u.libraryPlaylistsCount),m=r([]),d=["name","name_desc","sort_name","sort_name_desc","timestamp_added","timestamp_added_desc","timestamp_modified","timestamp_modified_desc","last_played","last_played_desc","play_count","play_count_desc"],_=async function(t){if(t.refresh&&!l.value){for(e.startSync([c.PLAYLIST]),await p(250);e.syncTasks.value.length>0&&e.syncTasks.value.filter(a=>a.media_types.includes(c.PLAYLIST)).length!=0;)await p(500);await p(500)}return l.value=!1,f(t),await e.getLibraryPlaylists(t.favoritesOnly||void 0,t.search,t.limit,t.offset,t.sortBy)},f=async function(t){if(!t.favoritesOnly){o.value=u.libraryPlaylistsCount;return}o.value=await e.getLibraryPlaylistsCount(t.favoritesOnly||!1)};w(()=>{const t=[];for(const s of Object.values(e.providers).filter(i=>i.available&&i.supported_features.includes(E.PLAYLIST_CREATE)))t.push({label:"create_playlist_on",labelArgs:[s.name],action:()=>{v(s.instance_id)},icon:"mdi-playlist-plus"});t.length&&m.value.push({label:"create_playlist_on",icon:"mdi-playlist-plus",subItems:t});const a=e.subscribe_multi([n.MEDIA_ITEM_ADDED,n.MEDIA_ITEM_UPDATED,n.MEDIA_ITEM_DELETED],s=>{var i;(i=s.object_id)!=null&&i.startsWith("library://playlist")&&(l.value=!0)});P(a)});const v=async function(t){const a=prompt(y("new_playlist_name"));a&&await e.createPlaylist(a,t).then(()=>location.reload()).catch(s=>alert(s))};return(t,a)=>(T(),L(b,{itemtype:"playlists",path:"libraryplaylists","show-duration":!1,"show-provider":!0,"show-favorites-only-filter":!0,"load-paged-data":_,"show-library":!0,"sort-keys":d,"update-available":l.value,title:t.$t("playlists"),"allow-key-hooks":!0,"show-search-button":!0,"extra-menu-items":m.value,icon:"mdi-playlist-play","restore-state":!0,total:o.value},null,8,["update-available","title","extra-menu-items","total"]))}});export{at as default};
