music-assistant-frontend 2.17.11__py3-none-any.whl → 2.17.15__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of music-assistant-frontend might be problematic. Click here for more details.

Files changed (142) hide show
  1. music_assistant_frontend/CNAME +1 -0
  2. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-DG4jP955.js +1 -0
  3. music_assistant_frontend/assets/AddPlayerGroup-Bwk7pmNx.js +1 -0
  4. music_assistant_frontend/assets/AddProviderDetails-9el-oexz.js +1 -0
  5. music_assistant_frontend/assets/AlbumDetails-BxtRl2YX.js +1 -0
  6. music_assistant_frontend/assets/ArtistDetails-C15MPi-J.js +1 -0
  7. music_assistant_frontend/assets/AudiobookDetails-BtzViAS0.js +1 -0
  8. music_assistant_frontend/assets/BrowseView-DwddahrD.js +1 -0
  9. music_assistant_frontend/assets/Button-Da2w4xZe.js +1 -0
  10. music_assistant_frontend/assets/Container-vEyxubcK.js +1 -0
  11. music_assistant_frontend/assets/CoreConfigs-D3Lk-7JE.js +1 -0
  12. music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-C6YdwidI.js +1 -0
  13. music_assistant_frontend/assets/Default-Br-juh2E.js +21 -0
  14. music_assistant_frontend/assets/Default-C8ExxF7E.css +1 -0
  15. music_assistant_frontend/assets/EditConfig-BnGkC7Dx.js +1 -0
  16. music_assistant_frontend/assets/EditCoreConfig-CnIejyq9.js +1 -0
  17. music_assistant_frontend/assets/EditPlayer-DWbeXaJ5.js +1 -0
  18. music_assistant_frontend/assets/EditPlayerDsp-BFHS-0i1.js +9 -0
  19. music_assistant_frontend/assets/EditProvider-DaVXHsTj.js +1 -0
  20. music_assistant_frontend/assets/FrontendConfig-eR1Z1zGd.js +1 -0
  21. music_assistant_frontend/assets/HomeView-Dn-M1jTz.js +1 -0
  22. music_assistant_frontend/assets/ItemsListing-DsCHQduO.js +1 -0
  23. music_assistant_frontend/assets/ItemsListing-qc86ZllS.css +1 -0
  24. music_assistant_frontend/assets/LibraryAlbums-CHYwiQaW.js +1 -0
  25. music_assistant_frontend/assets/LibraryArtists-BdcWa4H2.js +1 -0
  26. music_assistant_frontend/assets/LibraryAudiobooks-DC0SIBx-.js +1 -0
  27. music_assistant_frontend/assets/LibraryPlaylists-AKjmGQHJ.js +1 -0
  28. music_assistant_frontend/assets/LibraryPodcasts-D8nYpNLG.js +1 -0
  29. music_assistant_frontend/assets/LibraryRadios-1GRC-OzJ.js +1 -0
  30. music_assistant_frontend/assets/LibraryTracks-p8Y13gW3.js +1 -0
  31. music_assistant_frontend/assets/ListItem-CMI0ccXI.js +1 -0
  32. music_assistant_frontend/assets/MediaItemImages-CpqpuCtk.js +1 -0
  33. music_assistant_frontend/assets/MediaItemThumb-CMOvHHof.js +1 -0
  34. music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-B8G50Aza.js +1 -0
  35. music_assistant_frontend/assets/PanelviewItemCompact-C6DCjPZU.js +1 -0
  36. music_assistant_frontend/assets/PlayerCard-RpvQiENI.js +1 -0
  37. music_assistant_frontend/assets/Players-DbwqOQm4.js +1 -0
  38. music_assistant_frontend/assets/PlaylistDetails-DhlSXFbi.js +1 -0
  39. music_assistant_frontend/assets/PodcastDetails-bqHu2VUs.js +1 -0
  40. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-BvNkAPPj.js +8 -0
  41. music_assistant_frontend/assets/Providers-CgdTyZF0.js +1 -0
  42. music_assistant_frontend/assets/RadioDetails-BDJXF1Lf.js +1 -0
  43. music_assistant_frontend/assets/Search-BOjaQ4tl.js +1 -0
  44. music_assistant_frontend/assets/Settings-D8dH3JXV.js +1 -0
  45. music_assistant_frontend/assets/Toolbar-94EvSFT-.js +1 -0
  46. music_assistant_frontend/assets/TrackDetails-D-mFx3v3.js +1 -0
  47. music_assistant_frontend/assets/UserManagement-DqY36gSD.js +1 -0
  48. music_assistant_frontend/assets/UserProfile-2DGSt3Q4.js +1 -0
  49. music_assistant_frontend/assets/{UserProfile-N41UXZkv.css → UserProfile-2WJSaYoR.css} +1 -1
  50. music_assistant_frontend/assets/VAlert-DfNKgxBR.js +1 -0
  51. music_assistant_frontend/assets/VCheckboxBtn-B_ZAO1Qo.js +1 -0
  52. music_assistant_frontend/assets/{VDialog-BPGCUfED.js → VDialog-B7h8eW0m.js} +1 -1
  53. music_assistant_frontend/assets/VExpansionPanels-cqvywsgH.js +1 -0
  54. music_assistant_frontend/assets/VForm-D2eK17M_.js +1 -0
  55. music_assistant_frontend/assets/VInfiniteScroll-Bbntx9NP.css +1 -0
  56. music_assistant_frontend/assets/VInfiniteScroll-CBHSFC6_.js +1 -0
  57. music_assistant_frontend/assets/VSelect-cNIaLpz4.js +1 -0
  58. music_assistant_frontend/assets/VSlider-Dt4jt2Zl.js +1 -0
  59. music_assistant_frontend/assets/VSwitch-CvtgmnVD.js +1 -0
  60. music_assistant_frontend/assets/VToolbar-DyyzvXAh.js +1 -0
  61. music_assistant_frontend/assets/VVirtualScroll-Ck3MSSZi.js +1 -0
  62. music_assistant_frontend/assets/WidgetRow-CXYVjNw0.js +1 -0
  63. music_assistant_frontend/assets/{index-9wFVyQJF.js → index-BjdGY0D1.js} +31 -31
  64. music_assistant_frontend/assets/index-DFqSLpsO.css +1 -0
  65. music_assistant_frontend/assets/marquee_text_sync-WzwJ--pH.js +1 -0
  66. music_assistant_frontend/index.html +2 -2
  67. music_assistant_frontend/sw.js +2 -1
  68. {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/METADATA +1 -1
  69. music_assistant_frontend-2.17.15.dist-info/RECORD +139 -0
  70. music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-BilDCpf6.js +0 -1
  71. music_assistant_frontend/assets/AddPlayerGroup-BYV8Y1LE.js +0 -1
  72. music_assistant_frontend/assets/AddProviderDetails-kB7INZIB.js +0 -1
  73. music_assistant_frontend/assets/AlbumDetails-DU6l-aqD.js +0 -1
  74. music_assistant_frontend/assets/ArtistDetails-C5fwf1Ul.js +0 -1
  75. music_assistant_frontend/assets/AudiobookDetails-BdfpQjus.js +0 -1
  76. music_assistant_frontend/assets/BrowseView-BssNiRRa.js +0 -1
  77. music_assistant_frontend/assets/Button-C-VEz_LI.js +0 -1
  78. music_assistant_frontend/assets/Container-BJrCSObY.js +0 -1
  79. music_assistant_frontend/assets/CoreConfigs-rOpcKZFT.js +0 -1
  80. music_assistant_frontend/assets/Default-3G11SZal.css +0 -1
  81. music_assistant_frontend/assets/Default-CUXRm2rg.js +0 -21
  82. music_assistant_frontend/assets/EditConfig-DXjpmNn9.js +0 -1
  83. music_assistant_frontend/assets/EditCoreConfig-C-eN53T5.js +0 -1
  84. music_assistant_frontend/assets/EditPlayer-DIvL3z3D.js +0 -1
  85. music_assistant_frontend/assets/EditPlayerDsp-B1Xon7v2.js +0 -9
  86. music_assistant_frontend/assets/EditProvider-D9MCfQ0w.js +0 -1
  87. music_assistant_frontend/assets/FrontendConfig-GHYdXDxu.js +0 -1
  88. music_assistant_frontend/assets/HomeView-DJF0saSj.js +0 -1
  89. music_assistant_frontend/assets/ItemsListing-C49HRbSG.js +0 -1
  90. music_assistant_frontend/assets/ItemsListing-CBCWLHeg.css +0 -1
  91. music_assistant_frontend/assets/LibraryAlbums-D9tiVoO5.js +0 -1
  92. music_assistant_frontend/assets/LibraryArtists-6kAIUMT4.js +0 -1
  93. music_assistant_frontend/assets/LibraryAudiobooks-Bs8mF684.js +0 -1
  94. music_assistant_frontend/assets/LibraryPlaylists-DkpseMkD.js +0 -1
  95. music_assistant_frontend/assets/LibraryPodcasts-DwH40GTd.js +0 -1
  96. music_assistant_frontend/assets/LibraryRadios-fbUMI3_x.js +0 -1
  97. music_assistant_frontend/assets/LibraryTracks-CglybHEv.js +0 -1
  98. music_assistant_frontend/assets/ListItem-UwdbG-Br.js +0 -1
  99. music_assistant_frontend/assets/MediaItemImages-C4aHMmVs.js +0 -1
  100. music_assistant_frontend/assets/MediaItemThumb-CIzEvLC1.js +0 -1
  101. music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js +0 -1
  102. music_assistant_frontend/assets/PanelviewItemCompact-Bh2HNG1g.js +0 -1
  103. music_assistant_frontend/assets/PlayerCard-CNtRdfSH.js +0 -1
  104. music_assistant_frontend/assets/Players-C0QWtmPX.js +0 -1
  105. music_assistant_frontend/assets/PlaylistDetails-CnlMQiYr.js +0 -1
  106. music_assistant_frontend/assets/PodcastDetails-DoAzZcpm.js +0 -1
  107. music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-BrpUE5JN.js +0 -8
  108. music_assistant_frontend/assets/Providers-DbouHjV4.js +0 -1
  109. music_assistant_frontend/assets/RadioDetails-BNB_Zz7v.js +0 -1
  110. music_assistant_frontend/assets/Search-X_hTXwtA.js +0 -1
  111. music_assistant_frontend/assets/Settings-v85kXJFD.js +0 -1
  112. music_assistant_frontend/assets/Toolbar-DKtKPcsg.js +0 -1
  113. music_assistant_frontend/assets/TrackDetails-kIDB3KQY.js +0 -1
  114. music_assistant_frontend/assets/UserManagement-D2TMWca2.js +0 -1
  115. music_assistant_frontend/assets/UserProfile-DQbgJeA-.js +0 -1
  116. music_assistant_frontend/assets/VAlert-D47QZ7qK.js +0 -1
  117. music_assistant_frontend/assets/VCheckboxBtn-DtwUx7x8.js +0 -1
  118. music_assistant_frontend/assets/VContainer-Bmll2nQh.js +0 -1
  119. music_assistant_frontend/assets/VExpansionPanels-A0OVIs-m.js +0 -1
  120. music_assistant_frontend/assets/VForm-RrHOXWl_.js +0 -1
  121. music_assistant_frontend/assets/VInput-Bym6CXFb.js +0 -1
  122. music_assistant_frontend/assets/VInput-CcxkaOXT.css +0 -1
  123. music_assistant_frontend/assets/VRow-plcqQvnb.js +0 -1
  124. music_assistant_frontend/assets/VSelect-FK85NUXM.js +0 -1
  125. music_assistant_frontend/assets/VSlider-DxpYJWk3.js +0 -1
  126. music_assistant_frontend/assets/VSnackbar-B7zT2MUe.js +0 -1
  127. music_assistant_frontend/assets/VSnackbar-BIpAVEnw.css +0 -1
  128. music_assistant_frontend/assets/VSwitch-DhfvNVio.js +0 -1
  129. music_assistant_frontend/assets/VTextField-DJZc05eK.js +0 -1
  130. music_assistant_frontend/assets/VTextField-PT7-TPYc.css +0 -1
  131. music_assistant_frontend/assets/VToolbar-BKGXqxdt.js +0 -1
  132. music_assistant_frontend/assets/VVirtualScroll-H5Wikvf-.js +0 -1
  133. music_assistant_frontend/assets/WidgetRow-DaVwmU5p.js +0 -1
  134. music_assistant_frontend/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  135. music_assistant_frontend/assets/index-BMleNiiT.css +0 -1
  136. music_assistant_frontend/assets/layout-BdbtgIRG.js +0 -1
  137. music_assistant_frontend/assets/marquee_text_sync-D3Qu1KPM.js +0 -1
  138. music_assistant_frontend/workbox-e3490c72.js +0 -1
  139. music_assistant_frontend-2.17.11.dist-info/RECORD +0 -146
  140. {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/WHEEL +0 -0
  141. {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/licenses/LICENSE +0 -0
  142. {music_assistant_frontend-2.17.11.dist-info → music_assistant_frontend-2.17.15.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- .v-item-group{flex:0 1 auto;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1)}.unavailable[data-v-cf65a966],.dimmed[data-v-cf65a966]{opacity:.3}.hidden[data-v-cf65a966]{opacity:0}.hiresicon[data-v-cf65a966]{margin-top:5px;margin-right:15px;margin-left:15px;filter:invert(100%)}.hiresicondark[data-v-cf65a966]{margin-top:5px;margin-right:15px;margin-left:15px}.v-card.unavailable[data-v-bb3ba95c]{opacity:.3}.panel-item[data-v-bb3ba95c]{height:100%;padding:10px;border:none;border-style:none!important}.panel-item-checkbox[data-v-bb3ba95c]{position:absolute;width:100%;height:auto;left:0;right:0}.panel-item-details[data-v-bb3ba95c]{margin-top:10px;padding-left:0!important;padding-right:0!important;height:40px}.panel-item-actions[data-v-bb3ba95c]{padding:0;margin:10px 0 0;height:40px;min-height:unset!important}panel-item-details[data-v-bb3ba95c] .v-list-item__content{height:30px}.v-card--active[data-v-bb3ba95c]{background-color:red}.hiresicon[data-v-bb3ba95c]{margin-right:10px}.hiresiconinverted[data-v-bb3ba95c]{margin-right:10px;filter:invert(100%)}.col-2[data-v-058c19ad]{width:50%;max-width:50%;flex-basis:50%;padding:8px}.col-3[data-v-058c19ad]{width:33.3%;max-width:33.3%;flex-basis:33.3%;padding:8px}.col-4[data-v-058c19ad]{width:25%;max-width:25%;flex-basis:25%;padding:8px}.col-5[data-v-058c19ad]{width:20%;max-width:20%;flex-basis:20%;padding:8px}.col-6[data-v-058c19ad]{width:16.6%;max-width:16.6%;flex-basis:16.6%;padding:8px}.col-7[data-v-058c19ad]{width:14.2%;max-width:14.2%;flex-basis:14.2%;padding:8px}.col-8[data-v-058c19ad]{width:12.5%;max-width:12.5%;flex-basis:12.5%;padding:8px}.col-9[data-v-058c19ad]{width:11.1%;max-width:11.1%;flex-basis:11.1%;padding:8px}
@@ -1 +0,0 @@
1
- import{I as p}from"./ItemsListing-C49HRbSG.js";import{av as c,H as i,au as l,a3 as d,aL as e,b6 as y,a4 as b,aD as _,az as s,aM as f,ax as v}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";const $=c({name:"Albums",__name:"LibraryAlbums",setup(h){const a=i(!1),o=i(l.libraryAlbumsCount),n=["name","name_desc","sort_name","sort_name_desc","year","year_desc","timestamp_added","timestamp_added_desc","last_played","last_played_desc","play_count","play_count_desc","artist_name","artist_name_desc"];d(()=>{const t=e.subscribe(y.MEDIA_ITEM_ADDED,r=>{r.object_id?.startsWith("library://artist")&&(a.value=!0)});b(t)});const u=async function(t){return a.value=!1,m(t),await e.getLibraryAlbums(t.favoritesOnly||void 0,t.search,t.limit,t.offset,t.sortBy,t.albumType)},m=async function(t){if(!t.favoritesOnly&&!t.albumType){o.value=l.libraryAlbumsCount;return}o.value=await e.getLibraryAlbumsCount(t.favoritesOnly||void 0,t.albumType||void 0)};return(t,r)=>(v(),_(p,{itemtype:"albums",path:"libraryalbums","show-provider":!1,"show-favorites-only-filter":!0,"load-paged-data":u,"sort-keys":n,"update-available":a.value,title:t.$t("albums"),"allow-key-hooks":!0,"show-search-button":!0,icon:"mdi-album","restore-state":!0,total:o.value,"show-album-type-filter":!0,"extra-menu-items":[{label:"sync_now",icon:"mdi-sync",action:()=>{s(e).startSync([s(f).ALBUM])},overflowAllowed:!0,disabled:s(e).syncTasks.value.length>0}]},null,8,["update-available","title","total","extra-menu-items"]))}});export{$ as default};
@@ -1 +0,0 @@
1
- import{I as c}from"./ItemsListing-C49HRbSG.js";import{av as p,H as i,au as l,a3 as d,aL as e,b6 as y,a4 as f,aD as _,az as r,aM as b,ax as v}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";const U=p({name:"Artists",__name:"LibraryArtists",setup(A){const a=i(!1),s=i(l.libraryArtistsCount),n=["name","name_desc","sort_name","sort_name_desc","timestamp_added","timestamp_added_desc","last_played","last_played_desc","play_count","play_count_desc"],u=async function(t){return a.value=!1,m(t),await e.getLibraryArtists(t.favoritesOnly||void 0,t.search,t.limit,t.offset,t.sortBy,t.albumArtistsFilter)},m=async function(t){if(!t.favoritesOnly&&!t.albumArtistsFilter){s.value=l.libraryArtistsCount;return}s.value=await e.getLibraryArtistsCount(t.favoritesOnly||!1,t.albumArtistsFilter||!1)};return d(()=>{const t=e.subscribe(y.MEDIA_ITEM_ADDED,o=>{o.object_id?.startsWith("library://artist")&&(a.value=!0)});f(t)}),(t,o)=>(v(),_(c,{itemtype:"artists",path:"libraryartists","show-provider":!1,"show-favorites-only-filter":!0,"load-paged-data":u,"show-album-artists-only-filter":!0,"update-available":a.value,title:t.$t("artists"),"allow-key-hooks":!0,"show-search-button":!0,"sort-keys":n,icon:"mdi-account-outline","restore-state":!0,total:s.value,"extra-menu-items":[{label:"sync_now",icon:"mdi-sync",action:()=>{r(e).startSync([r(b).ARTIST])},overflowAllowed:!0,disabled:r(e).syncTasks.value.length>0}]},null,8,["update-available","title","total","extra-menu-items"]))}});export{U as default};
@@ -1 +0,0 @@
1
- import{I as m}from"./ItemsListing-C49HRbSG.js";import{av as p,H as r,au as n,a3 as c,aL as o,b6 as b,a4 as y,aD as _,az as i,aM as f,ax as v}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";const $=p({name:"Audiobooks",__name:"LibraryAudiobooks",setup(k){const e=r(!1),a=r(n.libraryAudiobooksCount),l=["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"],u=async function(t){return e.value=!1,d(t),await o.getLibraryAudiobooks(t.favoritesOnly||void 0,t.search,t.limit,t.offset,t.sortBy)},d=async function(t){if(!t.favoritesOnly){a.value=n.libraryAudiobooksCount;return}a.value=await o.getLibraryAudiobooksCount(t.favoritesOnly||!1)};return c(()=>{const t=o.subscribe(b.MEDIA_ITEM_ADDED,s=>{s.object_id?.startsWith("library://audiobook")&&(e.value=!0)});y(t)}),(t,s)=>(v(),_(m,{itemtype:"audiobooks",path:"libraryaudiobooks","show-duration":!1,"show-provider":!0,"show-favorites-only-filter":!0,"load-paged-data":u,"show-library":!0,"sort-keys":l,"update-available":e.value,title:t.$t("audiobooks"),"allow-key-hooks":!0,"show-search-button":!0,icon:"mdi-book-play-outline","restore-state":!0,total:a.value,"extra-menu-items":[{label:"sync_now",icon:"mdi-sync",action:()=>{i(o).startSync([i(f).AUDIOBOOK])},overflowAllowed:!0,disabled:i(o).syncTasks.value.length>0}]},null,8,["update-available","title","total","extra-menu-items"]))}});export{$ as default};
@@ -1 +0,0 @@
1
- import{I as f}from"./ItemsListing-C49HRbSG.js";import{av as b,bG as v,H as o,au as u,aL as e,aM as h,a3 as I,aN as w,b6 as r,a4 as E,aD as P,ax as T}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";const q=b({name:"Playlists",__name:"LibraryPlaylists",setup(A){const{t:c}=v(),l=o(!1),i=o(u.libraryPlaylistsCount),n=o([{label:"sync_now",icon:"mdi-sync",action:()=>{e.startSync([h.PLAYLIST])},overflowAllowed:!0,disabled:e.syncTasks.value.length>0}]),m=["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"],y=async function(t){return l.value=!1,d(t),await e.getLibraryPlaylists(t.favoritesOnly||void 0,t.search,t.limit,t.offset,t.sortBy)},d=async function(t){if(!t.favoritesOnly){i.value=u.libraryPlaylistsCount;return}i.value=await e.getLibraryPlaylistsCount(t.favoritesOnly||!1)};I(()=>{const t=[];for(const a of Object.values(e.providers).filter(p=>p.available&&p.supported_features.includes(w.PLAYLIST_CREATE)))t.push({label:"create_playlist_on",labelArgs:[a.name],action:()=>{_(a.instance_id)},icon:"mdi-playlist-plus"});t.length&&n.value.push({label:"create_playlist_on",icon:"mdi-playlist-plus",subItems:t});const s=e.subscribe_multi([r.MEDIA_ITEM_ADDED,r.MEDIA_ITEM_UPDATED,r.MEDIA_ITEM_DELETED],a=>{a.object_id?.startsWith("library://playlist")&&(l.value=!0)});E(s)});const _=async function(t){const s=prompt(c("new_playlist_name"));s&&await e.createPlaylist(s,t).then(()=>location.reload()).catch(a=>alert(a))};return(t,s)=>(T(),P(f,{itemtype:"playlists",path:"libraryplaylists","show-duration":!1,"show-provider":!0,"show-favorites-only-filter":!0,"load-paged-data":y,"show-library":!0,"sort-keys":m,"update-available":l.value,title:t.$t("playlists"),"allow-key-hooks":!0,"show-search-button":!0,"extra-menu-items":n.value,icon:"mdi-playlist-play","restore-state":!0,total:i.value},null,8,["update-available","title","extra-menu-items","total"]))}});export{q as default};
@@ -1 +0,0 @@
1
- import{I as m}from"./ItemsListing-C49HRbSG.js";import{av as p,H as i,au as n,a3 as u,aL as e,b6 as y,a4 as _,aD as f,az as s,aM as b,ax as v}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";const W=p({name:"Podcasts",__name:"LibraryPodcasts",setup(h){const a=i(!1),o=i(n.libraryPodcastsCount),l=["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"],d=async function(t){return a.value=!1,c(t),await e.getLibraryPodcasts(t.favoritesOnly||void 0,t.search,t.limit,t.offset,t.sortBy)},c=async function(t){if(!t.favoritesOnly){o.value=n.libraryPodcastsCount;return}o.value=await e.getLibraryPodcastsCount(t.favoritesOnly||!1)};return u(()=>{const t=e.subscribe(y.MEDIA_ITEM_ADDED,r=>{r.object_id?.startsWith("library://podcast")&&(a.value=!0)});_(t)}),(t,r)=>(v(),f(m,{itemtype:"podcasts",path:"librarypodcasts","show-duration":!1,"show-provider":!0,"show-favorites-only-filter":!0,"load-paged-data":d,"show-library":!0,"sort-keys":l,"update-available":a.value,title:t.$t("podcasts"),"allow-key-hooks":!0,"show-search-button":!0,icon:"mdi-podcast","restore-state":!0,total:o.value,"extra-menu-items":[{label:"sync_now",icon:"mdi-sync",action:()=>{s(e).startSync([s(b).PODCAST])},overflowAllowed:!0,disabled:s(e).syncTasks.value.length>0}]},null,8,["update-available","title","total","extra-menu-items"]))}});export{W as default};
@@ -1 +0,0 @@
1
- import{I as f}from"./ItemsListing-C49HRbSG.js";import{av as _,H as l,au as n,a3 as v,aL as a,b6 as b,a4 as w,aw as h,x as d,az as o,aM as u,ag as g,ax as A}from"./index-9wFVyQJF.js";import{_ as R}from"./AddManualLink.vue_vue_type_script_setup_true_lang-BilDCpf6.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";import"./VDialog-BPGCUfED.js";const J=_({name:"Radios",__name:"LibraryRadios",setup(D){const s=l(!1),i=l(n.libraryRadiosCount),r=l(!1),m=["name","name_desc","sort_name","sort_name_desc","timestamp_added","timestamp_added_desc","last_played","last_played_desc","play_count","play_count_desc"];v(()=>{const t=a.subscribe(b.MEDIA_ITEM_ADDED,e=>{e.object_id?.startsWith("library://radio")&&(s.value=!0)});w(t)});const p=async function(t){return s.value=!1,c(t),await a.getLibraryRadios(t.favoritesOnly||void 0,t.search,t.limit,t.offset,t.sortBy)},c=async function(t){if(!t.favoritesOnly){i.value=n.libraryRadiosCount;return}i.value=await a.getLibraryRadiosCount(t.favoritesOnly||!1)};return(t,e)=>(A(),h(g,null,[d(f,{itemtype:"radios",path:"libraryradios","show-duration":!1,"show-provider":!1,"show-favorites-only-filter":!0,"load-paged-data":p,"sort-keys":m,"update-available":s.value,title:t.$t("radios"),"show-search-button":!0,"allow-key-hooks":!0,"extra-menu-items":[{label:"sync_now",icon:"mdi-sync",action:()=>{o(a).startSync([o(u).RADIO])},overflowAllowed:!0,disabled:o(a).syncTasks.value.length>0},{label:"add_url_item",labelArgs:[],action:()=>{r.value=!0},icon:"mdi-playlist-plus"}],icon:"mdi-access-point","restore-state":!0,total:i.value},null,8,["update-available","title","extra-menu-items","total"]),d(R,{modelValue:r.value,"onUpdate:modelValue":e[0]||(e[0]=y=>r.value=y),type:o(u).RADIO},null,8,["modelValue","type"])],64))}});export{J as default};
@@ -1 +0,0 @@
1
- import{I as f}from"./ItemsListing-C49HRbSG.js";import{av as _,H as l,au as n,a3 as v,aL as e,b6 as b,a4 as k,aw as w,x as u,az as o,aM as m,ag as T,ax as h}from"./index-9wFVyQJF.js";import{_ as g}from"./AddManualLink.vue_vue_type_script_setup_true_lang-BilDCpf6.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";import"./VDialog-BPGCUfED.js";const J=_({name:"Tracks",__name:"LibraryTracks",setup(A){const r=l(!1),s=l(n.libraryTracksCount),i=l(!1),c=["name","name_desc","sort_name","sort_name_desc","duration","duration_desc","timestamp_added","timestamp_added_desc","last_played","last_played_desc","play_count","play_count_desc"];v(()=>{const t=e.subscribe(b.MEDIA_ITEM_ADDED,a=>{a.object_id?.startsWith("library://track")&&(r.value=!0)});k(t)});const d=async function(t){return t.favoritesOnly=t.favoritesOnly||void 0,r.value=!1,p(t),await e.getLibraryTracks(t.favoritesOnly,t.search,t.limit,t.offset,t.sortBy)},p=async function(t){if(!t.favoritesOnly){s.value=n.libraryTracksCount;return}s.value=await e.getLibraryTracksCount(t.favoritesOnly||!1)};return(t,a)=>(h(),w(T,null,[u(f,{itemtype:"tracks",path:"librarytracks","show-provider":!1,"show-favorites-only-filter":!0,"show-track-number":!1,"load-paged-data":d,"sort-keys":c,"show-album":!0,"update-available":r.value,title:t.$t("tracks"),"show-search-button":!0,"allow-key-hooks":!0,"extra-menu-items":[{label:"sync_now",icon:"mdi-sync",action:()=>{o(e).startSync([o(m).TRACK])},overflowAllowed:!0,disabled:o(e).syncTasks.value.length>0},{label:"add_url_item",labelArgs:[],action:()=>{i.value=!0},icon:"mdi-playlist-plus"}],icon:"mdi-music-note","restore-state":!0,total:s.value},null,8,["update-available","title","extra-menu-items","total"]),u(g,{modelValue:i.value,"onUpdate:modelValue":a[0]||(a[0]=y=>i.value=y),type:o(m).RADIO},null,8,["modelValue","type"])],64))}});export{J as default};
@@ -1 +0,0 @@
1
- import{r as m,av as B,aV as b,L as p,ax as c,aD as u,aE as $,ad as w,b8 as d,az as f,aF as h,aC as I,aB as v,aW as y,ay as k,bJ as C}from"./index-9wFVyQJF.js";import{m as g,B as L}from"./Button-C-VEz_LI.js";import{M}from"./index-kQIztB-E.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";const S=t=>{const l=m(()=>{const{variant:o,showMenuBtn:e,...s}=t,i={...s,"aria-label":t["aria-label"]};return M(o).with("compact",()=>({...i,density:t.density||"compact",class:t.class?`list-item-compact ${t.class}`:"list-item-compact"})).with("comfortable",()=>({...i,density:t.density||"comfortable",class:t.class?`list-item-comfortable ${t.class}`:"list-item-comfortable"})).with("default",()=>({...i,class:t.class?`list-item-default ${t.class}`:"list-item-default"})).otherwise(()=>({...i,class:t.class?`list-item-default ${t.class}`:"list-item-default"}))}),n=m(()=>g("list-item-main",t.variant&&`list-item--${t.variant}`));return{listItemProps:l,listItemClasses:n}},D={variant:"default",showMenuBtn:!1,link:!1},V=B({__name:"ListItem",props:b({showMenuBtn:{type:Boolean},variant:{},active:{type:Boolean},disabled:{type:Boolean},link:{type:Boolean},nav:{type:Boolean},density:{},height:{},lines:{type:[String,Boolean]},subtitle:{},title:{},value:{},color:{},rounded:{type:[Boolean,String,Number]},tag:{},to:{},href:{},replace:{type:Boolean},exact:{type:Boolean},class:{},style:{},"aria-label":{},role:{}},D),emits:["click","menu","input"],setup(t){const l=t,{listItemProps:n,listItemClasses:o}=S(l);return(e,s)=>{const i=C("hold");return p((c(),u($,w(f(n),{class:f(o),onClick:s[1]||(s[1]=a=>e.$emit("click",a)),onContextmenu:s[2]||(s[2]=d(a=>e.$emit("menu",a),["right","prevent"])),onInput:s[3]||(s[3]=a=>e.$emit("input",a))}),h({_:2},[I(e.$slots,(a,r)=>({name:r,fn:v(()=>[y(e.$slots,r,{},void 0,!0)])})),e.$slots.append||t.showMenuBtn?{name:"append",fn:v(()=>[y(e.$slots,"append",{},void 0,!0),t.showMenuBtn?(c(),u(L,{key:0,variant:"icon",icon:"mdi-dots-vertical","aria-label":"Show context menu",onClick:s[0]||(s[0]=d(a=>e.$emit("menu",a),["stop"]))})):k("",!0)]),key:"0"}:void 0]),1040,["class"])),[[i,a=>e.$emit("menu",a)]])}}}),J=P(V,[["__scopeId","data-v-e242bb46"]]);export{J as L};
@@ -1 +0,0 @@
1
- import{av as B,H as E,r as H,aw as u,x as s,aD as r,ay as b,aQ as X,aB as t,ax as n,ag as h,aC as V,e as Y,az as d,bE as z,L as R,aO as j,ad as S,b8 as A,aj as F,bH as y,b3 as G,aE as J,aH as K,bc as p,aI as v,bI as O,aG as Q,bp as U,aL as I,bJ as q,aK as W}from"./index-9wFVyQJF.js";import{C as Z}from"./Container-BJrCSObY.js";import{T as ee}from"./Toolbar-DKtKPcsg.js";import{V as C,a as te}from"./VRow-plcqQvnb.js";import{V as ae}from"./PanelviewItemCompact-Bh2HNG1g.js";import{_ as oe}from"./_plugin-vue_export-helper-DlAUqK2U.js";const se={style:{"margin-bottom":"10px"}},ne=B({__name:"MediaItemImages",props:{modelValue:{}},emits:["update:modelValue"],setup(f,{emit:k}){const w=f,c=E(!1),x=k,L=function(e){window.open(e,"_blank")},g=function(e,a){const i="clientX"in e?e.clientX:e.touches[0].clientX,m="clientY"in e?e.clientY:e.touches[0].clientY;W.emit("contextmenu",{items:[{label:"image_make_primary",icon:"mdi-star-box",action:()=>{T(a)}}],posX:i,posY:m})},P=function(e){return I.getProvider(e)?I.getProvider(e).name:e},M=function(e,a){L(y(a))},_=function(){c.value=!c.value},T=function(e){const a=[e];a.push(...w.modelValue.filter(i=>i!=e)),x("update:modelValue",a)},$=H(()=>[{label:"tooltip.collapse_expand",icon:c.value?"mdi-chevron-up":"mdi-chevron-down",action:_,overflowAllowed:!1}]);return(e,a)=>{const i=q("hold");return n(),u("section",se,[s(ee,{title:e.$t("images"),"menu-items":$.value,onTitleClicked:_},null,8,["title","menu-items"]),s(X),c.value?(n(),r(Z,{key:0},{default:t(()=>[(n(!0),u(h,null,V(d(U),m=>(n(),r(C,{key:m},{default:t(()=>[(n(!0),u(h,null,V(f.modelValue.filter(o=>o.type==m),(o,D)=>(n(),r(te,{key:o.path,cols:"12",class:Y(`col-${d(z)(e.$vuetify.display.width)}`)},{default:t(()=>[s(ae,null,{default:t(({props:N})=>[R((n(),r(j,S({ref_for:!0},N,{tile:"",hover:"",class:"panel-item",onClick:l=>{M(l,o)},onContextmenu:A(l=>{g(l,o)},["right","prevent"])}),{default:t(()=>[s(F,{src:d(y)(o,256),class:"bg-grey-lighten-2",width:"100%"},{placeholder:t(()=>[s(C,{align:"center",class:"fill-height ma-0",justify:"center"},{default:t(()=>[s(G,{color:"grey-lighten-5",indeterminate:""})]),_:1})]),_:1},8,["src"]),s(J,{variant:"text",slim:"",tile:"",density:"compact",class:"panel-item-details"},{default:t(()=>[s(K,{width:"95%"},{default:t(()=>[p(v(e.$t("image_type")+": "+o.type),1)]),_:2},1024),s(O,{class:"line-clamp-1",style:{"margin-right":"25px"}},{default:t(()=>[p(v(e.$t("image_source")+": "+P(o.provider)),1)]),_:2},1024),D==0?(n(),r(Q,{key:0,size:"x-large",style:{position:"absolute",right:"0",bottom:"5px"},color:"orange",title:e.$t("tooltip.primary_image")},{default:t(()=>[...a[0]||(a[0]=[p("mdi-star-box",-1)])]),_:1},8,["title"])):b("",!0)]),_:2},1024)]),_:2},1040,["onClick","onContextmenu"])),[[i,l=>{g(l,o)}]])]),_:2},1024)]),_:2},1032,["class"]))),128))]),_:2},1024))),128))]),_:1})):b("",!0)])}}}),de=oe(ne,[["__scopeId","data-v-d74e8be5"]]);export{de as M};
@@ -1 +0,0 @@
1
- import{ch as o}from"./index-9wFVyQJF.js";import{_ as a}from"./_plugin-vue_export-helper-DlAUqK2U.js";const t=a(o,[["__scopeId","data-v-565bc716"]]);export{t as M};
@@ -1 +0,0 @@
1
- import{V as c,m as S}from"./VCheckboxBtn-DtwUx7x8.js";import{u as A,V as i,m as R}from"./VInput-Bym6CXFb.js";import{g as U,p as z,s as D,H as E,cb as H,b as M,cc as $,x as m,ad as b,am as j,o as q,av as G,aw as t,ax as n,ag as J,ay as f,n as y,d as o}from"./index-9wFVyQJF.js";const K=z({...R(),...q(S(),["inline"])},"VCheckbox"),T=U()({name:"VCheckbox",inheritAttrs:!1,props:K(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,r){let{attrs:a,slots:u}=r;const s=D(e,"modelValue"),{isFocused:p,focus:V,blur:v}=A(e),d=E(),g=H();return M(()=>{const[k,x]=$(a),h=i.filterProps(e),w=c.filterProps(e);return m(i,b({ref:d,class:["v-checkbox",e.class]},k,h,{modelValue:s.value,"onUpdate:modelValue":l=>s.value=l,id:e.id||`checkbox-${g}`,focused:p.value,style:e.style}),{...u,default:l=>{let{id:B,messagesId:P,isDisabled:C,isReadonly:I,isValid:N}=l;return m(c,b(w,{id:B.value,"aria-describedby":P.value,disabled:C.value,readonly:I.value},x,{error:N.value===!1,modelValue:s.value,"onUpdate:modelValue":F=>s.value=F,onFocus:V,onBlur:v}),u)}})}),j({},d)}}),W=G({__name:"NowPlayingBadge",props:{showBadge:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},badgeStyle:{default:""},iconStyle:{default:""}},setup(e){return(r,a)=>(n(),t(J,null,[e.showBadge?(n(),t("span",{key:0,style:y(e.badgeStyle),class:"now-playing-badge","aria-label":"Now playing"}," Now playing ",4)):f("",!0),e.showIcon?(n(),t("div",{key:1,style:y(e.iconStyle),class:"now-playing-icon"},[...a[0]||(a[0]=[o("div",{class:"bar"},null,-1),o("div",{class:"bar"},null,-1),o("div",{class:"bar"},null,-1),o("div",{class:"bar"},null,-1)])],4)):f("",!0)],64))}});export{T as V,W as _};
@@ -1 +0,0 @@
1
- import{g as I,p,s as M,ae as D,ai as S,av as L,aD as l,ax as t,aB as s,L as O,aO as T,ad as Y,b8 as w,ay as o,d as C,x as m,bs as z,aw as y,aR as A,az as c,aM as V,au as H,K as X,aE as $,aH as N,aI as n,bZ as E,e as B,bI as d,bc as r,bk as F,b$ as R,bJ as j,b_ as J,bT as K}from"./index-9wFVyQJF.js";import{V as Z,_ as q}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import{M as G}from"./MediaItemThumb-CIzEvLC1.js";import{_ as Q}from"./_plugin-vue_export-helper-DlAUqK2U.js";const U=p({disabled:Boolean,modelValue:{type:Boolean,default:null},...S()},"VHover"),W=I()({name:"VHover",props:U(),emits:{"update:modelValue":e=>!0},setup(e,h){let{slots:i}=h;const u=M(e,"modelValue"),{runOpenDelay:f,runCloseDelay:b}=D(e,v=>!e.disabled&&(u.value=v));return()=>i.default?.({isHovering:u.value,props:{onMouseenter:f,onMouseleave:b}})}}),_={class:"thumb-container"},ee={style:{position:"absolute",left:"-10px",top:"0px","z-index":"2"}},ae={key:1,class:"play-button-overlay"},te={key:0},ie=L({__name:"PanelviewItemCompact",props:{item:{},size:{default:200},isSelected:{type:Boolean,default:!1},showCheckboxes:{type:Boolean,default:!1},permanentOverlay:{type:Boolean,default:!1},showProviderOnCover:{type:Boolean,default:!1},isAvailable:{type:Boolean,default:!0},isPlaying:{type:Boolean},parentItem:{default:void 0},disabled:{type:Boolean}},emits:["select"],setup(e,{emit:h}){const i=e,u=h,f=function(a){if(i.showCheckboxes)return;const g="clientX"in a?a.clientX:a.touches[0].clientX,k="clientY"in a?a.clientY:a.touches[0].clientY;J(i.item,g,k,i.parentItem)},b=function(a){if(i.showCheckboxes){u("select",i.item,!i.isSelected);return}R(i.item,a.clientX,a.clientY,i.parentItem)},v=function(a){i.showCheckboxes||K(i.item,a.clientX,a.clientY,i.parentItem)};return(a,g)=>{const k=j("hold");return t(),l(W,null,{default:s(({isHovering:x,props:P})=>[O((t(),l(T,Y(P,{class:{"on-hover":x,unavailable:!e.isAvailable},elevation:"0",disabled:e.disabled,onClick:b,onContextmenu:w(f,["right","prevent"])}),{default:s(()=>[e.showCheckboxes?(t(),l(z,{key:0,"model-value":e.showCheckboxes,contained:"",scrim:e.isSelected?a.$vuetify.theme.current.dark?"rgba(0,0,0,.75)":"rgba(255,255,255,.75)":"#ffffff00"},{default:s(()=>[m(Z,{class:"panel-item-checkbox",ripple:!1,"model-value":e.isSelected},null,8,["model-value"])]),_:1},8,["model-value","scrim"])):o("",!0),C("div",_,[m(G,{item:e.isAvailable?e.item:void 0},null,8,["item"]),C("div",ee,[e.showProviderOnCover&&"provider_mappings"in e.item?(t(),l(A,{key:0,domain:e.item.media_type==c(V).PLAYLIST?e.item.provider_mappings[0].provider_domain:e.item.provider,size:20},null,8,["domain"])):o("",!0)]),e.isPlaying?(t(),l(q,{key:0,"icon-style":"position: absolute; right: 5px; bottom: 5px","show-badge":!1})):o("",!0),(x||c(H).isTouchscreen)&&e.isAvailable&&e.item.is_playable?(t(),y("div",ae,[m(X,{icon:"mdi-play",color:"white",fab:"",style:{opacity:"0.6","font-size":"20px"},onClick:w(v,["stop"])})])):o("",!0)]),m($,{variant:"text",slim:"",tile:"",density:"compact",class:"panel-item-details"},{default:s(()=>[m(N,null,{default:s(()=>[e.item.media_type==c(V).FOLDER?(t(),y("span",te,[C("span",null,n(c(E)(e.item,a.$t)),1)])):(t(),y("span",{key:1,class:B({"is-playing":e.isPlaying})},n(e.item.name),3)),"version"in e.item&&e.item.version?(t(),y("span",{key:2,class:B({"is-playing":e.isPlaying})}," - "+n(e.item.version),3)):o("",!0)]),_:1}),"artists"in e.item&&e.item.artists?(t(),l(d,{key:0,class:"line-clamp-1"},{default:s(()=>[r(n(c(F)(e.item.artists,1)),1)]),_:1})):o("",!0),"authors"in e.item&&e.item.authors?(t(),l(d,{key:1,class:"line-clamp-1"},{default:s(()=>[r(n(e.item.authors.join(" / ")),1)]),_:1})):"publisher"in e.item&&e.item.publisher?(t(),l(d,{key:2,class:"line-clamp-1"},{default:s(()=>[r(n(e.item.publisher),1)]),_:1})):"owner"in e.item&&e.item.owner?(t(),l(d,{key:3,class:"line-clamp-1"},{default:s(()=>[r(n(e.item.owner),1)]),_:1})):"provider_mappings"in e.item?o("",!0):(t(),l(d,{key:4,class:"line-clamp-1"},{default:s(()=>[r(n(a.$t(e.item.media_type)),1)]),_:1}))]),_:1})]),_:2},1040,["class","disabled"])),[[k,f]])]),_:1})}}}),me=Q(ie,[["__scopeId","data-v-eba3a2ae"]]);export{me as P,W as V};
@@ -1 +0,0 @@
1
- import{H as h,J as F,r as I,au as T,aD as C,ax as n,aF as re,aC as ae,aB as v,aW as de,ad as me,b8 as V,av as le,aJ as ce,ay as k,aw as y,aE as R,n as N,az as r,bA as W,x as g,aG as M,d as L,aI as b,bg as H,bc as Y,aL as d,aZ as z,aQ as ve,ag as pe,bl as ye,bm as G,a_ as $,aY as D,bt as fe,bh as J,b9 as K,ba as be,b5 as he,bn as ge,aO as _e,e as we,b0 as X,aM as ke,bk as Ce,be as Se,br as Ve,aj as Me,aK as Te,bo as Z,bp as Q}from"./index-9wFVyQJF.js";import{B as O}from"./Button-C-VEz_LI.js";import{M as Ee}from"./MediaItemThumb-CIzEvLC1.js";import{_ as j}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as Ue}from"./VSlider-DxpYJWk3.js";import{V as Ae}from"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";const Be={inheritAttrs:!1,props:{width:String,height:String,style:String,allowWheel:Boolean},emits:["update:model-value","update:local-value"],setup(e,t){const u=h(null),l=h(0),_=h(0),o=h(0),m=h(typeof t.attrs["model-value"]=="number"?t.attrs["model-value"]:0),f=h(0),w=h(0),S=h(!1),E=h(null),s=h(0),i=h(null),a=h(0);F(m,c=>{t.emit("update:local-value",c)});const p=I(()=>({class:"player-volume",hideDetails:!0,trackSize:2,thumbSize:20,step:2,elevation:0,style:`width: ${e.width}; height:${e.height}; display: inline-grid; ${e.style}`})),P=I(()=>{const c=t.attrs,{"model-value":U,modelValue:A,...B}=c||{};return B}),x=I(()=>({...p.value,...P.value})),te=({deltaY:c})=>{if(!e.allowWheel)return;const U=x.value.step,A=c<0?U:-U,B=Math.max(0,Math.min(100,m.value+A));s.value=Date.now()+2e3,m.value=B,t.emit("update:model-value",B),E.value=B},oe=c=>{S.value||(s.value=Date.now()+1e4,l.value=c,_.value=0,m.value=c,E.value=null,T.isTouchscreen&&"vibrate"in navigator&&navigator.vibrate&&navigator.vibrate(10))},ie=c=>{S.value||(_.value++,m.value=c,_.value>2&&(i.value&&clearTimeout(i.value),i.value=setTimeout(()=>{t.emit("update:model-value",c),i.value=null},50)))},se=c=>{if(i.value&&(clearTimeout(i.value),i.value=null),S.value){S.value=!1,_.value=0,s.value=0;return}const U=Date.now();if(U-o.value<250){s.value=0;return}o.value=U;const A=x.value.step;if(_.value>3)m.value=c,t.emit("update:model-value",c),E.value=c;else if(!T.mobileLayout)m.value=c,t.emit("update:model-value",c),E.value=c;else{const B=c>l.value?A:-A,q=Math.max(0,Math.min(100,l.value+B));m.value=q,t.emit("update:model-value",q),E.value=q}_.value=0,s.value=Date.now()+1e3},ne=c=>{f.value=c.touches[0].clientX,w.value=c.touches[0].clientY,S.value=!1,a.value=m.value},ue=c=>{const U=c.touches[0].clientX,A=c.touches[0].clientY,B=Math.abs(U-f.value),q=Math.abs(A-w.value);q>5&&q>B*2&&(S.value||(S.value=!0,m.value=a.value))};return F(()=>t.attrs["model-value"],c=>{const A=Date.now()<s.value;typeof c=="number"&&(E.value!==null&&c===E.value?(m.value=c,E.value=null,s.value=0):A||(m.value=c))}),{playerVolumeProps:x,onWheel:te,sliderRef:u,onDragStart:oe,onUpdateModelValue:ie,onDragEnd:se,localValue:m,onTouchStart:ne,onTouchMove:ue}}};function ze(e,t,u,l,_,o){return n(),C(Ue,me({ref:"sliderRef"},l.playerVolumeProps,{"model-value":l.localValue,onWheel:V(l.onWheel,["prevent"]),onClick:t[0]||(t[0]=V(()=>{},["stop"])),onTouchstart:l.onTouchStart,onTouchmove:l.onTouchMove,onStart:l.onDragStart,"onUpdate:modelValue":l.onUpdateModelValue,onEnd:l.onDragEnd}),re({_:2},[ae(e.$slots,(m,f)=>({name:f,fn:v(()=>[de(e.$slots,f,{localValue:l.localValue},void 0,!0)])}))]),1040,["model-value","onWheel","onTouchstart","onTouchmove","onStart","onUpdate:modelValue","onEnd"])}const ee=j(Be,[["render",ze],["__scopeId","data-v-e4b3dbf4"]]),qe={key:1,class:"text-caption volumecaption"},De={class:"text-caption volumecaption"},Le=le({__name:"VolumeControl",props:{player:{},showSyncControls:{type:Boolean},showSubPlayers:{type:Boolean},showHeadingRow:{type:Boolean},showVolumeControl:{type:Boolean},allowWheel:{type:Boolean}},setup(e){const t=e,u=h([]),l=h([]),_=h(void 0),o=h(0),m=h({});F(()=>t.player,s=>{o.value=Math.round(s.group_members.length?s.group_volume:s.volume_level||0);for(const i of s.group_members)d?.players[i]&&!(i in m.value)&&(m.value[i]=Math.round(d.players[i].volume_level||0))},{immediate:!0,deep:!0});const f=I(()=>t.player.group_members.length>0),w=function(s,i){if(s.volume_muted)return"mdi-volume-mute";const a=i!==void 0?i:s.group_members.length?s.group_volume:s.volume_level||0;return a===0?"mdi-volume-low":a<50?"mdi-volume-medium":"mdi-volume-high"},S=function(s){const i=[];for(const a of s.group_members){const p=d?.players[a];p&&p.volume_control!=W&&p&&p.available&&!i.includes(p)&&i.push(p)}if(t.showSyncControls&&s.supported_features.includes(z.SET_MEMBERS))for(const a of Object.values(d?.players))a.player_id!=s.player_id&&(!s.can_group_with.includes(a.player_id)&&!s.can_group_with.includes(a.provider)||a.available&&a.type!=G.GROUP&&(a.active_group&&a.active_group!=s.player_id||a.active_source&&a.playback_state==$.PLAYING&&![s.player_id,a.player_id].includes(a.active_source)||i.includes(a)||i.push(a)));return i.sort((a,p)=>{const P=s.group_members.includes(a.player_id),x=s.group_members.includes(p.player_id);return P!==x?P?-1:1:a.name.toUpperCase()>p.name.toUpperCase()?1:-1}),i},E=async function(s,i){const a=t.player.player_id;i?(l.value.includes(s)&&(l.value=l.value.filter(p=>p!=s)),u.value.includes(s)||u.value.push(s),d.players[a].group_members.push(s)):(u.value.includes(s)&&(u.value=u.value.filter(p=>p!=s)),l.value.includes(s)||l.value.push(s),d.players[a].group_members=d.players[a].group_members.filter(p=>p!=s)),_.value!=null&&clearTimeout(_.value),!(u.value.length==0&&l.value.length==0)&&(_.value=setTimeout(async()=>{d.playerCommandSetMembers(a,u.value.length?u.value:void 0,l.value.length?l.value:void 0).catch(async()=>{d.players[a]=await d.getPlayer(a)}).finally(()=>{u.value=[],l.value=[]})},500))};return(s,i)=>(n(),C(ce,{style:{overflow:"hidden",padding:"0"},lines:"two"},{default:v(()=>[e.showHeadingRow?(n(),C(R,{key:0,class:"volumesliderrow heading",link:!1,style:N(e.player.powered==!1?"opacity: 0.6":"opacity: 1")},{prepend:v(()=>[g(M,{size:25,icon:e.player.icon,style:{"margin-left":"6px",opacity:"0.6"}},null,8,["icon"])]),default:v(()=>[L("h5",null,b(r(H)(e.player,27)),1)]),append:v(()=>[e.player.power_control!=r(W)?(n(),C(O,{key:0,class:"powerbtn",variant:"icon",onClick:i[0]||(i[0]=V(a=>r(d).playerCommandPowerToggle(e.player.player_id),["stop"]))},{default:v(()=>[g(M,{size:25,icon:"mdi-power"})]),_:1})):k("",!0)]),_:1},8,["style"])):k("",!0),e.showVolumeControl?(n(),C(R,{key:1,class:"volumesliderrow",link:!1,style:N(e.player.powered==!1?"opacity: 0.35":"opacity: 0.75")},{prepend:v(()=>[g(O,{icon:"",style:{height:"25px",width:"25px","min-width":"25px"},disabled:!e.player.available||e.player.powered==!1||!e.player.supported_features.includes(r(z).VOLUME_MUTE),onClick:i[1]||(i[1]=V(a=>r(d).playerCommandMuteToggle(e.player.player_id),["stop"]))},{default:v(()=>[g(M,{size:25,icon:w(e.player,o.value)},null,8,["icon"])]),_:1},8,["disabled"])]),default:v(()=>[g(ee,{color:"secondary",width:"100%","is-powered":e.player.powered!=!1,disabled:!e.player.available||e.player.powered==!1||e.player.volume_muted||!e.player.supported_features.includes(r(z).VOLUME_SET),"model-value":Math.round(e.player.group_members.length?e.player.group_volume:e.player.volume_level||0),onClick:i[2]||(i[2]=V(()=>{},["stop"])),"onUpdate:modelValue":i[3]||(i[3]=a=>e.player.group_members.length>0?r(d).playerCommandGroupVolume(e.player.player_id,a):r(d).playerCommandVolumeSet(e.player.player_id,a)),"onUpdate:localValue":i[4]||(i[4]=a=>o.value=a)},null,8,["is-powered","disabled","model-value"])]),append:v(()=>[f.value&&!e.showSubPlayers?(n(),C(M,{key:0,class:"expandbtn"},{default:v(()=>[...i[8]||(i[8]=[Y(" mdi-chevron-down ",-1)])]),_:1})):(n(),y("div",qe,b(Math.round(o.value)),1))]),_:1},8,["style"])):k("",!0),e.showSubPlayers&&(e.player.group_members.length>0||e.showSyncControls)&&S(e.player).length>0?(n(),y("div",{key:2,onClick:i[7]||(i[7]=V(()=>{},["stop"]))},[g(ve,{style:{"margin-top":"10px","margin-bottom":"15px"}}),(n(!0),y(pe,null,ae(S(e.player),a=>(n(),y("div",{key:a.player_id},[g(R,{class:"volumesliderrow",link:!1,style:N(a.powered!=!1||e.showSyncControls?"opacity: 0.75":"opacity: 0.4"),onClick:i[5]||(i[5]=V(()=>{},["stop"]))},{prepend:v(()=>[g(M,{size:30,icon:a.icon,style:{"margin-left":"6px",opacity:"0.6"}},null,8,["icon"])]),default:v(()=>[L("h6",null,b(r(ye)(a.name,27)),1)]),append:v(()=>[e.showSyncControls?(n(),C(Ae,{key:0,ripple:!1,disabled:a.player_id==e.player.player_id||e.player.static_group_members.includes(a.player_id)&&e.player.group_members.includes(a.player_id),"model-value":e.player.group_members.includes(a.player_id)||a.player_id==e.player.player_id,size:"22",class:"checkbox","onUpdate:modelValue":p=>E(a.player_id,p)},null,8,["disabled","model-value","onUpdate:modelValue"])):k("",!0)]),_:2},1032,["style"]),e.player.group_members.includes(a.player_id)?(n(),C(R,{key:0,class:"volumesliderrow",link:!1,style:N(a.powered==!1?"opacity: 0.4":"opacity: 0.75"),onClick:i[6]||(i[6]=V(()=>{},["stop"]))},{prepend:v(()=>[g(O,{icon:"",style:{height:"25px","margin-left":"5px",width:"25px","min-width":"25px"},disabled:!a.available||a.powered==!1||!a.supported_features.includes(r(z).VOLUME_MUTE),onClick:p=>r(d).playerCommandMuteToggle(a.player_id)},{default:v(()=>[g(M,{size:25,icon:w(a,m.value[a.player_id])},null,8,["icon"])]),_:2},1032,["disabled","onClick"])]),default:v(()=>[g(ee,{color:"secondary",width:"100%","is-powered":a.powered!=!1,disabled:!a.available||a.powered==!1||a.volume_muted||!a.supported_features.includes(r(z).VOLUME_SET),"allow-wheel":e.allowWheel,"model-value":Math.round(a.volume_level||0),"onUpdate:modelValue":p=>r(d).playerCommandVolumeSet(a.player_id,p),"onUpdate:localValue":p=>m.value[a.player_id]=p},null,8,["is-powered","disabled","allow-wheel","model-value","onUpdate:modelValue","onUpdate:localValue"])]),append:v(()=>[L("div",De,b(Math.round(m.value[a.player_id]??a.volume_level??0)),1)]),_:2},1032,["style"])):k("",!0),i[9]||(i[9]=L("div",{style:{height:"14px"}},null,-1))]))),128))])):k("",!0)]),_:1}))}}),Ie=j(Le,[["__scopeId","data-v-73b9316d"]]),Oe=(e,t)=>{const u=[];e?.power_control!=W&&u.push({label:e.powered?"power_off_player":"power_on_player",labelArgs:[],action:()=>{d.playerCommandPowerToggle(e.player_id)},icon:"mdi-power"}),(e?.playback_state=="playing"||e?.playback_state=="paused")&&u.push({label:"stop_playback",labelArgs:[],action:()=>{d.playerCommandStop(e.player_id)},icon:"mdi-stop"});const l=Object.values(d.players).filter(o=>o.player_id!=e.player_id&&o.available&&o.enabled&&(o.can_group_with.includes(e.provider)||o.can_group_with.includes(e.player_id))&&o.supported_features.includes(z.SET_MEMBERS)&&!o.synced_to);e.supported_features.includes(z.SET_MEMBERS)&&!e.synced_to&&e.type==G.PLAYER&&e.group_members.length==0&&l.length>0&&u.push({label:"sync_player_with",labelArgs:[],icon:"mdi-link-variant",subItems:l.map(o=>({label:o.name,labelArgs:[],action:()=>{d.playerCommandGroup(e.player_id,o.player_id)}})).sort((o,m)=>o.label.toUpperCase()>m.label?.toUpperCase()?1:-1)}),t&&u.push({label:t.shuffle_enabled?"shuffle_disable":"shuffle_enable",labelArgs:[],action:()=>{d.queueCommandShuffleToggle(t.queue_id)},icon:t.shuffle_enabled?"mdi-shuffle-disabled":"mdi-shuffle"}),t&&u.push({label:"select_repeat_mode",labelArgs:[],subItems:[{label:"repeat_mode.off",labelArgs:[],action:()=>{d.queueCommandRepeat(t.queue_id,D.OFF)},selected:t.repeat_mode==D.OFF},{label:"repeat_mode.all",labelArgs:[],action:()=>{d.queueCommandRepeat(t.queue_id,D.ALL)},selected:t.repeat_mode==D.ALL},{label:"repeat_mode.one",labelArgs:[],action:()=>{d.queueCommandRepeat(t.queue_id,D.ONE)},selected:t.repeat_mode==D.ONE}],icon:"mdi-repeat"}),t?.items&&u.push({label:"transfer_queue",icon:"mdi-swap-horizontal",subItems:Object.values(d.players).filter(o=>o.player_id!=t.queue_id&&o.player_id!=e.player_id&&o.available&&o.enabled&&!o.synced_to).map(o=>({label:o.name,labelArgs:[],action:()=>{d.queueCommandTransfer(t.queue_id,o.player_id),T.activePlayerId=o.player_id}})).sort((o,m)=>o.label.toUpperCase()>m.label?.toUpperCase()?1:-1)}),t?.items&&u.push({label:"queue_clear",labelArgs:[],action:()=>{d.queueCommandClear(t.queue_id)},icon:"mdi-cancel"});const _=e.source_list.filter(o=>!o.passive||o.id==e.active_source);return!e.synced_to&&_.length>0&&u.push({label:"select_source",labelArgs:[],icon:"mdi-import",subItems:_.map(o=>({label:o.name,labelArgs:[],disabled:o.id==e.active_source,selected:o.id==e.active_source,action:()=>{d.playerCommandGroupSelectSource(e.player_id,o.id)}})).sort((o,m)=>o.label.toUpperCase()>m.label?.toUpperCase()?1:-1)}),t&&"dont_stop_the_music_enabled"in t&&u.push({label:t.dont_stop_the_music_enabled?"dont_stop_the_music_disable":"dont_stop_the_music_enable",labelArgs:[],action:()=>{d.queueCommandDontStopTheMusicToggle(t.queue_id)},icon:"mdi-all-inclusive"}),fe.isAdmin()&&(u.push({label:"open_player_settings",labelArgs:[],action:()=>{T.showFullscreenPlayer=!1,T.showPlayersMenu=!1,J.push(`/settings/editplayer/${e.player_id}`)},icon:"mdi-cog-outline"}),e.type!==G.GROUP&&u.push({label:"open_dsp_settings",labelArgs:[],action:()=>{T.showFullscreenPlayer=!1,T.showPlayersMenu=!1,J.push(`/settings/editplayer/${e.player_id}/dsp`)},icon:"mdi-equalizer"})),u},xe={class:"player-media-thumb"},Re={key:1},$e={key:2,class:"icon-thumb"},Pe={key:0,style:{"margin-bottom":"3px"}},Ne={key:0},Ye={key:1},Fe={key:1},We={key:0,style:{"font-size":"0.85rem","font-weight":"500","white-space":"nowrap"}},Ge={key:0},Xe={key:0},He={key:1},je={key:2},Je={class:"v-list-item-subtitle",style:{"font-size":"0.85rem","white-space":"nowrap"}},Ke={key:0},Ze={key:1},Qe={key:2},ea={key:3},aa={key:4},la={key:5},ta={key:6},oa={key:7},ia=le({__name:"PlayerCard",props:{player:{},showVolumeControl:{type:Boolean},showMenuButton:{type:Boolean},showSubPlayers:{type:Boolean},showSyncControls:{type:Boolean},allowPowerControl:{type:Boolean}},emits:["click"],setup(e){const t=e,u=I(()=>{if(t.player&&t.player.active_source&&t.player.active_source in d.queues)return d.queues[t.player.active_source];if(t.player&&!t.player.active_source&&t.player.player_id in d.queues)return d.queues[t.player.player_id]}),l=I(()=>{if(u.value&&u.value.active)return u.value.current_item}),_=function(f){Te.emit("contextmenu",{items:Oe(t.player,u.value),posX:f.clientX,posY:f.clientY})},o=h({0:"",1:"",2:"",3:"",4:"",5:"",lightColor:"",darkColor:""}),m=new Image;return m.src=he.theme.current.value.dark?K:be,m.crossOrigin="Anonymous",m.addEventListener("load",function(){o.value=ge(m)}),F(l,f=>{f?.media_item?m.src=Z(f.media_item,Q.THUMB)||"":f?m.src=Z(f,Q.THUMB)||"":m.src=""},{immediate:!0}),(f,w)=>(n(),C(_e,{flat:"",class:we(["panel-item",{"panel-item-selected":e.player.player_id==r(T).activePlayerId,"panel-item-idle":e.player.playback_state==r($).IDLE,"panel-item-off":e.player.powered==!1}]),ripple:!1,disabled:!e.player.available,onClick:w[2]||(w[2]=S=>f.$emit("click",e.player))},{default:v(()=>[g(R,{class:"panel-item-details",flat:"",ripple:!1},{prepend:v(()=>[L("div",xe,[e.player.powered!=!1&&l.value?(n(),C(Ee,{key:0,class:"media-thumb",size:"60",item:l.value,fallback:r(K)},null,8,["item","fallback"])):e.player.powered!=!1&&!u.value&&e.player.current_media?.image_url?(n(),y("div",Re,[g(Me,{class:"media-thumb",size:"60",src:e.player.current_media.image_url},null,8,["src"])])):(n(),y("div",$e,[g(M,{size:"24",icon:e.player.type==r(G).PLAYER&&e.player.group_members.length?"mdi-speaker-multiple":e.player.icon,style:{display:"table-cell",opacity:"0.8"}},null,8,["icon"])]))])]),title:v(()=>[r(Ve).player_id===e.player.player_id?(n(),y("div",Pe,[e.player.name=="This Device"?(n(),y("span",Ne,b(f.$t("this_device")),1)):(n(),y("span",Ye,b(r(H)(e.player,27)),1)),g(M,{size:"20",class:"ml-2",icon:r(T).deviceType=="phone"?"mdi-cellphone":"mdi-monitor"},null,8,["icon"])])):(n(),y("div",Fe,b(r(H)(e.player,27)),1))]),subtitle:v(()=>[e.player.powered!=!1?(n(),y("div",We,[l.value?.media_item?(n(),y("div",Ge,[Y(b(l.value?.media_item.name)+" ",1),"version"in l.value?.media_item&&l.value?.media_item.version?(n(),y("span",Xe,"("+b(l.value?.media_item.version)+")",1)):k("",!0)])):l.value?(n(),y("div",He,b(l.value?.name),1)):!u.value&&e.player.current_media?.title?(n(),y("div",je,b(e.player.current_media.title),1)):k("",!0)])):k("",!0)]),default:v(()=>[L("div",Je,[e.player.powered==!1?(n(),y("div",Ke,b(f.$t("off")),1)):l.value?.media_item&&l.value?.media_item?.media_type==r(ke).TRACK&&"album"in l.value?.media_item&&l.value?.media_item.album?(n(),y("div",Ze,b(r(Ce)(l.value?.media_item.artists))+" • "+b(l.value?.media_item.album.name),1)):l.value?.media_item&&"artists"in l.value?.media_item&&l.value?.media_item.artists.length>0?(n(),y("div",Qe,b(l.value?.media_item.artists[0].name),1)):l.value?.streamdetails?.stream_metadata&&l.value?.streamdetails?.stream_metadata.title&&l.value?.streamdetails?.stream_metadata.artist?(n(),y("div",ea,b(l.value?.streamdetails?.stream_metadata.artist)+" - "+b(l.value?.streamdetails?.stream_metadata.title),1)):l.value?.streamdetails?.stream_metadata&&l.value?.streamdetails?.stream_metadata.title?(n(),y("div",aa,b(l.value?.streamdetails?.stream_metadata.title),1)):l.value?.media_item?.metadata.description?(n(),y("div",la,b(l.value?.media_item.metadata.description),1)):!u.value&&e.player.active_source?(n(),y("div",ta,b(f.$t("external_source_active",[r(Se)(e.player)])),1)):u.value?.items==0?(n(),y("div",oa,b(f.$t("queue_empty")),1)):k("",!0)])]),append:v(()=>[e.player.playback_state==r($).PAUSED||e.player.playback_state==r($).PLAYING||u.value?.items?(n(),C(O,{key:0,variant:"icon",class:"player-command-btn",onClick:w[0]||(w[0]=V(S=>{r(d).playerCommandPlayPause(e.player.player_id),r(T).activePlayerId=e.player.player_id},["stop"]))},{default:v(()=>[g(M,{size:r(X)({breakpoint:"phone"})?"30":"32",icon:e.player.playback_state==r($).PLAYING?"mdi-pause":"mdi-play"},null,8,["size","icon"])]),_:1})):k("",!0),e.player.power_control!=r(W)&&e.allowPowerControl?(n(),C(O,{key:1,variant:"icon",class:"player-command-btn",onClick:w[1]||(w[1]=V(S=>{r(d).playerCommandPowerToggle(e.player.player_id),r(T).activePlayerId=e.player.player_id},["stop"]))},{default:v(()=>[g(M,{size:r(X)({breakpoint:"phone"})?"30":"32"},{default:v(()=>[...w[3]||(w[3]=[Y("mdi-power",-1)])]),_:1},8,["size"])]),_:1})):k("",!0),e.showMenuButton?(n(),C(O,{key:2,variant:"icon",class:"player-command-btn",style:{"margin-right":"-5px"},onClick:V(_,["stop"])},{default:v(()=>[g(M,{size:r(X)({breakpoint:"phone"})?"30":"32"},{default:v(()=>[...w[4]||(w[4]=[Y("mdi-dots-vertical",-1)])]),_:1},8,["size"])]),_:1})):k("",!0)]),_:1}),e.showVolumeControl?(n(),C(Ie,{key:0,player:e.player,"show-sync-controls":e.showSyncControls,"show-heading-row":!1,"show-sub-players":e.showSubPlayers,"show-volume-control":e.player.powered!=!1,"allow-wheel":!1},null,8,["player","show-sync-controls","show-sub-players","show-volume-control"])):k("",!0)]),_:1},8,["class","disabled"]))}}),ca=j(ia,[["__scopeId","data-v-f0fdac10"]]);export{ee as P,Ie as V,ca as a,Oe as g};
@@ -1 +0,0 @@
1
- import{B as P}from"./Button-C-VEz_LI.js";import{C as U}from"./Container-BJrCSObY.js";import{L as Y}from"./ListItem-UwdbG-Br.js";import{av as I,H as T,aL as a,b6 as w,a4 as D,r as S,aN as d,J as x,aw as _,x as r,aB as n,ax as i,aD as o,ay as g,aO as z,ag as h,aC as k,aE as F,aR as E,K as X,ad as K,bc as R,aI as p,a$ as W,aG as A,az as v,d as V,aA as j,bm as M,cr as q,aK as H}from"./index-9wFVyQJF.js";import{S as J}from"./constants-CXMxJR4j.js";import{V as Q}from"./VToolbar-BKGXqxdt.js";import"./index-kQIztB-E.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./VContainer-Bmll2nQh.js";const Z={style:{"margin-bottom":"10px"}},ee={class:"line-clamp-1"},te={class:"line-clamp-1"},ce=I({__name:"Players",setup(ae){const u=j(),l=T([]),L=a.subscribe_multi([w.PLAYER_CONFIG_UPDATED],()=>{y()});D(L);const b=S(()=>Object.values(a.providers).filter(e=>e.available&&(e.supported_features.includes(d.CREATE_GROUP_PLAYER)||e.supported_features.includes(d.SYNC_PLAYERS))).sort((e,t)=>(e.name||a.providerManifests[e.domain].name).toUpperCase()>(t.name||a.providerManifests[t.domain].name).toUpperCase()?1:-1)),y=async function(){l.value=(await a.getPlayerConfigs()).filter(e=>e.provider!="builtin_player").sort((e,t)=>c(e).localeCompare(c(t)))},$=function(e){a.removePlayer(e).then(()=>{l.value=l.value.filter(t=>t.player_id!=e)})},f=function(e,t){a.getProvider(t)&&u.push(`/settings/editplayer/${e}`)},B=function(e){u.push(`/settings/editplayer/${e}/dsp`)},N=function(e){u.push(`/settings/addgroup/${e.lookup_key}`)},O=function(e){const t=a.players[e];return t?t.type===M.GROUP?t.player_id.startsWith(J)||a.getProvider(t.provider)?.supported_features.includes(d.REMOVE_GROUP_PLAYER):a.getProvider(t.provider)?.supported_features.includes(d.REMOVE_PLAYER):!0},C=function(e){e.enabled=!e.enabled,a.savePlayerConfig(e.player_id,{enabled:e.enabled})},c=function(e){return e.name||a.players[e.player_id]?.name||e.default_name||e.player_id},G=function(e,t){const s=[{label:"settings.configure",labelArgs:[],action:()=>{f(t.player_id,t.provider)},icon:"mdi-cog",disabled:!a.getProvider(t.provider)},{label:"open_dsp_settings",labelArgs:[],action:()=>{B(t.player_id)},icon:"mdi-equalizer",hide:a.players[t.player_id]?.type===M.GROUP},{label:t.enabled?"settings.disable":"settings.enable",labelArgs:[],action:()=>{C(t)},icon:"mdi-cancel",hide:!a.getProvider(t.provider)},{label:"settings.documentation",labelArgs:[],action:()=>{q(a.getProviderManifest(t.provider)?.documentation||"")},icon:"mdi-bookshelf",disabled:!a.getProviderManifest(t.provider)?.documentation},{label:"settings.delete",labelArgs:[],action:()=>{$(t.player_id)},icon:"mdi-delete",hide:!O(t.player_id)}];H.emit("contextmenu",{items:s,posX:e.clientX,posY:e.clientY})};return x(()=>a.players,e=>{e&&y()},{immediate:!0}),(e,t)=>(i(),_("div",Z,[r(Q,{density:"compact",class:"titlebar",color:"transparent",style:{height:"55px"}},{title:n(()=>[R(p(e.$t("settings.players")),1)]),append:n(()=>[b.value.length>0?(i(),o(W,{key:0,scrim:""},{activator:n(({props:s})=>[r(X,K(s,{color:"accent",variant:"outlined"}),{default:n(()=>[R(p(e.$t("settings.add_group_player")),1)]),_:1},16)]),default:n(()=>[r(z,{density:"compact"},{default:n(()=>[(i(!0),_(h,null,k(b.value,s=>(i(),o(F,{key:s.domain,style:{"padding-top":"0","padding-bottom":"0","margin-bottom":"0"},title:s.name,onClick:m=>N(s)},{prepend:n(()=>[r(E,{domain:s.domain,size:26,class:"media-thumb",style:{"margin-left":"10px"}},null,8,["domain"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})):g("",!0)]),_:1}),r(U,null,{default:n(()=>[(i(!0),_(h,null,k(l.value,s=>(i(),o(Y,{key:s.player_id,"show-menu-btn":"",link:"",onMenu:m=>G(m,s),onClick:m=>f(s.player_id,s.provider)},{prepend:n(()=>[r(E,{domain:v(a).getProviderManifest(s.provider)?.domain||"",size:40,class:"listitem-media-thumb"},null,8,["domain"])]),title:n(()=>[V("div",ee,p(c(s)),1)]),subtitle:n(()=>[V("div",te,p(v(a).getProviderManifest(s.provider)?.name||s.provider),1)]),append:n(()=>[s.enabled?v(a).players[s.player_id]?.available?g("",!0):(i(),o(P,{key:1,icon:"",title:e.$t("settings.player_not_available")},{default:n(()=>[r(A,{icon:"mdi-timer-sand"})]),_:1},8,["title"])):(i(),o(P,{key:0,icon:"",title:e.$t("settings.player_disabled")},{default:n(()=>[r(A,{icon:"mdi-cancel"})]),_:1},8,["title"]))]),_:2},1032,["onMenu","onClick"]))),128))]),_:1})]))}});export{ce as default};
@@ -1 +0,0 @@
1
- import{I as f}from"./ItemsListing-C49HRbSG.js";import{I as v,_ as y}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-BrpUE5JN.js";import{av as k,H as l,J as I,a3 as _,aL as r,b6 as h,a4 as b,aw as w,x as D,aD as m,ay as p,ag as g,ax as i}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";import"./marquee_text_sync-D3Qu1KPM.js";import"./VDialog-BPGCUfED.js";const S=k({__name:"PlaylistDetails",props:{itemId:{},provider:{}},setup(n){const t=n,o=l(!1),e=l(),u=async function(){e.value=await r.getPlaylist(t.itemId,t.provider)};I(()=>t.itemId,a=>{a&&u()},{immediate:!0}),_(()=>{const a=r.subscribe(h.MEDIA_ITEM_UPDATED,s=>{const c=s.data;e.value?.uri==c.uri&&(o.value=!0)});b(a)});const d=async function(a){return await r.getPlaylistTracks(t.itemId,t.provider,a.refresh)};return(a,s)=>(i(),w(g,null,[D(v,{item:e.value},null,8,["item"]),e.value?(i(),m(f,{key:0,itemtype:"playlisttracks","parent-item":e.value,"show-provider":!1,"show-library":!1,"show-favorites-only-filter":!1,"show-track-number":!1,"show-refresh-button":!0,"load-items":d,"sort-keys":["position","position_desc","name","artist","album","duration","duration_desc"],"update-available":o.value,title:a.$t("playlist_tracks"),"allow-key-hooks":!0,path:`playlist.${t.itemId}.${t.provider}`,"restore-state":!0,"no-server-side-sorting":!0},null,8,["parent-item","update-available","title","path"])):p("",!0),e.value?(i(),m(y,{key:1,"item-details":e.value},null,8,["item-details"])):p("",!0)],64))}});export{S as default};
@@ -1 +0,0 @@
1
- import{I as f,_ as v}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-BrpUE5JN.js";import{I}from"./ItemsListing-C49HRbSG.js";import{av as _,H as m,J as h,a3 as y,aL as o,b6 as b,a4 as w,aw as k,x as D,aD as p,ay as n,ag as E,ax as i}from"./index-9wFVyQJF.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./marquee_text_sync-D3Qu1KPM.js";import"./MediaItemThumb-CIzEvLC1.js";import"./VDialog-BPGCUfED.js";import"./layout-BdbtgIRG.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./ListItem-UwdbG-Br.js";import"./Button-C-VEz_LI.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";const S=_({__name:"PodcastDetails",props:{itemId:{},provider:{}},setup(l){const t=l,r=m(!1),e=m(),d=async function(){e.value=await o.getPodcast(t.itemId,t.provider)};h(()=>t.itemId,a=>{a&&d()},{immediate:!0}),y(()=>{const a=o.subscribe(b.MEDIA_ITEM_UPDATED,s=>{const c=s.data;e.value?.uri==c.uri&&(r.value=!0)});w(a)});const u=async function(a){return await o.getPodcastEpisodes(t.itemId,t.provider)};return(a,s)=>(i(),k(E,null,[D(f,{item:e.value},null,8,["item"]),e.value?(i(),p(I,{key:0,itemtype:"podcastepisodes","parent-item":e.value,"show-provider":!1,"show-library":!1,"show-favorites-only-filter":!1,"show-track-number":!0,"show-refresh-button":!0,"load-items":u,"sort-keys":["position","position_desc","name","duration","duration_desc"],"update-available":r.value,title:a.$t("podcast_episodes"),"allow-key-hooks":!0,path:`podcast.${t.itemId}.${t.provider}`,"restore-state":!0,"no-server-side-sorting":!0},null,8,["parent-item","update-available","title","path"])):n("",!0),e.value?(i(),p(v,{key:1,"item-details":e.value},null,8,["item-details"])):n("",!0)],64))}});export{S as default};
@@ -1,8 +0,0 @@
1
- import{g as ee,p as te,a1 as ie,b as ae,d as h,n as P,e as Z,a2 as ne,c as le,av as O,aw as r,ax as t,x as i,K as V,aB as a,aG as T,aF as oe,aD as y,b3 as se,H as N,a8 as re,J as me,r as R,bP as ue,aM as j,bo as U,bp as F,aO as Q,az as f,ay as d,bD as de,aj as M,by as ce,bb as ye,bc as B,aI as m,bd as D,bQ as fe,bR as ge,ad as be,ag as z,aC as A,au as G,bl as he,b8 as E,aL as S,aR as K,bC as ke,bS as ve,bM as xe,aA as pe,bT as $e,bU as Ce,bV as we,aQ as Te,bW as Ve,b0 as Ie,aJ as De}from"./index-9wFVyQJF.js";import{T as _}from"./Toolbar-DKtKPcsg.js";import{M as L,a as Le}from"./marquee_text_sync-D3Qu1KPM.js";import{M as Y}from"./MediaItemThumb-CIzEvLC1.js";import{V as Be}from"./VDialog-BPGCUfED.js";import{c as Pe,m as Re}from"./layout-BdbtgIRG.js";import{_ as ze}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{C as Ae}from"./Container-BJrCSObY.js";import{L as X}from"./ListItem-UwdbG-Br.js";const Se=te({...le(),...ne(),...Re()},"VLayout"),He=ee()({name:"VLayout",props:Se(),setup(e,c){let{slots:g}=c;const{layoutClasses:$,layoutStyles:b,getLayoutItem:C,items:I,layoutRef:k}=Pe(e),{dimensionStyles:v}=ie(e);return ae(()=>h("div",{ref:k,class:Z([$.value,e.class]),style:P([v.value,b.value,e.style])},[g.default?.()])),{getLayoutItem:C,items:I}}}),Ue=O({__name:"MenuButton",props:{icon:{default:void 0},text:{default:void 0},disabled:{type:Boolean,default:!1},width:{default:200},loading:{type:Boolean,default:!0}},emits:["click","menu"],setup(e,{emit:c}){const g=c;return($,b)=>(t(),r("div",{style:P(`width: ${e.width}px; height: 30px;`)},[i(V,{variant:"tonal",style:P(`
2
- width: ${e.width}px;
3
- position: absolute;
4
- border: 1px solid #cccccc4d;
5
- height: 38px;
6
- margin-top: -1px;
7
- margin-left: -1px;
8
- `),disabled:e.loading,onClick:b[0]||(b[0]=C=>g("menu"))},{default:a(()=>[i(T,{icon:"mdi-menu-down",size:"xx-large",style:P(`width: 20px; margin-left: ${e.width-42}px`)},null,8,["style"])]),_:1},8,["style","disabled"]),i(V,{color:"primary",flat:"",disabled:e.disabled||e.loading,style:P(`width: ${e.width-40}px; justify-content: left;`),text:e.text,onClick:b[1]||(b[1]=C=>g("click"))},oe({_:2},[e.icon&&e.text.length<12||e.loading?{name:"prepend",fn:a(()=>[e.loading?(t(),y(se,{key:0,color:"grey-lighten-5",indeterminate:""})):(t(),y(T,{key:1,icon:e.icon,size:"x-large"},null,8,["icon"]))]),key:"0"}:void 0]),1032,["disabled","style","text"])],4))}}),Fe={key:0,xs5:"","pa-5":"",style:{height:"80%","min-width":"230px","margin-top":"25px","margin-bottom":"15px","margin-right":"24px","align-content":"center","flex-shrink":"0"}},Ne={key:0},je={key:1},Ee={style:{"min-width":"0"}},qe=["src"],Ge={style:{"padding-bottom":"10px"}},Ke=["onClick"],Oe={style:{color:"accent"}},We={style:{color:"accent"}},Je={style:{color:"primary"}},Qe={style:{display:"flex","margin-left":"14px","padding-bottom":"10px",cursor:"pointer !important"}},Ye=["innerHTML"],Xe={key:3,class:"justify-center",style:{"margin-left":"15px","padding-bottom":"20px"}},Ze=O({__name:"InfoHeader",props:{item:{}},setup(e){const c=e,g=N(!1),$=N(),{mobile:b}=re(),C=N([]),I=new URL(""+new URL("info_gradient-C5d1dalX.jpg",import.meta.url).href,import.meta.url).href,k=new Le,v=pe();me(()=>c.item,async n=>{n?($.value=U(n,F.FANART)||U(n,F.LANDSCAPE)||U(n,F.THUMB)||I,C.value=await Ce([n],n)):($.value=I,C.value=[])},{immediate:!0});const H=function(n){v.push({name:"album",params:{itemId:n.item_id,provider:n.provider}})},q=function(n){v.push({name:"artist",params:{itemId:n.item_id,provider:n.provider}})},o=function(){if(G.prevRoute){v.back();return}const n=v.currentRoute.value.name?.toString()||"";for(const s of["artist","album","track","playlist","radio"])if(n.includes(s)){v.push({name:`${s}s`});return}v.push({name:"home"})},x=function(n=!1){const s=document.getElementById("playbutton");$e(c.item,s.getBoundingClientRect().left,s.getBoundingClientRect().top+36,void 0,n)},l=R(()=>c.item?c.item.metadata&&c.item.metadata.description?c.item.metadata.description:c.item.metadata&&c.item.metadata.copyright?c.item.metadata.copyright:("artists"in c.item&&c.item.artists.forEach(function(n){if("metadata"in n&&n.metadata.description)return n.metadata.description}),""):""),p=R(()=>ue(l.value)),W=R(()=>{const n=b.value?160:300;return l.value.length>n?p.value.substring(0,n)+"...":p.value}),J=R(()=>{if(c.item&&c.item.media_type==j.ARTIST)return U(c.item,F.LOGO)});return(n,s)=>(t(),r("div",null,[i(Q,{variant:"flat",img:f(I),style:{"z-index":"0","border-radius":"0px"},height:"25vh","max-height":"500px","min-height":"340px"},{default:a(()=>[e.item?d("",!0):(t(),y(de,{key:0,indeterminate:""})),i(M,{width:"100%",height:"100%",cover:"",class:"background-image",src:$.value,gradient:n.$vuetify.theme.current.dark?"to bottom, rgba(0,0,0,.90), rgba(0,0,0,.75)":"to bottom, rgba(255,255,255,.90), rgba(255,255,255,.75)"},null,8,["src","gradient"]),i(_,{icon:"mdi-arrow-left",style:{position:"absolute"},"menu-items":C.value,"enforce-overflow-menu":!0,"show-loading":!0,"icon-action":o},null,8,["menu-items"]),e.item?(t(),y(He,{key:1,style:{margin:"0",top:"55%","-ms-transform":"translateY(-50%)",transform:"translateY(-50%)","padding-left":"15px","align-items":"center","padding-right":"15px",display:"flex",width:"100%"}},{default:a(()=>[n.$vuetify.display.mobile?d("",!0):(t(),r("div",Fe,[e.item.media_type&&e.item.media_type==f(j).ARTIST?(t(),r("div",Ne,[i(ce,{size:"210",style:{"margin-bottom":"10%"}},{default:a(()=>[i(Y,{item:e.item,size:"calc(100%)"},null,8,["item"])]),_:1})])):(t(),r("div",je,[i(Y,{item:e.item,size:"calc(100%)",style:{"max-height":"256px"}},null,8,["item"])]))])),h("div",Ee,[J.value?(t(),r("img",{key:0,src:J.value,width:"auto",height:"80",style:{"padding-left":"10px"}},null,8,qe)):(t(),y(ye,{key:1},{default:a(()=>[i(L,{sync:f(k)},{default:a(()=>[B(m(e.item.name),1)]),_:1},8,["sync"])]),_:1})),h("div",Ge,["version"in e.item&&e.item.version?(t(),y(D,{key:0,class:"caption"},{default:a(()=>[B(m(e.item.version)+" ",1),i(fe,{location:"bottom"},{activator:a(({props:u})=>[f(ge)(e.item.metadata.explicit||!1)?(t(),y(T,be({key:0},u,{icon:"mdi-alpha-e-box",width:"35"}),null,16)):d("",!0)]),default:a(()=>[h("span",null,m(n.$t("tooltip.explicit")),1)]),_:1})]),_:1})):d("",!0),"artists"in e.item&&e.item.artists?(t(),y(D,{key:1,class:"title accent--text d-flex"},{default:a(()=>[i(T,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-music"}),i(L,{sync:f(k)},{default:a(()=>[(t(!0),r(z,null,A(e.item.artists,(u,w)=>(t(),r("span",{key:u.item_id},[h("a",{style:{color:"accent"},onClick:at=>q(u)},m(u.name),9,Ke),w+1<e.item.artists.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"authors"in e.item&&e.item.authors.length>0?(t(),y(D,{key:2,class:"title accent--text d-flex"},{default:a(()=>[i(T,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-edit"}),i(L,{sync:f(k)},{default:a(()=>[(t(!0),r(z,null,A(e.item.authors,(u,w)=>(t(),r("span",{key:u},[h("span",Oe,m(u),1),w+1<e.item.authors.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"narrators"in e.item&&e.item.narrators.length>0?(t(),y(D,{key:3,class:"title accent--text d-flex"},{default:a(()=>[i(T,{style:{"margin-left":"-3px","margin-right":"3px"},small:"",color:"primary",icon:"mdi-account-voice"}),i(L,{sync:f(k)},{default:a(()=>[(t(!0),r(z,null,A(e.item.narrators,(u,w)=>(t(),r("span",{key:u},[h("span",We,m(u),1),w+1<e.item.narrators.length?(t(),r("span",{key:w,style:{color:"accent"}},m(" / "))):d("",!0)]))),128))]),_:1},8,["sync"])]),_:1})):d("",!0),"owner"in e.item&&e.item.owner?(t(),y(D,{key:4,class:"title d-flex"},{default:a(()=>[i(T,{color:"primary",style:{"margin-left":"-3px","margin-right":"3px"},small:"",icon:"mdi-account-music"}),i(L,{sync:f(k)},{default:a(()=>[h("a",Je,m(e.item.owner),1)]),_:1},8,["sync"])]),_:1})):d("",!0),"album"in e.item&&e.item.album?(t(),y(D,{key:5,class:"d-flex"},{default:a(()=>[i(T,{color:"primary",style:{"margin-left":"-3px","margin-right":"3px"},small:"",icon:"mdi-album"}),i(L,{sync:f(k)},{default:a(()=>[h("a",{style:{color:"secondary"},onClick:s[0]||(s[0]=u=>H(e.item?.album))},m(e.item.album.name),1)]),_:1},8,["sync"])]),_:1})):d("",!0)]),h("div",Qe,[i(Ue,{id:"playbutton",width:220,icon:"mdi-play-circle-outline",text:f(he)(n.$t("play"),14),disabled:!e.item,loading:f(G).playActionInProgress,"open-menu-on-click":!f(G).activePlayer,onClick:x,onMenu:s[1]||(s[1]=u=>x(!0))},null,8,["text","disabled","loading","open-menu-on-click"]),i(V,{variant:"plain",ripple:"",icon:e.item.favorite?"mdi-heart":"mdi-heart-outline",size:"x-large",style:{"margin-top":"-14px"},title:n.$t("tooltip.favorite"),onClick:[s[2]||(s[2]=u=>f(S).toggleFavorite(e.item)),s[3]||(s[3]=E(()=>{},["prevent"])),s[4]||(s[4]=E(()=>{},["stop"]))]},null,8,["icon","title"]),i(K,{domain:e.item.provider,size:25,style:{"margin-top":"6px"}},null,8,["domain"])]),W.value?(t(),y(D,{key:2,class:"body-2 justify-left",style:{"padding-bottom":"10px","white-space":"pre-line",cursor:"pointer"},onClick:s[5]||(s[5]=u=>g.value=!g.value)},{default:a(()=>[h("div",{innerHTML:W.value},null,8,Ye)]),_:1})):d("",!0),e.item&&e.item.metadata.genres?(t(),r("div",Xe,[(t(!0),r(z,null,A(e.item.metadata.genres.slice(0,n.$vuetify.display.mobile?15:25),u=>(t(),y(ke,{key:u,color:"blue-grey lighten-1",style:{"margin-right":"5px","margin-bottom":"5px"},small:"",outlined:""},{default:a(()=>[B(m(u),1)]),_:2},1024))),128))])):d("",!0)])]),_:1})):d("",!0)]),_:1},8,["img"]),i(Be,{modelValue:g.value,"onUpdate:modelValue":s[7]||(s[7]=u=>g.value=u),"max-width":"975",width:"auto"},{default:a(()=>[i(Q,null,{default:a(()=>[i(ve,{innerHTML:p.value},null,8,["innerHTML"]),i(xe,null,{default:a(()=>[i(V,{color:"primary",block:"",onClick:s[6]||(s[6]=u=>g.value=!1)},{default:a(()=>[B(m(n.$t("close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),yt=ze(Ze,[["__scopeId","data-v-7debb90f"]]),Me={style:{"margin-bottom":"10px"}},_e={key:0},et=["title","onClick"],tt=["title"],it={class:"d-flex align-center ga-2"},ft=O({__name:"ProviderDetails",props:{itemDetails:{}},setup(e){const c=e,g=N(!1),$=function(o){window.open(o,"_blank")},b=we({}),C=function(o){const x=`${o.provider_instance}.${o.item_id}`,l=b[x];if(l)l.load(),delete b[x];else{const p=new Audio(I(o.provider_instance,o.item_id));b[x]=p,p.play()}},I=function(o,x){return`${S.baseUrl}/preview?item_id=${encodeURIComponent(x)}&provider=${o}`},k=function(o){return`${S.getProvider(o.provider_instance)?.lookup_key}://${c.itemDetails.media_type}/${o.item_id}`},v=function(o){navigator.clipboard.writeText(o)},H=function(){g.value=!g.value},q=R(()=>[{label:"tooltip.collapse_expand",icon:g.value?"mdi-chevron-up":"mdi-chevron-down",action:H,overflowAllowed:!1}]);return(o,x)=>(t(),r("section",Me,[i(_,{title:o.$t("mapped_providers"),"menu-items":q.value,onTitleClicked:H},null,8,["title","menu-items"]),i(Te),g.value?(t(),y(Ae,{key:0},{default:a(()=>[i(De,null,{default:a(()=>[(t(!0),r(z,null,A(e.itemDetails?.provider_mappings,l=>(t(),y(X,{key:l.provider_instance,disabled:!l.available||!f(S).getProvider(l.provider_instance)},{prepend:a(()=>[i(K,{domain:l.provider_domain,size:30},null,8,["domain"])]),title:a(()=>[B(m(f(S).getProvider(l.provider_instance)?.name),1)]),subtitle:a(()=>[e.itemDetails.media_type==f(j).TRACK&&l.audio_format?(t(),r("span",_e,m(l.audio_format.content_type)+" | "+m(l.audio_format.sample_rate/1e3)+"kHz/"+m(l.audio_format.bit_depth)+" bits | ",1)):d("",!0),l.url&&!l.provider_domain.startsWith("file")?(t(),r("a",{key:1,style:{opacity:"0.4"},title:o.$t("tooltip.open_provider_link"),onClick:E(p=>$(l.url),["prevent"])},m(k(l)),9,et)):(t(),r("span",{key:2,style:{opacity:"0.4"},title:o.$t("copy_uri")},m(k(l)),9,tt))]),append:a(()=>[l.audio_format&&l.audio_format.bit_depth>16?(t(),y(M,{key:0,src:f(Ve),width:"30",class:Z(o.$vuetify.theme.current.dark?"hiresicondark":"hiresicon"),style:{"margin-right":"15px"}},null,8,["src","class"])):d("",!0),h("div",it,[f(Ie)("bp1")&&e.itemDetails.media_type==f(j).TRACK?(t(),y(V,{key:0,icon:b[`${l.provider_instance}.${l.item_id}`]?"mdi-pause":"mdi-play-circle",title:o.$t("tooltip.play_sample"),onClick:p=>C(l)},null,8,["icon","title","onClick"])):d("",!0),l.url&&!l.provider_domain.startsWith("file")?(t(),y(V,{key:1,icon:"mdi-open-in-new",title:o.$t("tooltip.open_provider_link"),onClick:E(p=>$(l.url),["prevent"])},null,8,["title","onClick"])):d("",!0),i(V,{icon:"mdi-link",title:o.$t("tooltip.copy_uri"),onClick:p=>v(k(l))},null,8,["title","onClick"])])]),_:2},1032,["disabled"]))),128)),e.itemDetails.provider=="library"?(t(),y(X,{key:0},{prepend:a(()=>[i(K,{domain:"library",size:30})]),title:a(()=>[B(m(o.$t("music_assistant_library")),1)]),subtitle:a(()=>[h("span",null,"library://"+m(e.itemDetails.media_type)+"/"+m(e.itemDetails.item_id),1)]),append:a(()=>[i(V,{icon:"mdi-link",title:o.$t("tooltip.copy_uri"),onClick:x[0]||(x[0]=l=>v(`library://${e.itemDetails.media_type}/${e.itemDetails.item_id}`))},null,8,["title"])]),_:1})):d("",!0)]),_:1})]),_:1})):d("",!0)]))}});export{yt as I,ft as _};
@@ -1 +0,0 @@
1
- import{av as ee,H as T,r as B,cp as f,aP as i,cq as A,J as O,aw as $,x as s,d as g,az as d,aD as C,ay as H,K as k,aB as t,bx as de,ax as m,bc as p,aI as v,aG as y,a$ as J,aJ as F,ag as N,aC as q,aH as K,b8 as G,aE as Y,aA as te,aL as c,au as W,bb as ie,bS as X,bC as le,aR as ne,aO as oe,b6 as ue,a4 as ce,e as pe,cr as ve,aN as me,aK as fe}from"./index-9wFVyQJF.js";import{C as ge}from"./Container-BJrCSObY.js";import{V as re}from"./VTextField-DJZc05eK.js";import{V as Q}from"./VCheckboxBtn-DtwUx7x8.js";import{_ as se}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{M as Z}from"./index-kQIztB-E.js";import{V as _e}from"./VDialog-BPGCUfED.js";import{V as he,a as be}from"./VAlert-D47QZ7qK.js";import{V as ye,a as Ce}from"./VRow-plcqQvnb.js";import"./VContainer-Bmll2nQh.js";import"./VInput-Bym6CXFb.js";const Pe={class:"filters-container"},ke={class:"d-flex ga-2 filter-buttons"},Ae=ee({__name:"ProviderFilters",props:{showStageFilter:{type:Boolean,default:!1}},emits:["update:search","update:types","update:stages"],setup(j,{emit:z}){const x=te(),_=de(),w=T(""),h=T([]),b=T([]);let P=null,M=null,I=null;const U=B(()=>[{title:i("settings.musicprovider"),value:f.MUSIC},{title:i("settings.playerprovider"),value:f.PLAYER},{title:i("settings.metadataprovider"),value:f.METADATA},{title:i("settings.pluginprovider"),value:f.PLUGIN}]),D=B(()=>[{title:i("settings.stage.options.stable"),value:A.STABLE},{title:i("settings.stage.options.beta"),value:A.BETA},{title:i("settings.stage.options.alpha"),value:A.ALPHA},{title:i("settings.stage.options.experimental"),value:A.EXPERIMENTAL},{title:i("settings.stage.options.unmaintained"),value:A.UNMAINTAINED},{title:i("settings.stage.options.deprecated"),value:A.DEPRECATED}]),L=z,S=function(u){const r=h.value.indexOf(u);r>-1?h.value.splice(r,1):h.value.push(u)},E=function(u){const r=b.value.indexOf(u);r>-1?b.value.splice(r,1):b.value.push(u)},R=function(){if(_.query.search&&(w.value=_.query.search),_.query.types){const u=_.query.types;h.value=u.split(",")}if(_.query.stages){const u=_.query.stages;b.value=u.split(",")}};return O(w,u=>{L("update:search",u),P&&clearTimeout(P),P=setTimeout(()=>{const r={..._.query};u?r.search=u:delete r.search,x.replace({query:r})},750)}),O(h,u=>{L("update:types",u),M&&clearTimeout(M),M=setTimeout(()=>{const r={..._.query};u.length>0?r.types=u.join(","):delete r.types,x.replace({query:r})},750)},{deep:!0}),O(b,u=>{L("update:stages",u),I&&clearTimeout(I),I=setTimeout(()=>{const r={..._.query};u.length>0?r.stages=u.join(","):delete r.stages,x.replace({query:r})},750)},{deep:!0}),R(),(u,r)=>(m(),$("div",Pe,[s(re,{modelValue:w.value,"onUpdate:modelValue":r[0]||(r[0]=l=>w.value=l),"prepend-inner-icon":"mdi-magnify",label:d(i)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","label"]),g("div",ke,[s(k,{height:"40",elevation:"0"},{default:t(()=>[p(v(d(i)("settings.provider_type"))+" ",1),s(y,{end:""},{default:t(()=>[...r[1]||(r[1]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(F,null,{default:t(()=>[(m(!0),$(N,null,q(U.value,(l,n)=>(m(),C(Y,{key:n,value:n,onClick:e=>S(l.value)},{append:t(()=>[s(Q,{"model-value":h.value.includes(l.value),onClick:G(e=>S(l.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(K,null,{default:t(()=>[p(v(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),j.showStageFilter?(m(),C(k,{key:0,height:"40",elevation:"0"},{default:t(()=>[p(v(d(i)("settings.stage.label"))+" ",1),s(y,{end:""},{default:t(()=>[...r[2]||(r[2]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(F,null,{default:t(()=>[(m(!0),$(N,null,q(D.value,(l,n)=>(m(),C(Y,{key:n,value:n,onClick:e=>E(l.value)},{append:t(()=>[s(Q,{"model-value":b.value.includes(l.value),onClick:G(e=>E(l.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(K,null,{default:t(()=>[p(v(l.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})):H("",!0)])]))}}),xe=se(Ae,[["__scopeId","data-v-730d2954"]]),we={class:"text-h6"},Te={class:"d-flex ga-2 filter-buttons"},Ee={class:"provider-list-container"},Ve={class:"provider-name"},$e={class:"provider-description"},Me={class:"d-flex align-center ga-2"},Ie={key:1,class:"empty-state"},Le={class:"empty-title"},Ne={class:"empty-message"},ze=ee({__name:"AddProviderDialog",props:{show:{type:Boolean,default:!1}},emits:["update:show"],setup(j,{emit:z}){const x=z,_=te(),w=T([]),h=T(""),b=T([]),P=T([]),M=B(()=>[{title:i("settings.musicprovider"),value:f.MUSIC},{title:i("settings.playerprovider"),value:f.PLAYER},{title:i("settings.metadataprovider"),value:f.METADATA},{title:i("settings.pluginprovider"),value:f.PLUGIN}]),I=B(()=>[{title:i("settings.stage.options.stable"),value:A.STABLE},{title:i("settings.stage.options.beta"),value:A.BETA},{title:i("settings.stage.options.alpha"),value:A.ALPHA},{title:i("settings.stage.options.experimental"),value:A.EXPERIMENTAL},{title:i("settings.stage.options.unmaintained"),value:A.UNMAINTAINED},{title:i("settings.stage.options.deprecated"),value:A.DEPRECATED}]),U=B(()=>{let l=Object.values(c.providerManifests);return l=l.filter(n=>!n.builtin&&n.type!=="core"),l.filter(n=>n.multi_instance||!w.value.find(e=>e.domain==n.domain)).sort((n,e)=>{const a=(n.name||c.providerManifests[n.domain].name).toUpperCase(),o=(e.name||c.providerManifests[e.domain].name).toUpperCase();return a>o?1:-1})}),D=B(()=>{let l=U.value;if(h.value){const n=h.value.toLowerCase();l=l.filter(e=>e.name.toLowerCase().includes(n)||e.description.toLowerCase().includes(n))}return b.value.length>0&&(l=l.filter(n=>b.value.includes(n.type))),P.value.length>0&&(l=l.filter(n=>P.value.includes(n.stage))),l}),L=async function(){w.value=await c.getProviderConfigs()},S=function(l){if(l.depends_on&&!c.getProvider(l.depends_on)){const n=c.getProviderName(l.depends_on);confirm(i("settings.provider_depends_on_confirm",[l.name,n]))&&_.push(`/settings/addprovider/${l.depends_on}`);return}_.push(`/settings/addprovider/${l.domain}`),r()},E=function(l){const n=b.value.indexOf(l);n>-1?b.value.splice(n,1):b.value.push(l)},R=function(l){const n=P.value.indexOf(l);n>-1?P.value.splice(n,1):P.value.push(l)},u=function(l){return Z(l).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},r=function(){x("update:show",!1)};return O(()=>c.providers,l=>{l&&L()},{immediate:!0}),(l,n)=>(m(),C(_e,{"model-value":j.show,"max-width":"800px",scrollable:"","onUpdate:modelValue":n[1]||(n[1]=e=>{d(W).dialogActive=e,x("update:show",e)})},{default:t(()=>[s(oe,{class:"add-provider-dialog"},{default:t(()=>[s(ie,{class:"d-flex align-center justify-space-between pa-4"},{default:t(()=>[g("span",we,v(d(i)("settings.add_provider")),1),s(k,{icon:"mdi-close",variant:"text",size:"small",onClick:r})]),_:1}),s(X,{class:"pa-4 pb-2"},{default:t(()=>[s(re,{modelValue:h.value,"onUpdate:modelValue":n[0]||(n[0]=e=>h.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:d(i)("search"),variant:"outlined",density:"compact",clearable:"","hide-details":"",class:"search-field"},null,8,["modelValue","placeholder"])]),_:1}),s(X,{class:"pa-4 pt-2 pb-2"},{default:t(()=>[g("div",Te,[s(k,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:t(()=>[p(v(d(i)("settings.provider_type"))+" ",1),s(y,{end:""},{default:t(()=>[...n[2]||(n[2]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(F,null,{default:t(()=>[(m(!0),$(N,null,q(M.value,(e,a)=>(m(),C(Y,{key:a,value:a,onClick:o=>E(e.value)},{append:t(()=>[s(Q,{"model-value":b.value.includes(e.value),onClick:G(o=>E(e.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(K,null,{default:t(()=>[p(v(e.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1}),s(k,{height:"40",elevation:"0",variant:"outlined",density:"compact"},{default:t(()=>[p(v(d(i)("settings.stage.label"))+" ",1),s(y,{end:""},{default:t(()=>[...n[3]||(n[3]=[p("mdi-chevron-down",-1)])]),_:1}),s(J,{activator:"parent","close-on-content-click":!1},{default:t(()=>[s(F,null,{default:t(()=>[(m(!0),$(N,null,q(I.value,(e,a)=>(m(),C(Y,{key:a,value:a,onClick:o=>R(e.value)},{append:t(()=>[s(Q,{"model-value":P.value.includes(e.value),onClick:G(o=>R(e.value),["stop"])},null,8,["model-value","onClick"])]),default:t(()=>[s(K,null,{default:t(()=>[p(v(e.title),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})]),_:1})])]),_:1}),s(X,{class:"pa-4 pt-2"},{default:t(()=>[g("div",Ee,[D.value.length>0?(m(),C(F,{key:0,class:"provider-list"},{default:t(()=>[(m(!0),$(N,null,q(D.value,e=>(m(),C(Y,{key:e.domain,style:{padding:"0"},class:"provider-item",rounded:"lg",onClick:a=>S(e)},{prepend:t(()=>[s(ne,{domain:e.domain,size:40,class:"provider-icon"},null,8,["domain"])]),title:t(()=>[g("div",Ve,v(e.name),1)]),subtitle:t(()=>[g("div",$e,v(e.description),1)]),append:t(()=>[g("div",Me,[s(le,{size:"x-small",variant:"flat",class:"text-uppercase",color:u(e.stage)},{default:t(()=>[p(v(d(i)(String(e.stage||"").toLowerCase())),1)]),_:2},1032,["color"]),s(y,{icon:"mdi-chevron-right",size:"small"})])]),_:2},1032,["onClick"]))),128))]),_:1})):(m(),$("div",Ie,[s(y,{icon:"mdi-magnify",size:"48",class:"empty-icon"}),g("div",Le,v(d(i)("no_content")),1),g("div",Ne,v(d(i)("no_content_filter")),1)]))])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Ue=se(ze,[["__scopeId","data-v-520c5c4c"]]),De={class:"text-body-1"},Se={class:"mb-2"},Re={class:"onboarding-list ml-4"},Be={class:"providers-header w-100"},qe={class:"pl-5 font-weight-medium"},Oe=ee({__name:"Providers",setup(j){const z=te(),x=T([]),_=T(""),w=T([]),h=T(!1),b=c.subscribe(ue.PROVIDERS_UPDATED,()=>{P()});ce(b);const P=async function(){x.value=await c.getProviderConfigs()},M=function(){W.isOnboarding=!1},I=function(e){c.removeProviderConfig(e),x.value=x.value.filter(a=>a.instance_id!=e)},U=function(e){z.push(`/settings/editprovider/${e}`)},D=function(e){e.enabled=!e.enabled,c.saveProviderConfig(e.domain,{enabled:e.enabled},e.instance_id)},L=function(e){c.sendCommand("config/providers/reload",{instance_id:e}).catch(a=>alert(a))},S=function(e,a){const o=c.providerManifests[a.domain],V=c.getProvider(a.instance_id),ae=[{label:"settings.configure",labelArgs:[],action:()=>{U(a.instance_id)},icon:"mdi-cog"},{label:a.enabled?"settings.disable":"settings.enable",labelArgs:[],action:()=>{D(a)},icon:"mdi-cancel",disabled:!o.allow_disable},{label:"settings.documentation",labelArgs:[],action:()=>{ve(o.documentation)},icon:"mdi-bookshelf",disabled:!o.documentation},{label:"settings.sync",labelArgs:[],action:()=>{c.startSync(void 0,[a.instance_id])},icon:"mdi-sync",hide:!V?.available||a.type!=f.MUSIC},{label:"settings.delete",labelArgs:[],action:()=>{I(a.instance_id)},icon:"mdi-delete",hide:o.builtin},{label:"settings.reload",labelArgs:[],action:()=>{L(a.instance_id)},icon:"mdi-refresh"}];V?.available&&V.supported_features.includes(me.CREATE_GROUP_PLAYER)&&ae.push({label:"settings.add_group_player",labelArgs:[],action:()=>{z.push(`/settings/addgroup/${V.lookup_key}`)},icon:"mdi-speaker-multiple"}),fe.emit("contextmenu",{items:ae,posX:e.clientX,posY:e.clientY})};O(()=>c.providers,e=>{e&&P()},{immediate:!0});const E=function(e){const a=c.providerManifests[e.domain].name;if(e.name)return`${a} [${e.name}]`;const o=c.getProvider(e.instance_id);return o&&o.instance_name_postfix?`${a} [${o.instance_name_postfix}]`:a},R=function(e){return e&&e.length>150},u=function(e){return Z(e).with("stable",()=>"green").with("beta",()=>"blue").with("alpha",()=>"purple").with("experimental",()=>"orange").with("unmaintained",()=>"grey").with("deprecated",()=>"red").otherwise(()=>"green")},r=function(e){return Z(e).with(f.MUSIC,()=>i("settings.music")).with(f.PLAYER,()=>i("settings.player")).with(f.METADATA,()=>i("settings.metadata")).with(f.PLUGIN,()=>i("settings.plugin")).otherwise(()=>i("settings.player"))},l=function(e){return{[f.MUSIC]:"mdi-music",[f.PLAYER]:"mdi-speaker",[f.METADATA]:"mdi-file-code",[f.PLUGIN]:"mdi-puzzle"}[e]||"mdi-help-circle"},n=function(){let e=[...x.value];if(_.value){const a=_.value.toLowerCase();e=e.filter(o=>E(o).toLowerCase().includes(a))}return w.value.length>0&&(e=e.filter(a=>w.value.includes(a.type))),e.sort((a,o)=>E(a).localeCompare(E(o)))};return(e,a)=>(m(),$(N,null,[d(W).isOnboarding?(m(),C(he,{key:0,type:"info",variant:"tonal",closable:"",class:"mx-5 mt-4","onClick:close":M},{default:t(()=>[s(be,{class:"text-h6 mb-2"},{default:t(()=>[p(v(d(i)("settings.onboarding_title")),1)]),_:1}),g("div",De,[g("p",Se,v(d(i)("settings.onboarding_message")),1),g("ul",Re,[g("li",null,[s(y,{icon:"mdi-speaker",size:"small",class:"mr-2"}),p(" "+v(d(i)("settings.onboarding_players")),1)]),g("li",null,[s(y,{icon:"mdi-music",size:"small",class:"mr-2"}),p(" "+v(d(i)("settings.onboarding_music")),1)]),g("li",null,[s(y,{icon:"mdi-puzzle",size:"small",class:"mr-2"}),p(" "+v(d(i)("settings.onboarding_plugins")),1)])])])]),_:1})):H("",!0),g("div",Be,[s(xe,{"onUpdate:search":a[0]||(a[0]=o=>_.value=o),"onUpdate:types":a[1]||(a[1]=o=>w.value=o)}),s(k,{color:"primary",variant:"outlined",height:"40",class:"add-provider-btn",onClick:a[2]||(a[2]=o=>h.value=!0)},{default:t(()=>[p(v(d(i)("settings.add_provider")),1)]),_:1})]),g("div",qe,v(d(i)("settings.providers_total",[n().length,n().length>1?"s":""])),1),s(ge,{variant:"comfortable",class:"mt-4"},{default:t(()=>[s(ye,null,{default:t(()=>[(m(!0),$(N,null,q(n(),o=>(m(),C(Ce,{key:o.instance_id,cols:"12",md:"6",lg:"4",class:"d-flex"},{default:t(()=>[s(oe,{class:"flex-fill rounded-lg","min-height":"200px",onClick:V=>U(o.instance_id)},{prepend:t(()=>[s(ne,{domain:o.domain,size:50,class:"listitem-media-thumb",style:{"margin-top":"5px","margin-bottom":"5px"}},null,8,["domain"])]),append:t(()=>[d(c).syncTasks.value.filter(V=>V.provider_instance==o.instance_id).length>0?(m(),C(k,{key:0,variant:"text",size:"small",icon:"",title:d(i)("settings.sync_running")},{default:t(()=>[s(y,{color:"grey"},{default:t(()=>[...a[4]||(a[4]=[p(" mdi-sync ",-1)])]),_:1})]),_:1},8,["title"])):H("",!0),o.enabled?o.last_error?(m(),C(k,{key:2,variant:"text",size:"small",icon:"",title:o.last_error},{default:t(()=>[s(y,{color:"red"},{default:t(()=>[...a[6]||(a[6]=[p(" mdi-alert-circle ",-1)])]),_:1})]),_:1},8,["title"])):d(c).providers[o.instance_id]?.available?H("",!0):(m(),C(k,{key:3,variant:"text",size:"small",icon:"",title:d(i)("settings.not_loaded")},{default:t(()=>[s(y,{icon:"mdi-timer-sand"})]),_:1},8,["title"])):(m(),C(k,{key:1,variant:"text",size:"small",icon:"",title:d(i)("settings.provider_disabled")},{default:t(()=>[s(y,{color:"grey"},{default:t(()=>[...a[5]||(a[5]=[p(" mdi-cancel ",-1)])]),_:1})]),_:1},8,["title"])),s(k,{variant:"text",size:"small",icon:"",title:r(o.type)},{default:t(()=>[s(y,{icon:l(o.type)},null,8,["icon"])]),_:2},1032,["title"]),s(le,{size:"x-small",variant:"flat",class:"mx-1 text-uppercase",color:u(d(c).providerManifests[o.domain]?.stage)},{default:t(()=>[p(v(d(i)(String(d(c).providerManifests[o.domain]?.stage||"").toLowerCase())),1)]),_:2},1032,["color"]),s(k,{icon:"mdi-dots-vertical",size:"small",variant:"text",onClick:G(V=>S(V,o),["stop"])},null,8,["onClick"])]),default:t(()=>[s(ie,null,{default:t(()=>[p(v(E(o)),1)]),_:2},1024),s(X,{class:pe(["provider-description",{"truncated-text":R(d(c).providerManifests[o.domain].description)}])},{default:t(()=>[p(v(d(c).providerManifests[o.domain].description),1)]),_:2},1032,["class"])]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1})]),_:1}),s(Ue,{show:h.value,"onUpdate:show":a[3]||(a[3]=o=>h.value=o)},null,8,["show"])],64))}}),et=se(Oe,[["__scopeId","data-v-eb6e0110"]]);export{et as default};
@@ -1 +0,0 @@
1
- import{I as c}from"./ItemsListing-C49HRbSG.js";import{I as f,_ as v}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-BrpUE5JN.js";import{av as h,H as y,J as w,aw as I,x as V,aD as n,ay as p,d as g,ax as s,aL as m,bO as k}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";import"./marquee_text_sync-D3Qu1KPM.js";import"./VDialog-BPGCUfED.js";const Q=h({__name:"RadioDetails",props:{itemId:{},provider:{}},setup(a){const t=a,e=y(),l=async function(){e.value=await m.getRadio(t.itemId,t.provider)};w(()=>t.itemId,o=>{o&&l()},{immediate:!0});const d=async function(o){const i=[];if(t.provider=="library"){const r=await m.getRadioVersions(t.itemId,t.provider);i.push(...r)}for(const r of k(e.value)){const u=await m.getRadioVersions(r.item_id,r.provider_instance);i.push(...u)}return i};return(o,i)=>(s(),I("section",null,[V(f,{item:e.value},null,8,["item"]),e.value?(s(),n(c,{key:0,itemtype:"radioversions","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-library":!1,"show-radio-number":!1,"show-duration":!1,"load-items":d,"sort-keys":["provider","sort_name"],title:o.$t("other_versions"),"hide-on-empty":!0,checksum:a.provider+a.itemId},null,8,["parent-item","title","checksum"])):p("",!0),i[0]||(i[0]=g("br",null,null,-1)),e.value?(s(),n(v,{key:1,"item-details":e.value},null,8,["item-details"])):p("",!0)]))}});export{Q as default};
@@ -1 +0,0 @@
1
- import{C as T}from"./Container-BJrCSObY.js";import{I}from"./ItemsListing-C49HRbSG.js";import{T as $}from"./Toolbar-DKtKPcsg.js";import{W as d}from"./WidgetRow-DaVwmU5p.js";import{av as A,H as v,J as y,a3 as C,au as a,a4 as L,aw as g,x as c,aB as b,ax as i,aD as n,ay as m,az as l,bB as V,ag as B,aC as O,bC as R,aM as o,bD as D,aL as K}from"./index-9wFVyQJF.js";import{V as U}from"./VTextField-DJZc05eK.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";import"./VToolbar-BKGXqxdt.js";const M={key:1},P={key:2},se=A({__name:"Search",setup(F){const p=v(!1),t=v(),s=v(!1),h=v();y(()=>a.globalSearchTerm,()=>{clearTimeout(h.value),h.value=setTimeout(()=>{f(a.globalSearchTerm,a.globalSearchType)},1e3)},{immediate:!0}),y(()=>a.globalSearchType,()=>{f(a.globalSearchTerm,a.globalSearchType)});const f=async function(e,u){s.value=!0,localStorage.setItem("globalsearch",e||"");const r=a.globalSearchType?50:8,k=u?[u]:void 0;e?t.value=await K.search(e,k,r):t.value=void 0,s.value=!1};C(()=>{if(!a.globalSearchTerm){const e=localStorage.getItem("globalsearch");e&&e!=="null"&&(a.globalSearchTerm=e)}});const w=function(e){e.ctrlKey||e.altKey||e.metaKey||(!p.value&&e.key=="Backspace"&&a.globalSearchTerm?a.globalSearchTerm=a.globalSearchTerm.slice(0,-1):!p.value&&e.key.length==1&&(a.globalSearchTerm+=e.key))};document.addEventListener("keyup",w),L(()=>{document.removeEventListener("keyup",w)});const S=function(e){return t.value?e==o.TRACK?t.value.tracks:e==o.ARTIST?t.value.artists:e==o.ALBUM?t.value.albums:e==o.PLAYLIST?t.value.playlists:e==o.PODCAST?t.value.podcasts:e==o.AUDIOBOOK?t.value.audiobooks:e==o.RADIO?t.value.radio:[]:[]};return(e,u)=>(i(),g("section",null,[c($,{icon:"mdi-magnify",title:e.$t("global_search")},null,8,["title"]),c(T,{variant:"default"},{default:b(()=>[c(U,{id:"searchInput",modelValue:l(a).globalSearchTerm,"onUpdate:modelValue":u[0]||(u[0]=r=>l(a).globalSearchTerm=r),clearable:"","prepend-inner-icon":"mdi-magnify",label:e.$t("type_to_search"),"hide-details":"",variant:"outlined",onFocus:u[1]||(u[1]=r=>p.value=!0),onBlur:u[2]||(u[2]=r=>p.value=!1)},null,8,["modelValue","label"]),c(V,{modelValue:l(a).globalSearchType,"onUpdate:modelValue":u[3]||(u[3]=r=>l(a).globalSearchType=r),style:{"margin-top":"10px","margin-left":"10px"}},{default:b(()=>[(i(!0),g(B,null,O([void 0,l(o).TRACK,l(o).ARTIST,l(o).ALBUM,l(o).PLAYLIST,l(o).PODCAST,l(o).AUDIOBOOK,l(o).RADIO],r=>(i(),n(R,{key:r,text:e.$t(r?r+"s":"searchtype_all"),value:r},null,8,["text","value"]))),128))]),_:1},8,["modelValue"]),s.value?(i(),n(D,{key:0,color:"accent",height:"4",indeterminate:"",rounded:"",style:{"margin-top":"15px"}})):m("",!0),l(a).globalSearchType?s.value?m("",!0):(i(),g("div",P,[c(I,{itemtype:`${l(a).globalSearchType}s`,"show-provider":!0,"show-favorites-only-filter":!1,"show-select-button":!1,"show-refresh-button":!1,"load-items":async r=>S(l(a).globalSearchType),title:e.$t(`${l(a).globalSearchType}s`),"allow-key-hooks":!1,"show-search-button":!1,"infinite-scroll":!0,"sort-keys":[],style:{padding:"0"}},null,8,["itemtype","load-items","title"])])):(i(),g("div",M,[t.value&&!s.value?(i(),n(d,{key:0,"widget-row":{title:e.$t("tracks"),icon:"mdi-file-music",items:t.value.tracks},"show-provider-on-cover":!0},null,8,["widget-row"])):m("",!0),t.value&&!s.value?(i(),n(d,{key:1,"widget-row":{title:e.$t("artists"),icon:"mdi-account-music",items:t.value.artists},"show-provider-on-cover":!0},null,8,["widget-row"])):m("",!0),t.value&&!s.value?(i(),n(d,{key:2,"widget-row":{title:e.$t("albums"),icon:"mdi-album",items:t.value.albums},"show-provider-on-cover":!0},null,8,["widget-row"])):m("",!0),t.value&&!s.value?(i(),n(d,{key:3,"widget-row":{title:e.$t("playlists"),icon:"mdi-playlist-music",items:t.value.playlists},"show-provider-on-cover":!0},null,8,["widget-row"])):m("",!0),t.value&&!s.value?(i(),n(d,{key:4,"widget-row":{title:e.$t("podcasts"),icon:"mdi-podcast",items:t.value.podcasts},"show-provider-on-cover":!0},null,8,["widget-row"])):m("",!0),t.value&&!s.value?(i(),n(d,{key:5,"widget-row":{title:e.$t("audiobooks"),icon:"mdi-book-play-outline",items:t.value.audiobooks},"show-provider-on-cover":!0},null,8,["widget-row"])):m("",!0),t.value&&!s.value?(i(),n(d,{key:6,"widget-row":{title:e.$t("radios"),icon:"mdi-radio",items:t.value.radio},"show-provider-on-cover":!0},null,8,["widget-row"])):m("",!0)]))]),_:1})]))}});export{se as default};
@@ -1 +0,0 @@
1
- import{C as x}from"./Container-BJrCSObY.js";import{T as z}from"./Toolbar-DKtKPcsg.js";import{g as k,p as V,b as B,d as _,n as S,e as w,c as I,ci as N,r as g,al as j,x as i,ad as R,A as T,cj as E,i as F,j as G,l as M,w as $,t as b,B as H,D as J,ck as Q,aG as h,ak as U,ag as A,av as q,bG as K,bt as W,aA as X,aw as D,aD as y,aB as l,aQ as Y,aU as Z,ax as m,aJ as ee,aC as te,aE as se,az as C,aH as ae,bc as P,aI as O,bI as re,by as ie,aO as ne,aT as le}from"./index-9wFVyQJF.js";import{M as oe}from"./index-kQIztB-E.js";import{_ as de}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./VContainer-Bmll2nQh.js";import"./VToolbar-BKGXqxdt.js";const ue=V({divider:[Number,String],...I()},"VBreadcrumbsDivider"),ce=k()({name:"VBreadcrumbsDivider",props:ue(),setup(e,o){let{slots:t}=o;return B(()=>_("li",{"aria-hidden":"true",class:w(["v-breadcrumbs-divider",e.class]),style:S(e.style)},[t?.default?.()??e.divider])),{}}}),me=V({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...I(),...E(),...T({tag:"li"})},"VBreadcrumbsItem"),ge=k()({name:"VBreadcrumbsItem",props:me(),setup(e,o){let{slots:t,attrs:p}=o;const u=N(e,p),d=g(()=>e.active||u.isActive?.value),{textColorClasses:v,textColorStyles:f}=j(()=>d.value?e.activeColor:e.color);return B(()=>i(e.tag,{class:w(["v-breadcrumbs-item",{"v-breadcrumbs-item--active":d.value,"v-breadcrumbs-item--disabled":e.disabled,[`${e.activeClass}`]:d.value&&e.activeClass},v.value,e.class]),style:S([f.value,e.style]),"aria-current":d.value?"page":void 0},{default:()=>[u.isLink.value?_("a",R({class:"v-breadcrumbs-item--link",onClick:u.navigate},u.linkProps),[t.default?.()??e.title]):t.default?.()??e.title]})),{}}}),pe=V({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:"/"},icon:Q,items:{type:Array,default:()=>[]},...I(),...J(),...H(),...T({tag:"ul"})},"VBreadcrumbs"),ve=k()({name:"VBreadcrumbs",props:pe(),setup(e,o){let{slots:t}=o;const{backgroundColorClasses:p,backgroundColorStyles:u}=F(()=>e.bgColor),{densityClasses:d}=G(e),{roundedClasses:v}=M(e);$({VBreadcrumbsDivider:{divider:b(()=>e.divider)},VBreadcrumbsItem:{activeClass:b(()=>e.activeClass),activeColor:b(()=>e.activeColor),color:b(()=>e.color),disabled:b(()=>e.disabled)}});const f=g(()=>e.items.map(a=>typeof a=="string"?{item:{title:a},raw:a}:{item:a,raw:a}));return B(()=>{const a=!!(t.prepend||e.icon);return i(e.tag,{class:w(["v-breadcrumbs",p.value,d.value,v.value,e.class]),style:S([u.value,e.style])},{default:()=>[a&&_("li",{key:"prepend",class:"v-breadcrumbs__prepend"},[t.prepend?i(U,{key:"prepend-defaults",disabled:!e.icon,defaults:{VIcon:{icon:e.icon,start:!0}}},t.prepend):i(h,{key:"prepend-icon",start:!0,icon:e.icon},null)]),f.value.map((n,s,r)=>{let{item:c,raw:L}=n;return _(A,null,[t.item?.({item:c,index:s})??i(ge,R({key:s,disabled:s>=r.length-1},typeof c=="string"?{title:c}:c),{default:t.title?()=>t.title?.({item:c,index:s}):void 0}),s<r.length-1&&i(ce,null,{default:t.divider?()=>t.divider?.({item:L,index:s}):void 0})])}),t.default?.()]})}),{}}}),fe=q({__name:"Settings",setup(e){const o=X(),{t}=K(),p=[{name:"profile",label:"auth.profile",description:"settings.profile_description",icon:"mdi-account-cog",color:"indigo",route:{name:"profile"},adminOnly:!1},{name:"providers",label:"settings.providers",description:"settings.providers_description",icon:"mdi-monitor-dashboard",color:"blue",route:{name:"providersettings"},adminOnly:!0},{name:"players",label:"settings.players",description:"settings.players_description",icon:"mdi-speaker-multiple",color:"green",route:{name:"playersettings"},adminOnly:!0},{name:"core",label:"settings.core",description:"settings.core_description",icon:"mdi-server",color:"purple",route:{name:"coresettings"},adminOnly:!0},{name:"frontend",label:"settings.frontend",description:"settings.frontend_description",icon:"mdi-palette",color:"orange",route:{name:"frontendsettings"},adminOnly:!1},{name:"users",label:"auth.user_management",description:"settings.users_description",icon:"mdi-account-multiple",color:"teal",route:{name:"usersettings"},adminOnly:!0}],u=g(()=>{const a=W.isAdmin();return p.filter(n=>!n.adminOnly||a)}),d=g(()=>o.currentRoute.value.name==="settings"),v=g(()=>{const a=o.currentRoute.value.name?.toString()||"";return a==="profile"?"profile":a.includes("player")?"players":a.includes("core")?"core":a.includes("frontend")?"frontend":a.includes("user")?"users":"providers"}),f=g(()=>{const a=o.currentRoute.value,n=a.name?.toString()||"",s=[{title:t("settings.settings"),disabled:!1,href:"#",to:{name:"settings"}}];if(!d.value){const r=v.value;r==="profile"?s.push({title:t("auth.profile"),disabled:n==="profile",to:{name:"profile"}}):r==="players"?s.push({title:t("settings.players"),disabled:n==="playersettings",to:{name:"playersettings"}}):r==="core"?s.push({title:t("settings.core"),disabled:n==="coresettings",to:{name:"coresettings"}}):r==="frontend"?s.push({title:t("settings.frontend"),disabled:n==="frontendsettings",to:{name:"frontendsettings"}}):r==="users"?s.push({title:t("settings.users"),disabled:n==="usersettings",to:{name:"usersettings"}}):r==="providers"&&s.push({title:t("settings.providers"),disabled:n==="providersettings",to:{name:"providersettings"}})}return oe(n).with("addproviderdetails",()=>{s.push({title:t("settings.setup_provider",[a.params.domain||""]),disabled:!0})}).with("editprovider",()=>{s.push({title:t("settings.edit_provider",[a.params.instanceId||""]),disabled:!0})}).with("addgroup",()=>{s.push({title:t("settings.add_group_player"),disabled:!0})}).with("editplayer",()=>{s.push({title:t("settings.player_settings"),disabled:!0})}).with("editcore",()=>{s.push({title:t("settings.settings"),disabled:!0})}).otherwise(()=>{}),s});return(a,n)=>{const s=Z("router-view");return m(),D("div",null,[i(z,{icon:"mdi-cog-outline","show-loading":!0},{title:l(()=>[i(ve,{items:f.value,class:"pa-0"},null,8,["items"])]),_:1}),i(Y),d.value?(m(),y(x,{key:0,variant:"comfortable",class:"settings-overview"},{default:l(()=>[i(ne,{class:"settings-main-card"},{default:l(()=>[i(ee,{class:"settings-list"},{default:l(()=>[(m(!0),D(A,null,te(u.value,r=>(m(),y(se,{key:r.name,ripple:!0,class:"settings-list-item",onClick:c=>C(o).push(r.route)},{prepend:l(()=>[i(ie,{color:r.color,size:"48"},{default:l(()=>[i(h,{icon:r.icon,size:"24",color:"white"},null,8,["icon"])]),_:2},1032,["color"])]),append:l(()=>[i(h,{icon:"mdi-chevron-right"})]),default:l(()=>[i(ae,{class:"text-h6"},{default:l(()=>[P(O(C(t)(r.label)),1)]),_:2},1024),i(re,null,{default:l(()=>[P(O(C(t)(r.description)),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})):(m(),y(s,{key:1,app:""},{default:l(({Component:r})=>[(m(),y(le(r)))]),_:1}))])}}}),Be=de(fe,[["__scopeId","data-v-026ec39a"]]);export{Be as default};
@@ -1 +0,0 @@
1
- import{g as O,p as U,i as W,l as E,G,al as X,f as Y,cl as J,a1 as K,b as j,cm as q,x as l,ad as y,a2 as H,cn as Q,m as Z,A as p,B as I,c8 as _,c as ee,ck as te,d as h,W as ae,L as le,U as oe,aG as f,av as ie,aD as r,aF as w,aB as a,az as d,b0 as B,ax as i,K as m,aW as N,ay as v,aw as u,aL as k,b3 as P,aC as V,ag as $,aJ as T,a$ as x,au as ne,aI as se,aE as z}from"./index-9wFVyQJF.js";import{V as re}from"./VToolbar-BKGXqxdt.js";import{_ as de}from"./_plugin-vue_export-helper-DlAUqK2U.js";const ce=U({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:te,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...ee(),..._({location:"top end"}),...I(),...p(),...Z(),...Q({transition:"scale-rotate-transition"}),...H()},"VBadge"),A=O()({name:"VBadge",inheritAttrs:!1,props:ce(),setup(e,b){const{backgroundColorClasses:C,backgroundColorStyles:n}=W(()=>e.color),{roundedClasses:s}=E(e),{t}=G(),{textColorClasses:o,textColorStyles:g}=X(()=>e.textColor),{themeClasses:S}=Y(),{locationStyles:M}=J(e,!0,c=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(c)?Number(e.offsetY??0):["left","right"].includes(c)?Number(e.offsetX??0):0)),{dimensionStyles:D}=K(e);return j(()=>{const c=Number(e.content),L=!e.max||isNaN(c)?e.content:c<=Number(e.max)?c:`${e.max}+`,[R,F]=q(b.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return l(e.tag,y({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},F,{style:e.style}),{default:()=>[h("div",{class:"v-badge__wrapper"},[b.slots.default?.(),l(ae,{transition:e.transition},{default:()=>[le(h("span",y({class:["v-badge__badge",S.value,C.value,s.value,o.value],style:[n.value,g.value,D.value,e.inline?{}:M.value],"aria-atomic":"true","aria-label":t(e.label,c),"aria-live":"polite",role:"status"},R),[e.dot?void 0:b.slots.badge?b.slots.badge?.():e.icon?l(f,{icon:e.icon},null):L]),[[oe,e.modelValue]])]})])]})}),{}}}),ue=""+new URL("icon-U5wS6iOz.svg",import.meta.url).href,fe={key:0,class:"mobile-brand"},be={key:1},ve=ie({__name:"Toolbar",props:{color:{default:"transparent"},icon:{default:void 0},title:{default:void 0},menuItems:{default:void 0},enforceOverflowMenu:{type:Boolean,default:!1},showLoading:{type:Boolean,default:void 0},home:{type:Boolean},iconAction:{type:Function,default:void 0}},emits:["iconClicked","titleClicked"],setup(e,{emit:b}){const C=b;return(n,s)=>(i(),r(re,{color:e.color,class:"header"},w({title:a(()=>[N(n.$slots,"title",{},()=>[d(ne).mobileLayout&&e.home?(i(),u("div",fe,[...s[2]||(s[2]=[h("img",{src:ue,alt:"Music Assistant",class:"mobile-brand-logo"},null,-1),h("span",{class:"mobile-brand-text"},"Music Assistant",-1)])])):e.title?(i(),u("button",{key:1,onClick:s[1]||(s[1]=t=>C("titleClicked"))},se(e.title),1)):v("",!0)],!0)]),_:2},[(!d(B)({breakpoint:"tablet"})||e.iconAction)&&e.icon?{name:"prepend",fn:a(()=>[l(m,{icon:e.icon,size:"large",disabled:e.iconAction==null,style:{opacity:"0.8"},onClick:s[0]||(s[0]=t=>e.iconAction())},null,8,["icon","disabled"])]),key:"0"}:void 0,n.$slots.append?{name:"append",fn:a(()=>[N(n.$slots,"append",{},void 0,!0)]),key:"1"}:e.menuItems?.length?{name:"append",fn:a(()=>[e.showLoading&&(d(k).fetchesInProgress.value.length>0||d(k).syncTasks.value.length>0)?(i(),r(P,{key:0,color:"primary",indeterminate:"",title:n.$t("tooltip.loading")},null,8,["title"])):v("",!0),(i(!0),u($,null,V(e.menuItems.filter(t=>!t.hide),t=>(i(),u("div",{key:t.label},[t.subItems?.length?(i(),r(x,{key:0,location:"bottom end",scrim:"",density:"compact",slim:"",tile:""},{activator:a(({props:o})=>[l(m,y({variant:"text",style:{width:"40px"}},{ref_for:!0},o,{title:n.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0}),{default:a(()=>[l(A,{"model-value":t.active==!0,color:"error",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22px"},null,8,["icon","color"])]),_:2},1032,["model-value"])]),_:2},1040,["title","disabled"])]),default:a(()=>[l(T,null,{default:a(()=>[(i(!0),u($,null,V(t.subItems.filter(o=>o.hide!=!0),(o,g)=>(i(),r(z,{key:g,title:n.$t(o.label,o.labelArgs||[]),disabled:o.disabled==!0,onClick:S=>o.action?o.action():""},w({append:a(()=>[o.selected?(i(),r(f,{key:0,icon:"mdi-check"})):v("",!0)]),_:2},[o.icon?{name:"prepend",fn:a(()=>[l(f,{icon:o.icon},null,8,["icon"])]),key:"0"}:void 0]),1032,["title","disabled","onClick"]))),128))]),_:2},1024)]),_:2},1024)):!e.enforceOverflowMenu&&(d(B)("bp5")||t.overflowAllowed==!1)?(i(),r(m,{key:1,variant:"text",style:{width:"40px"},title:n.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0,onClick:t.action},{default:a(()=>[l(A,{"model-value":t.active==!0,color:"error",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22px"},null,8,["icon","color"])]),_:2},1032,["model-value"])]),_:2},1032,["title","disabled","onClick"])):v("",!0)]))),128)),(!d(B)("bp5")||e.enforceOverflowMenu)&&e.menuItems.filter(t=>t.hide!=!0&&!t.subItems?.length&&t.overflowAllowed!==!1).length?(i(),u("div",be,[l(x,{location:"bottom end",scrim:""},{activator:a(({props:t})=>[l(m,y({variant:"plain",style:{width:"15px","margin-left":"-10px"}},t),{default:a(()=>[l(f,{icon:"mdi-dots-vertical",color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22",style:{"margin-right":"-5px",width:"15px"}},null,8,["color"])]),_:1},16)]),default:a(()=>[l(T,{density:"compact",slim:"",tile:""},{default:a(()=>[(i(!0),u($,null,V(e.menuItems.filter(t=>t.hide!=!0&&!t.subItems?.length&&t.overflowAllowed!==!1),(t,o)=>(i(),r(z,{key:o,title:n.$t(t.label,t.labelArgs||[]),disabled:t.disabled==!0,onClick:g=>t.action?t.action():""},w({_:2},[t.icon?{name:"prepend",fn:a(()=>[l(A,{"model-value":t.active==!0,color:"error",dot:""},{default:a(()=>[l(f,{icon:t.icon,color:n.$vuetify.theme.current.dark?"#fff":"#000",size:"22px"},null,8,["icon","color"])]),_:2},1032,["model-value"])]),key:"0"}:void 0]),1032,["title","disabled","onClick"]))),128))]),_:1})]),_:1})])):v("",!0)]),key:"2"}:e.showLoading?{name:"append",fn:a(()=>[d(k).fetchesInProgress.value.length>0||d(k).syncTasks.value.length>0?(i(),r(P,{key:0,color:"primary",indeterminate:""})):v("",!0)]),key:"3"}:void 0]),1032,["color"]))}}),ye=de(ve,[["__scopeId","data-v-090414e0"]]);export{ye as T,A as V,ue as _};
@@ -1 +0,0 @@
1
- import{I as u}from"./ItemsListing-C49HRbSG.js";import{I as c,_ as f}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-BrpUE5JN.js";import{av as y,H as k,J as w,aw as b,x as h,aD as s,ay as m,d as n,az as I,aL as o,ax as l}from"./index-9wFVyQJF.js";import"./Container-BJrCSObY.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./Toolbar-DKtKPcsg.js";import"./VToolbar-BKGXqxdt.js";import"./Button-C-VEz_LI.js";import"./ListItem-UwdbG-Br.js";import"./NowPlayingBadge.vue_vue_type_style_index_0_lang-BsGozMKb.js";import"./VCheckboxBtn-DtwUx7x8.js";import"./VInput-Bym6CXFb.js";import"./MediaItemThumb-CIzEvLC1.js";import"./PanelviewItemCompact-Bh2HNG1g.js";import"./VTextField-DJZc05eK.js";import"./VSnackbar-B7zT2MUe.js";import"./layout-BdbtgIRG.js";import"./VRow-plcqQvnb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VAlert-D47QZ7qK.js";import"./marquee_text_sync-D3Qu1KPM.js";import"./VDialog-BPGCUfED.js";const Q=y({__name:"TrackDetails",props:{itemId:{},provider:{},album:{}},setup(r){const a=r,e=k(),p=async function(){e.value=await o.getTrack(a.itemId,a.provider,a.album)};w(()=>a.itemId,t=>{t&&p()},{immediate:!0});const d=async function(t){return await o.getTrackVersions(e.value.item_id,e.value.provider)},v=async function(t){return await o.getTrackAlbums(a.itemId,a.provider,t.libraryOnly)};return(t,i)=>(l(),b("section",null,[h(c,{item:e.value,"active-provider":r.provider},null,8,["item","active-provider"]),e.value?(l(),s(u,{key:0,itemtype:"trackalbums","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-library-only-filter":e.value.provider=="library"&&I(o).hasStreamingProviders.value,"show-track-number":!1,"show-refresh-button":!1,"load-items":v,"sort-keys":["name","sort_name","year","year_desc"],title:t.$t("appears_on"),path:r.provider+r.itemId,"allow-collapse":!0},null,8,["parent-item","show-library-only-filter","title","path"])):m("",!0),i[0]||(i[0]=n("br",null,null,-1)),e.value?(l(),s(u,{key:1,itemtype:"trackversions","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-track-number":!1,"load-items":d,"show-refresh-button":!1,"sort-keys":["name","sort_name","duration"],title:t.$t("other_versions"),"hide-on-empty":!0,path:r.provider+r.itemId,"allow-collapse":!0},null,8,["parent-item","title","path"])):m("",!0),i[1]||(i[1]=n("br",null,null,-1)),e.value?(l(),s(f,{key:2,"item-details":e.value},null,8,["item-details"])):m("",!0),i[2]||(i[2]=n("br",null,null,-1))]))}});export{Q as default};
@@ -1 +0,0 @@
1
- import{C as ie}from"./Container-BJrCSObY.js";import{L as H}from"./ListItem-UwdbG-Br.js";import{av as I,bG as B,H as $,r as j,J as Q,aD as T,aB as l,ax as V,x as e,bb as R,bc as g,aI as s,bS as P,bM as q,bN as S,K as C,aO as A,aL as z,co as w,cu as ee,d as y,aw as D,ay as L,au as X,aQ as me,by as F,aG as O,ag as J,aC as x,b8 as Z,a3 as ce,bC as pe,aj as ve,aK as fe}from"./index-9wFVyQJF.js";import{V as E}from"./VDialog-BPGCUfED.js";import{V as N}from"./VTextField-DJZc05eK.js";import{V as ae}from"./VSelect-FK85NUXM.js";import{_ as G}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./Button-C-VEz_LI.js";import"./VInput-Bym6CXFb.js";import"./VVirtualScroll-H5Wikvf-.js";import"./VCheckboxBtn-DtwUx7x8.js";const _e=I({__name:"CreateUserDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue","created"],setup(c,{emit:U}){const{t:u}=B(),n=c,d=U,_=$(!1),a=$({username:"",displayName:"",password:"",confirmPassword:"",role:"user"}),i=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],r={required:t=>!!t||u("auth.field_required"),usernameLength:t=>t.length>=3||u("auth.username_min_length"),passwordLength:t=>t.length>=8||u("auth.password_min_length"),passwordMatch:t=>t===a.value.password||u("auth.passwords_must_match")},o=j(()=>a.value.username.length>=3&&a.value.password.length>=8&&a.value.password===a.value.confirmPassword&&a.value.role),m=()=>{a.value={username:"",displayName:"",password:"",confirmPassword:"",role:ee.USER}},v=()=>{m(),d("update:modelValue",!1)},M=async()=>{_.value=!0;try{await z.createUser(a.value.username,a.value.password,a.value.role,a.value.displayName||void 0)?(w.success(u("auth.user_created")),m(),d("created"),d("update:modelValue",!1)):w.error(u("auth.user_create_failed"))}catch{w.error(u("auth.user_create_failed"))}finally{_.value=!1}};return Q(()=>n.modelValue,t=>{t||m()}),(t,h)=>(V(),T(E,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":h[5]||(h[5]=f=>d("update:modelValue",f))},{default:l(()=>[e(A,null,{default:l(()=>[e(R,{class:"text-h6 pa-6 pb-4"},{default:l(()=>[g(s(t.$t("auth.create_user")),1)]),_:1}),e(P,{class:"px-6 pb-2"},{default:l(()=>[e(N,{modelValue:a.value.username,"onUpdate:modelValue":h[0]||(h[0]=f=>a.value.username=f),label:t.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[r.required,r.usernameLength],autofocus:""},null,8,["modelValue","label","rules"]),e(N,{modelValue:a.value.displayName,"onUpdate:modelValue":h[1]||(h[1]=f=>a.value.displayName=f),label:t.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-2",hint:t.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),e(N,{modelValue:a.value.password,"onUpdate:modelValue":h[2]||(h[2]=f=>a.value.password=f),label:t.$t("auth.password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[r.required,r.passwordLength]},null,8,["modelValue","label","rules"]),e(N,{modelValue:a.value.confirmPassword,"onUpdate:modelValue":h[3]||(h[3]=f=>a.value.confirmPassword=f),label:t.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[r.required,r.passwordMatch]},null,8,["modelValue","label","rules"]),e(ae,{modelValue:a.value.role,"onUpdate:modelValue":h[4]||(h[4]=f=>a.value.role=f),label:t.$t("auth.role"),items:i,variant:"outlined",density:"comfortable"},null,8,["modelValue","label"])]),_:1}),e(q,{class:"pa-6 pt-4"},{default:l(()=>[e(S),e(C,{variant:"text",onClick:v},{default:l(()=>[g(s(t.$t("cancel")),1)]),_:1}),e(C,{color:"primary",variant:"flat",loading:_.value,disabled:!o.value,onClick:M},{default:l(()=>[g(s(t.$t("create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),he={class:"text-body-1 mb-4"},be={key:0,class:"user-name-box"},ke=I({__name:"DeleteUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","deleted"],setup(c,{emit:U}){const{t:u}=B(),n=c,d=U,_=$(!1),a=async()=>{if(n.user){_.value=!0;try{await z.deleteUser(n.user.user_id)?(w.success(u("auth.user_deleted")),d("deleted"),d("update:modelValue",!1)):w.error(u("auth.user_delete_failed"))}catch{w.error(u("auth.user_delete_failed"))}finally{_.value=!1}}};return(i,r)=>(V(),T(E,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":r[1]||(r[1]=o=>d("update:modelValue",o))},{default:l(()=>[e(A,null,{default:l(()=>[e(R,{class:"text-h6 pl-6 pb-0"},{default:l(()=>[g(s(i.$t("auth.delete_user")),1)]),_:1}),e(P,{class:"px-6 pb-2"},{default:l(()=>[y("p",he,s(i.$t("auth.confirm_delete_user")),1),c.user?(V(),D("div",be,s(c.user.display_name||c.user.username),1)):L("",!0)]),_:1}),e(q,{class:"pa-6 pt-4"},{default:l(()=>[e(S),e(C,{variant:"text",onClick:r[0]||(r[0]=o=>d("update:modelValue",!1))},{default:l(()=>[g(s(i.$t("cancel")),1)]),_:1}),e(C,{color:"error",variant:"flat",loading:_.value,onClick:a},{default:l(()=>[g(s(i.$t("auth.delete_user")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Ve=G(ke,[["__scopeId","data-v-8cbf5f8f"]]),ye={class:"text-body-1 mb-4"},we={key:0,class:"user-name-box"},ge=I({__name:"DisableUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","disabled"],setup(c,{emit:U}){const{t:u}=B(),n=c,d=U,_=$(!1),a=async()=>{if(n.user){_.value=!0;try{await z.disableUser(n.user.user_id)?(w.success(u("auth.user_disabled")),d("disabled"),d("update:modelValue",!1)):w.error(u("auth.user_disable_failed"))}catch{w.error(u("auth.user_disable_failed"))}finally{_.value=!1}}};return(i,r)=>(V(),T(E,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":r[1]||(r[1]=o=>d("update:modelValue",o))},{default:l(()=>[e(A,null,{default:l(()=>[e(R,{class:"text-h6 pl-6 pb-0"},{default:l(()=>[g(s(i.$t("auth.disable_user")),1)]),_:1}),e(P,{class:"px-6 pb-2"},{default:l(()=>[y("p",ye,s(i.$t("auth.confirm_disable_user")),1),c.user?(V(),D("div",we,s(c.user.display_name||c.user.username),1)):L("",!0)]),_:1}),e(q,{class:"pa-6 pt-4"},{default:l(()=>[e(S),e(C,{variant:"text",onClick:r[0]||(r[0]=o=>d("update:modelValue",!1))},{default:l(()=>[g(s(i.$t("cancel")),1)]),_:1}),e(C,{color:"error",variant:"flat",loading:_.value,onClick:a},{default:l(()=>[g(s(i.$t("auth.disable_user")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),$e=G(ge,[["__scopeId","data-v-9638370d"]]),Ue=I({__name:"EditUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","updated"],setup(c,{emit:U}){const{t:u}=B(),n=c,d=U,_=$(!1),a=$({username:"",displayName:"",avatarUrl:"",role:"user",password:"",confirmPassword:""}),i=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],r={required:t=>!!t||u("auth.field_required"),usernameLength:t=>t.length>=3||u("auth.username_min_length"),passwordLength:t=>t.length>=8||u("auth.password_min_length"),passwordMatch:t=>t===a.value.password||u("auth.passwords_must_match")},o=j(()=>!n.user||!X.currentUser?!1:n.user.user_id===X.currentUser.user_id),m=()=>{n.user?a.value={username:n.user.username,displayName:n.user.display_name||"",avatarUrl:n.user.avatar_url||"",role:n.user.role,password:"",confirmPassword:""}:a.value={username:"",displayName:"",avatarUrl:"",role:ee.USER,password:"",confirmPassword:""}},v=()=>{m(),d("update:modelValue",!1)},M=async()=>{if(n.user){if(a.value.password&&a.value.password!==a.value.confirmPassword){w.error(u("auth.passwords_must_match"));return}_.value=!0;try{const t={};a.value.username!==n.user.username&&(t.username=a.value.username),a.value.displayName!==(n.user.display_name||"")&&(t.displayName=a.value.displayName),a.value.avatarUrl!==(n.user.avatar_url||"")&&(t.avatarUrl=a.value.avatarUrl),a.value.role!==n.user.role&&!o.value&&(t.role=a.value.role),a.value.password&&(t.password=a.value.password),await z.updateUser(n.user.user_id,t),w.success(u("auth.user_updated")),m(),d("updated"),d("update:modelValue",!1)}catch{w.error(u("auth.user_update_failed"))}finally{_.value=!1}}};return Q(()=>n.user,m,{immediate:!0}),Q(()=>n.modelValue,t=>{t&&m()}),(t,h)=>(V(),T(E,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":h[6]||(h[6]=f=>d("update:modelValue",f))},{default:l(()=>[e(A,null,{default:l(()=>[e(R,{class:"text-h6 pa-6 pb-4"},{default:l(()=>[g(s(t.$t("auth.edit_user")),1)]),_:1}),e(P,{class:"px-6 pb-2"},{default:l(()=>[e(N,{modelValue:a.value.username,"onUpdate:modelValue":h[0]||(h[0]=f=>a.value.username=f),label:t.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[r.required,r.usernameLength]},null,8,["modelValue","label","rules"]),e(N,{modelValue:a.value.displayName,"onUpdate:modelValue":h[1]||(h[1]=f=>a.value.displayName=f),label:t.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-6",hint:t.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),e(N,{modelValue:a.value.avatarUrl,"onUpdate:modelValue":h[2]||(h[2]=f=>a.value.avatarUrl=f),label:t.$t("auth.avatar_url"),variant:"outlined",density:"comfortable",class:"mb-6",hint:t.$t("auth.avatar_url_hint"),"persistent-hint":""},null,8,["modelValue","label","hint"]),e(ae,{modelValue:a.value.role,"onUpdate:modelValue":h[3]||(h[3]=f=>a.value.role=f),label:t.$t("auth.role"),items:i,variant:"outlined",density:"comfortable",disabled:o.value,class:"mb-2"},null,8,["modelValue","label","disabled"]),e(N,{modelValue:a.value.password,"onUpdate:modelValue":h[4]||(h[4]=f=>a.value.password=f),label:t.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",hint:t.$t("auth.password_optional_hint"),"persistent-hint":"",rules:a.value.password?[r.passwordLength]:[]},null,8,["modelValue","label","hint","rules"]),a.value.password?(V(),T(N,{key:0,modelValue:a.value.confirmPassword,"onUpdate:modelValue":h[5]||(h[5]=f=>a.value.confirmPassword=f),label:t.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",rules:[r.passwordMatch]},null,8,["modelValue","label","rules"])):L("",!0)]),_:1}),e(q,{class:"pa-6 pt-4"},{default:l(()=>[e(S),e(C,{variant:"text",onClick:v},{default:l(()=>[g(s(t.$t("cancel")),1)]),_:1}),e(C,{color:"primary",variant:"flat",loading:_.value,onClick:M},{default:l(()=>[g(s(t.$t("save")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Ce=I({__name:"CreateTokenDialog",props:{modelValue:{type:Boolean},userId:{}},emits:["update:modelValue","created"],setup(c,{emit:U}){const{t:u}=B(),n=c,d=U,_=$(!1),a=$(""),i=()=>{a.value="",d("update:modelValue",!1)},r=async()=>{if(n.userId){_.value=!0;try{await z.createToken(a.value,n.userId)?(w.success(u("auth.token_created")),d("created"),i()):w.error(u("auth.token_create_failed"))}catch(o){w.error(o.message||u("auth.token_create_failed"))}finally{_.value=!1}}};return Q(()=>n.modelValue,o=>{o||(a.value="")}),(o,m)=>(V(),T(E,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":m[1]||(m[1]=v=>d("update:modelValue",v))},{default:l(()=>[e(A,null,{default:l(()=>[e(R,{class:"text-h6 pa-6 pb-4"},{default:l(()=>[g(s(o.$t("auth.create_token")),1)]),_:1}),e(P,{class:"px-6 pb-2"},{default:l(()=>[e(N,{modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=v=>a.value=v),label:o.$t("auth.token_name"),variant:"outlined",density:"comfortable",hint:o.$t("auth.token_name_hint"),"persistent-hint":"",autofocus:""},null,8,["modelValue","label","hint"])]),_:1}),e(q,{class:"pa-6 pt-4"},{default:l(()=>[e(S),e(C,{variant:"text",onClick:i},{default:l(()=>[g(s(o.$t("cancel")),1)]),_:1}),e(C,{color:"primary",variant:"flat",loading:_.value,disabled:!a.value,onClick:r},{default:l(()=>[g(s(o.$t("create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),De={class:"pa-4"},Te={class:"mb-2"},Ne={class:"section-subtitle mb-6"},Le={key:0,class:"empty-state"},Me={class:"text-medium-emphasis"},ze={key:1,class:"tokens-list"},Ie={class:"line-clamp-1"},Be={class:"token-meta"},Re={key:0,class:"token-divider"},Pe={key:1},qe={class:"pa-4"},Se={class:"section-header-with-action"},Ae={class:"w-100"},Ee={class:"d-flex justify-space-between align-center gap-2"},Fe={class:"mb-2"},Oe={class:"section-subtitle"},je={key:0,class:"empty-state"},Ge={class:"text-medium-emphasis"},Ke={key:1,class:"tokens-list"},Qe={class:"line-clamp-1"},Xe={class:"token-meta"},Ye={key:0,class:"token-divider"},He={key:1},Je=I({__name:"ManageTokensDialog",props:{modelValue:{type:Boolean},user:{},tokens:{}},emits:["update:modelValue","revoke","token-created"],setup(c,{emit:U}){const{t:u}=B(),n=c,d=U,_=$(!1),a=j(()=>n.tokens.filter(o=>!o.is_long_lived)),i=j(()=>n.tokens.filter(o=>o.is_long_lived)),r=o=>new Date(o).toLocaleString();return(o,m)=>(V(),T(E,{"model-value":c.modelValue,"max-width":"900",scrollable:"","onUpdate:modelValue":m[4]||(m[4]=v=>d("update:modelValue",v))},{default:l(()=>[e(A,null,{default:l(()=>[e(R,{class:"text-h6 pa-6 pb-4"},{default:l(()=>[g(s(o.$t("auth.tokens"))+" - "+s(c.user?.display_name||c.user?.username),1)]),_:1}),e(me),e(P,{class:"pa-0"},{default:l(()=>[y("div",De,[y("h3",Te,s(o.$t("auth.active_sessions")),1),y("p",Ne,s(o.$t("auth.active_sessions_description")),1),a.value.length===0?(V(),D("div",Le,[e(F,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:l(()=>[e(O,{icon:"mdi-devices",size:"32"})]),_:1}),y("p",Me,s(o.$t("auth.no_active_sessions")),1)])):(V(),D("div",ze,[(V(!0),D(J,null,x(a.value,v=>(V(),T(H,{key:v.token_id},{prepend:l(()=>[e(F,{color:"blue-grey-darken-2",size:"40"},{default:l(()=>[e(O,{icon:"mdi-devices",size:"20"})]),_:1})]),title:l(()=>[y("div",Ie,s(v.name),1)]),subtitle:l(()=>[y("div",Be,[y("span",null,s(o.$t("created"))+": "+s(r(v.created_at)),1),v.last_used_at?(V(),D("span",Re,"•")):L("",!0),v.last_used_at?(V(),D("span",Pe,s(o.$t("last_used"))+": "+s(r(v.last_used_at)),1)):L("",!0)])]),append:l(()=>[e(C,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:Z(M=>d("revoke",v),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]),y("div",qe,[y("div",Se,[y("div",Ae,[y("div",Ee,[y("h3",Fe,s(o.$t("auth.long_lived_tokens")),1),e(C,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",size:"small",onClick:m[0]||(m[0]=v=>_.value=!0)},{default:l(()=>[g(s(o.$t("auth.create_token")),1)]),_:1})]),y("p",Oe,s(o.$t("auth.long_lived_tokens_description")),1)])]),i.value.length===0?(V(),D("div",je,[e(F,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:l(()=>[e(O,{icon:"mdi-key-variant",size:"32"})]),_:1}),y("p",Ge,s(o.$t("auth.no_long_lived_tokens")),1)])):(V(),D("div",Ke,[(V(!0),D(J,null,x(i.value,v=>(V(),T(H,{key:v.token_id},{prepend:l(()=>[e(F,{color:"deep-purple-darken-2",size:"40"},{default:l(()=>[e(O,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:l(()=>[y("div",Qe,s(v.name),1)]),subtitle:l(()=>[y("div",Xe,[y("span",null,s(o.$t("created"))+": "+s(r(v.created_at)),1),v.last_used_at?(V(),D("span",Ye,"•")):L("",!0),v.last_used_at?(V(),D("span",He,s(o.$t("last_used"))+": "+s(r(v.last_used_at)),1)):L("",!0)])]),append:l(()=>[e(C,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:Z(M=>d("revoke",v),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))])]),_:1}),e(q,{class:"pa-6"},{default:l(()=>[e(S),e(C,{variant:"tonal",onClick:m[1]||(m[1]=v=>d("update:modelValue",!1))},{default:l(()=>[g(s(o.$t("close")),1)]),_:1})]),_:1})]),_:1}),e(Ce,{modelValue:_.value,"onUpdate:modelValue":m[2]||(m[2]=v=>_.value=v),"user-id":c.user?.user_id,onCreated:m[3]||(m[3]=v=>d("token-created"))},null,8,["modelValue","user-id"])]),_:1},8,["model-value"]))}}),xe=G(Je,[["__scopeId","data-v-19f1861f"]]),We={class:"text-body-1 mb-4"},Ze={key:0,class:"token-name-box"},ea=I({__name:"RevokeTokenDialog",props:{modelValue:{type:Boolean},token:{}},emits:["update:modelValue","revoked"],setup(c,{emit:U}){const{t:u}=B(),n=c,d=U,_=$(!1),a=async()=>{if(!n.token)return;_.value=!0;const i=!n.token.is_long_lived;try{await z.revokeToken(n.token.token_id)?(w.success(u(i?"auth.session_revoked":"auth.token_revoked")),d("revoked"),d("update:modelValue",!1)):w.error(u(i?"auth.session_revoke_failed":"auth.token_revoke_failed"))}catch{w.error(u(i?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{_.value=!1}};return(i,r)=>(V(),T(E,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":r[1]||(r[1]=o=>d("update:modelValue",o))},{default:l(()=>[e(A,null,{default:l(()=>[e(R,{class:"text-h6 pa-6 pb-4"},{default:l(()=>[g(s(c.token?.is_long_lived?i.$t("auth.revoke_token"):i.$t("auth.revoke_session")),1)]),_:1}),e(P,{class:"px-6 pb-2"},{default:l(()=>[y("p",We,s(c.token?.is_long_lived?i.$t("auth.revoke_token_confirm"):i.$t("auth.revoke_session_confirm")),1),c.token?(V(),D("div",Ze,s(c.token.name),1)):L("",!0)]),_:1}),e(q,{class:"pa-6 pt-4"},{default:l(()=>[e(S),e(C,{variant:"text",onClick:r[0]||(r[0]=o=>d("update:modelValue",!1))},{default:l(()=>[g(s(i.$t("cancel")),1)]),_:1}),e(C,{color:"error",variant:"flat",loading:_.value,onClick:a},{default:l(()=>[g(s(i.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),aa=G(ea,[["__scopeId","data-v-026d0253"]]),la={class:"users-header w-100"},ta={class:"user-avatar-wrapper"},sa={class:"line-clamp-1"},oa={class:"line-clamp-1"},ua={key:0,class:"text-center pa-8 text-medium-emphasis"},na=I({__name:"UserManagement",setup(c){const{t:U}=B(),u=$([]),n=$(""),d=$(!1),_=$(!1),a=$(!1),i=$(!1),r=$(!1),o=$(!1),m=$(null),v=$([]),M=$(null),t=j(()=>{if(!n.value)return u.value;const b=n.value.toLowerCase();return u.value.filter(p=>{const k=(p.display_name||p.username).toLowerCase(),K=p.username.toLowerCase();return k.includes(b)||K.includes(b)})}),h=b=>!b||!X.currentUser?!1:b.user_id===X.currentUser.user_id,f=async()=>{try{u.value=await z.getAllUsers()}catch{w.error(U("auth.users_load_failed"))}},W=b=>{m.value=b,_.value=!0},le=b=>{m.value=b,a.value=!0},te=b=>{m.value=b,i.value=!0},se=async b=>{m.value=b,await Y(b.user_id),r.value=!0},Y=async b=>{try{v.value=await z.getUserTokens(b)}catch{w.error(U("auth.tokens_load_failed"))}},oe=async()=>{m.value&&await Y(m.value.user_id)},ue=b=>{M.value=b,o.value=!0},ne=async()=>{m.value&&await Y(m.value.user_id),M.value=null},re=async b=>{try{await z.enableUser(b.user_id)?(await f(),w.success(U("auth.user_enabled"))):w.error(U("auth.user_enable_failed"))}catch{w.error(U("auth.user_enable_failed"))}},de=(b,p)=>{const k=[{label:"auth.edit_user",labelArgs:[],action:()=>{W(p)},icon:"mdi-pencil"},{label:"auth.manage_tokens",labelArgs:[],action:()=>{se(p)},icon:"mdi-key-variant"},{label:p.enabled?"auth.disable_user":"auth.enable_user",labelArgs:[],action:()=>{p.enabled?le(p):re(p)},icon:p.enabled?"mdi-account-off":"mdi-account-check",hide:h(p)},{label:"auth.delete_user",labelArgs:[],action:()=>{te(p)},icon:"mdi-delete",color:"error",hide:h(p)}];fe.emit("contextmenu",{items:k,posX:b.clientX,posY:b.clientY})};return ce(()=>{f()}),(b,p)=>(V(),D("div",null,[y("div",la,[e(N,{modelValue:n.value,"onUpdate:modelValue":p[0]||(p[0]=k=>n.value=k),placeholder:b.$t("search"),"prepend-inner-icon":"mdi-magnify",variant:"outlined",density:"compact","hide-details":"",clearable:"",style:{"max-width":"400px"}},null,8,["modelValue","placeholder"]),e(C,{color:"primary",variant:"flat",height:"40",class:"add-user-btn","prepend-icon":"mdi-plus",onClick:p[1]||(p[1]=k=>d.value=!0)},{default:l(()=>[g(s(b.$t("auth.create_user")),1)]),_:1})]),e(ie,null,{default:l(()=>[(V(!0),D(J,null,x(t.value,k=>(V(),T(H,{key:k.user_id,"show-menu-btn":"",link:"",onMenu:K=>de(K,k),onClick:K=>W(k)},{prepend:l(()=>[y("div",ta,[e(F,{size:"40",color:k.avatar_url?void 0:"grey-darken-2"},{default:l(()=>[k.avatar_url?(V(),T(ve,{key:0,src:k.avatar_url},null,8,["src"])):(V(),T(O,{key:1,icon:"mdi-account",size:"20",color:"grey-lighten-1"}))]),_:2},1032,["color"])])]),title:l(()=>[y("div",sa,s(k.display_name||k.username),1)]),subtitle:l(()=>[y("div",oa,s(k.username)+" • "+s(b.$t(`auth.${k.role}_role`)),1)]),append:l(()=>[k.enabled?L("",!0):(V(),T(pe,{key:0,size:"small",color:"error"},{default:l(()=>[g(s(b.$t("auth.disabled")),1)]),_:1}))]),_:2},1032,["onMenu","onClick"]))),128)),u.value.length===0?(V(),D("div",ua,s(b.$t("no_content")),1)):L("",!0)]),_:1}),e(_e,{modelValue:d.value,"onUpdate:modelValue":p[2]||(p[2]=k=>d.value=k),onCreated:f},null,8,["modelValue"]),e(Ue,{modelValue:_.value,"onUpdate:modelValue":p[3]||(p[3]=k=>_.value=k),user:m.value,onUpdated:f},null,8,["modelValue","user"]),e($e,{modelValue:a.value,"onUpdate:modelValue":p[4]||(p[4]=k=>a.value=k),user:m.value,onDisabled:f},null,8,["modelValue","user"]),e(Ve,{modelValue:i.value,"onUpdate:modelValue":p[5]||(p[5]=k=>i.value=k),user:m.value,onDeleted:f},null,8,["modelValue","user"]),e(xe,{modelValue:r.value,"onUpdate:modelValue":p[6]||(p[6]=k=>r.value=k),user:m.value,tokens:v.value,onRevoke:ue,onTokenCreated:oe},null,8,["modelValue","user","tokens"]),e(aa,{modelValue:o.value,"onUpdate:modelValue":p[7]||(p[7]=k=>o.value=k),token:M.value,onRevoked:ne},null,8,["modelValue","token"])]))}}),ya=G(na,[["__scopeId","data-v-4952d4ff"]]);export{ya as default};
@@ -1 +0,0 @@
1
- import{C as Z}from"./Container-BJrCSObY.js";import{av as F,bG as q,H as f,aw as g,ax as v,d as i,x as e,aI as s,K as y,aB as a,bc as $,by as L,aG as z,ag as K,aC as Q,aD as U,b8 as R,ay as S,aO as M,bb as E,bS as G,bM as O,bN as j,aL as P,co as V,r as I,az as x,au as B,O as ee,J as ae,aj as J,a3 as te,aQ as A}from"./index-9wFVyQJF.js";import{L as W}from"./ListItem-UwdbG-Br.js";import{V as H}from"./VDialog-BPGCUfED.js";import{V as T}from"./VTextField-DJZc05eK.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as se}from"./VAlert-D47QZ7qK.js";import{V as le}from"./VForm-RrHOXWl_.js";import"./index-kQIztB-E.js";import"./VContainer-Bmll2nQh.js";import"./Button-C-VEz_LI.js";import"./VInput-Bym6CXFb.js";const oe={class:"long-lived-tokens"},ne={class:"section-header-with-action"},re={class:"section-header"},ie={class:"section-subtitle"},ue={key:0,class:"empty-state"},de={class:"text-medium-emphasis"},ce={class:"text-caption text-medium-emphasis mt-1"},ve={key:1,class:"tokens-list"},_e={class:"line-clamp-1"},me={class:"token-meta"},pe={key:0,class:"token-divider"},fe={key:1},he=F({__name:"LongLivedTokensList",props:{tokens:{}},emits:["revoke","created"],setup(C,{emit:_}){const{t:r}=q(),u=_,l=f(!1),c=f(""),m=f(!1),h=t=>new Date(t).toLocaleString(),k=async()=>{m.value=!0;try{await P.createToken(c.value)?(V.success(r("auth.token_created")),u("created"),b()):V.error(r("auth.token_create_failed"))}catch(t){console.error("Failed to create token:",t),V.error(t.message||r("auth.token_create_failed"))}finally{m.value=!1}},b=()=>{l.value=!1,c.value=""};return(t,o)=>(v(),g("div",oe,[i("div",ne,[i("div",re,[i("h3",null,s(t.$t("auth.long_lived_tokens")),1),i("p",ie,s(t.$t("auth.api_tokens_description")),1)]),e(y,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:o[0]||(o[0]=n=>l.value=!0)},{default:a(()=>[$(s(t.$t("auth.create_token")),1)]),_:1})]),C.tokens.length===0?(v(),g("div",ue,[e(L,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"32"})]),_:1}),i("p",de,s(t.$t("auth.no_tokens")),1),i("p",ce,s(t.$t("auth.create_token_hint")),1)])):(v(),g("div",ve,[(v(!0),g(K,null,Q(C.tokens,n=>(v(),U(W,{key:n.token_id},{prepend:a(()=>[e(L,{color:"deep-purple-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:a(()=>[i("div",_e,s(n.name),1)]),subtitle:a(()=>[i("div",me,[i("span",null,s(t.$t("created"))+": "+s(h(n.created_at)),1),n.last_used_at?(v(),g("span",pe,"•")):S("",!0),n.last_used_at?(v(),g("span",fe,s(t.$t("last_used"))+": "+s(h(n.last_used_at)),1)):S("",!0)])]),append:a(()=>[e(y,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:R(D=>u("revoke",n),["stop"])},null,8,["onClick"])]),_:2},1024))),128))])),e(H,{modelValue:l.value,"onUpdate:modelValue":o[2]||(o[2]=n=>l.value=n),"max-width":"500"},{default:a(()=>[e(M,null,{default:a(()=>[e(E,{class:"text-h6 pa-6 pb-4"},{default:a(()=>[$(s(t.$t("auth.create_token")),1)]),_:1}),e(G,{class:"px-6 pb-2"},{default:a(()=>[e(T,{modelValue:c.value,"onUpdate:modelValue":o[1]||(o[1]=n=>c.value=n),label:t.$t("auth.token_name"),variant:"outlined",density:"comfortable",hint:t.$t("auth.token_name_hint"),"persistent-hint":"",autofocus:"",class:"mb-2"},null,8,["modelValue","label","hint"])]),_:1}),e(O,{class:"pa-6 pt-4"},{default:a(()=>[e(j),e(y,{variant:"text",onClick:b},{default:a(()=>[$(s(t.$t("cancel")),1)]),_:1}),e(y,{color:"primary",variant:"flat",loading:m.value,disabled:!c.value,onClick:k},{default:a(()=>[$(s(t.$t("create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ke=N(he,[["__scopeId","data-v-8242758d"]]),ge={class:"password-settings"},$e={class:"section-header"},ye={class:"section-subtitle"},be=F({__name:"PasswordSettings",setup(C){const{t:_}=q(),r=f(""),u=f(""),l=f(""),c=f(!1),m=f(null),h={required:t=>!!t||_("auth.field_required"),passwordLength:t=>t.length>=8||_("auth.password_min_length"),passwordMatch:t=>t===u.value||_("auth.passwords_must_match")},k=I(()=>r.value&&u.value.length>=8&&u.value===l.value),b=async()=>{c.value=!0;try{await P.changePassword(r.value,u.value)?(V.success(_("auth.password_changed")),r.value="",u.value="",l.value="",await ee(),m.value?.resetValidation()):V.error(_("auth.password_change_failed"))}catch(t){V.error(t.message||_("auth.password_change_failed"))}finally{c.value=!1}};return(t,o)=>(v(),g("div",ge,[i("div",$e,[i("h3",null,s(t.$t("auth.change_password")),1),i("p",ye,s(t.$t("auth.update_your_password")),1)]),x(B).isIngressSession?(v(),U(se,{key:0,type:"info",variant:"tonal",density:"compact",class:"mb-4"},{default:a(()=>[$(s(t.$t("auth.ingress_password_note")),1)]),_:1})):S("",!0),e(le,{ref_key:"passwordForm",ref:m,onSubmit:R(b,["prevent"])},{default:a(()=>[e(T,{modelValue:r.value,"onUpdate:modelValue":o[0]||(o[0]=n=>r.value=n),label:t.$t("auth.old_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[h.required]},null,8,["modelValue","label","rules"]),e(T,{modelValue:u.value,"onUpdate:modelValue":o[1]||(o[1]=n=>u.value=n),label:t.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[h.required,h.passwordLength]},null,8,["modelValue","label","rules"]),e(T,{modelValue:l.value,"onUpdate:modelValue":o[2]||(o[2]=n=>l.value=n),label:t.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-4",rules:[h.required,h.passwordMatch]},null,8,["modelValue","label","rules"]),e(y,{type:"submit",color:"primary",variant:"flat",loading:c.value,disabled:!k.value},{default:a(()=>[$(s(t.$t("auth.change_password")),1)]),_:1},8,["loading","disabled"])]),_:1},512)]))}}),we=N(be,[["__scopeId","data-v-7b906262"]]),Ve={class:"profile-settings"},Ce={class:"section-header"},Ue={class:"section-subtitle"},Te={class:"avatar-section"},Le={class:"avatar-container"},ze={class:"avatar-wrapper"},Se={class:"avatar-text mt-2"},De={class:"profile-fields"},Pe={class:"actions"},Ie={class:"d-flex flex-column align-center mb-4"},Fe=F({__name:"ProfileSettings",setup(C){const{t:_}=q(),r=I(()=>B.currentUser),u=f(""),l=f(""),c=f(""),m=f(!1),h=f(!1),k=f(""),b=f(!1),t={required:d=>!!d||_("auth.field_required"),usernameLength:d=>d.length>=3||_("auth.username_min_length")},o=I(()=>r.value?u.value!==r.value.username||l.value!==(r.value.display_name||"")||c.value!==(r.value.avatar_url||""):!1),n=()=>{r.value&&(u.value=r.value.username,l.value=r.value.display_name||"",c.value=r.value.avatar_url||"",k.value=r.value.avatar_url||"")},D=async()=>{if(!(!r.value||!o.value)){m.value=!0;try{const d={};u.value!==r.value.username&&(d.username=u.value),l.value!==(r.value.display_name||"")&&(d.displayName=l.value),c.value!==(r.value.avatar_url||"")&&(d.avatarUrl=c.value);const p=await P.updateUser(r.value.user_id,d);p&&(B.currentUser=p,n(),V.success(_("auth.profile_updated")))}catch(d){V.error(d.message||_("error_generic"))}finally{m.value=!1}}},X=()=>{h.value=!1,k.value=c.value,b.value=!1},Y=()=>{c.value=k.value,h.value=!1,b.value=!1};return ae(r,n,{immediate:!0}),(d,p)=>(v(),g("div",Ve,[i("div",Ce,[i("h3",null,s(d.$t("auth.account_settings")),1),i("p",Ue,s(d.$t("auth.manage_your_profile_info")),1)]),i("div",Te,[i("div",Le,[i("div",ze,[e(L,{size:"120",class:"profile-avatar",color:c.value?void 0:"grey-darken-2"},{default:a(()=>[c.value?(v(),U(J,{key:0,src:c.value,onError:p[0]||(p[0]=w=>b.value=!0)},null,8,["src"])):(v(),U(z,{key:1,icon:"mdi-account",size:"64",color:"grey-lighten-1"}))]),_:1},8,["color"]),e(y,{icon:"mdi-camera",size:"small",variant:"elevated",class:"avatar-edit-btn",color:"surface",onClick:p[1]||(p[1]=w=>h.value=!0)})]),i("div",Se,[e(y,{variant:"text",size:"small",class:"text-capitalize",onClick:p[2]||(p[2]=w=>h.value=!0)},{default:a(()=>[$(s(d.$t("auth.change_avatar")),1)]),_:1})])]),i("div",De,[e(T,{modelValue:u.value,"onUpdate:modelValue":p[3]||(p[3]=w=>u.value=w),label:d.$t("auth.username"),variant:"outlined",density:"comfortable",rules:[t.required,t.usernameLength],class:"mb-2"},null,8,["modelValue","label","rules"]),e(T,{modelValue:l.value,"onUpdate:modelValue":p[4]||(p[4]=w=>l.value=w),label:d.$t("auth.display_name"),variant:"outlined",density:"comfortable",hint:d.$t("optional"),"persistent-hint":"",class:"mb-2"},null,8,["modelValue","label","hint"]),e(T,{"model-value":d.$t(`auth.${r.value?.role}_role`),label:d.$t("auth.role"),variant:"outlined",density:"comfortable",readonly:"",disabled:""},null,8,["model-value","label"])])]),i("div",Pe,[o.value?(v(),U(y,{key:0,variant:"text",color:"grey",onClick:n},{default:a(()=>[$(s(d.$t("cancel")),1)]),_:1})):S("",!0),e(y,{color:"primary",variant:"flat",loading:m.value,disabled:!o.value,onClick:D},{default:a(()=>[$(s(d.$t("save")),1)]),_:1},8,["loading","disabled"])]),e(H,{modelValue:h.value,"onUpdate:modelValue":p[7]||(p[7]=w=>h.value=w),"max-width":"500"},{default:a(()=>[e(M,null,{default:a(()=>[e(E,{class:"text-h5"},{default:a(()=>[$(s(d.$t("auth.change_avatar")),1)]),_:1}),e(G,null,{default:a(()=>[i("div",Ie,[e(L,{size:"140",color:k.value?void 0:"grey-darken-2"},{default:a(()=>[k.value?(v(),U(J,{key:0,src:k.value,onError:p[5]||(p[5]=w=>b.value=!0)},null,8,["src"])):(v(),U(z,{key:1,icon:"mdi-account",size:"72",color:"grey-lighten-1"}))]),_:1},8,["color"])]),e(T,{modelValue:k.value,"onUpdate:modelValue":p[6]||(p[6]=w=>k.value=w),label:d.$t("auth.avatar_url"),variant:"outlined",hint:d.$t("auth.avatar_url_hint"),"persistent-hint":"",clearable:""},null,8,["modelValue","label","hint"])]),_:1}),e(O,null,{default:a(()=>[e(j),e(y,{variant:"text",onClick:X},{default:a(()=>[$(s(d.$t("cancel")),1)]),_:1}),e(y,{color:"primary",variant:"flat",onClick:Y},{default:a(()=>[$(s(d.$t("save")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),Ne=N(Fe,[["__scopeId","data-v-e98d7828"]]),qe={class:"session-tokens"},Ae={class:"section-header"},Be={class:"section-subtitle"},Re={key:0,class:"empty-state"},Me={class:"text-medium-emphasis"},Ee={key:1,class:"tokens-list"},Ge={class:"line-clamp-1"},Oe={class:"token-meta"},je={key:0,class:"token-divider"},He={key:1},Je=F({__name:"SessionTokensList",props:{tokens:{}},emits:["revoke"],setup(C,{emit:_}){const r=_,u=l=>new Date(l).toLocaleString();return(l,c)=>(v(),g("div",qe,[i("div",Ae,[i("h3",null,s(l.$t("auth.active_sessions")),1),i("p",Be,s(l.$t("auth.manage_active_sessions")),1)]),C.tokens.length===0?(v(),g("div",Re,[e(L,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-devices-off",size:"32"})]),_:1}),i("p",Me,s(l.$t("no_content")),1)])):(v(),g("div",Ee,[(v(!0),g(K,null,Q(C.tokens,m=>(v(),U(W,{key:m.token_id},{prepend:a(()=>[e(L,{color:"blue-grey-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-devices",size:"20"})]),_:1})]),title:a(()=>[i("div",Ge,s(m.name),1)]),subtitle:a(()=>[i("div",Oe,[i("span",null,s(l.$t("created"))+": "+s(u(m.created_at)),1),m.last_used_at?(v(),g("span",je,"•")):S("",!0),m.last_used_at?(v(),g("span",He,s(l.$t("last_used"))+": "+s(u(m.last_used_at)),1)):S("",!0)])]),append:a(()=>[e(y,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:R(h=>r("revoke",m),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]))}}),Ke=N(Je,[["__scopeId","data-v-984369e1"]]),Qe={class:"user-profile"},We={class:"profile-content"},Xe={class:"text-body-1 mb-4"},Ye={class:"token-name-box"},Ze=F({__name:"UserProfile",setup(C){const{t:_}=q(),r=f([]),u=f(!1),l=f(null),c=f(!1),m=I(()=>r.value.filter(o=>!o.is_long_lived)),h=I(()=>r.value.filter(o=>o.is_long_lived)),k=async()=>{try{r.value=await P.getUserTokens()}catch(o){console.error("Failed to load tokens:",o)}},b=o=>{l.value=o,u.value=!0},t=async()=>{if(l.value){c.value=!0;try{if(await P.revokeToken(l.value.token_id)){await k();const n=!l.value.is_long_lived;V.success(_(n?"auth.session_revoked":"auth.token_revoked"))}else{const n=!l.value.is_long_lived;V.error(_(n?"auth.session_revoke_failed":"auth.token_revoke_failed"))}}catch(o){console.error("Failed to revoke token:",o);const n=!l.value?.is_long_lived;V.error(_(n?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{u.value=!1,l.value=null,c.value=!1}}};return te(()=>{k()}),(o,n)=>(v(),g("div",Qe,[e(Z,{variant:"comfortable",class:"profile-container"},{default:a(()=>[i("div",We,[e(Ne),e(A,{class:"my-6"}),e(we),e(A,{class:"my-6"}),e(Ke,{tokens:m.value,onRevoke:b},null,8,["tokens"]),e(A,{class:"my-6"}),e(ke,{tokens:h.value,onRevoke:b,onCreated:k},null,8,["tokens"])])]),_:1}),e(H,{modelValue:u.value,"onUpdate:modelValue":n[1]||(n[1]=D=>u.value=D),"max-width":"480"},{default:a(()=>[e(M,null,{default:a(()=>[e(E,{class:"text-h6 pl-6 pb-0 mt-3"},{default:a(()=>[$(s(l.value?.is_long_lived?o.$t("auth.revoke_token"):o.$t("auth.revoke_session")),1)]),_:1}),e(G,{class:"px-6 pb-2"},{default:a(()=>[i("p",Xe,s(l.value?.is_long_lived?o.$t("auth.revoke_token_confirm"):o.$t("auth.revoke_session_confirm")),1),i("div",Ye,s(l.value?.name),1)]),_:1}),e(O,{class:"pa-6 pt-4"},{default:a(()=>[e(j),e(y,{variant:"text",onClick:n[0]||(n[0]=D=>u.value=!1)},{default:a(()=>[$(s(o.$t("cancel")),1)]),_:1}),e(y,{color:"error",variant:"flat",loading:c.value,onClick:t},{default:a(()=>[$(s(o.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ca=N(Ze,[["__scopeId","data-v-4961f1fb"]]);export{ca as default};
@@ -1 +0,0 @@
1
- import{cW as $,p as k,r as w,g as F,s as M,t as d,a as N,c4 as R,j,a1 as E,k as G,cl as O,c3 as K,l as W,al as p,G as q,x as l,n as v,e as m,c6 as H,m as J,A as Q,B as U,c7 as X,c8 as Y,C as Z,a2 as ee,D as ae,c as te,ck as le,ca as se,d as s,aG as ne,ad as y,ak as f,K as oe}from"./index-9wFVyQJF.js";const ie=$("v-alert-title"),ce=k({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function re(e,n){return{iconSize:w(()=>{const a=new Map(e.iconSizes),t=e.iconSize??n()??"default";return a.has(t)?a.get(t):t})}}const ue=["success","info","warning","error"],de=k({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:le,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>ue.includes(e)},...te(),...ae(),...ee(),...Z(),...ce(),...Y(),...X(),...U(),...Q(),...J(),...H({variant:"flat"})},"VAlert"),me=F()({name:"VAlert",props:de(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{emit:c,slots:a}=n;const t=M(e,"modelValue"),o=d(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:S}=re(e,()=>e.prominent?44:void 0),{themeClasses:b}=N(e),{colorClasses:P,colorStyles:C,variantClasses:V}=R(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:g}=j(e),{dimensionStyles:z}=E(e),{elevationClasses:x}=G(e),{locationStyles:_}=O(e),{positionClasses:B}=K(e),{roundedClasses:A}=W(e),{textColorClasses:I,textColorStyles:h}=p(()=>e.borderColor),{t:T}=q(),r=d(()=>({"aria-label":T(e.closeLabel),onClick(i){t.value=!1,c("click:close",i)}}));return()=>{const i=!!(a.prepend||o.value),D=!!(a.title||e.title),L=!!(a.close||e.closable),u={density:e.density,icon:o.value,size:e.iconSize||e.prominent?S.value:void 0};return t.value&&l(e.tag,{class:m(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},b.value,P.value,g.value,x.value,B.value,A.value,V.value,e.class]),style:v([C.value,z.value,_.value,e.style]),role:"alert"},{default:()=>[se(!1,"v-alert"),e.border&&s("div",{key:"border",class:m(["v-alert__border",I.value]),style:v(h.value)},null),i&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(f,{key:"prepend-defaults",disabled:!o.value,defaults:{VIcon:{...u}}},a.prepend):l(ne,y({key:"prepend-icon"},u),null)]),s("div",{class:"v-alert__content"},[D&&l(ie,{key:"title"},{default:()=>[a.title?.()??e.title]}),a.text?.()??e.text,a.default?.()]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),L&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(f,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:r.value})]}):l(oe,y({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},r.value),null)])]})}}});export{me as V,ie as a};
@@ -1 +0,0 @@
1
- import{p as S,m as J,D as W,c as j,cK as X,ck as B,g as w,s as I,cb as L,t,w as Y,b as G,d as y,n as N,e as P,Q as Z,a7 as p,cR as $,I as O,H as ee,cc as le,ad as F,x as A,L as ae,ag as te,aG as ne,R as oe,j as ue,r as C,cF as x,al as ce,i as ie,O as re,d4 as se,o as de}from"./index-9wFVyQJF.js";import{b as ve}from"./VInput-Bym6CXFb.js";const z=Symbol.for("vuetify:selection-control-group"),E=S({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:B,trueIcon:B,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:X},...j(),...W(),...J()},"SelectionControlGroup"),fe=S({...E({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");w()({name:"VSelectionControlGroup",props:fe(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:v}=u;const l=I(e,"modelValue"),n=L(),r=t(()=>e.id||`v-selection-control-group-${n}`),c=t(()=>e.name||r.value),a=new Set;return Z(z,{modelValue:l,forceUpdate:()=>{a.forEach(o=>o())},onForceUpdate:o=>{a.add(o),p(()=>{a.delete(o)})}}),Y({[e.defaultsTarget]:{color:t(()=>e.color),disabled:t(()=>e.disabled),density:t(()=>e.density),error:t(()=>e.error),inline:t(()=>e.inline),modelValue:l,multiple:t(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:c,falseIcon:t(()=>e.falseIcon),trueIcon:t(()=>e.trueIcon),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),type:t(()=>e.type),valueComparator:t(()=>e.valueComparator)}}),G(()=>y("div",{class:P(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:N(e.style),role:e.type==="radio"?"radiogroup":void 0},[v.default?.()])),{}}});const H=S({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...j(),...E()},"VSelectionControl");function me(e){const u=oe(z,void 0),{densityClasses:v}=ue(e),l=I(e,"modelValue"),n=C(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),r=C(()=>e.falseValue!==void 0?e.falseValue:!1),c=C(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),a=C({get(){const f=u?u.modelValue.value:l.value;return c.value?x(f).some(i=>e.valueComparator(i,n.value)):e.valueComparator(f,n.value)},set(f){if(e.readonly)return;const i=f?n.value:r.value;let m=i;c.value&&(m=f?[...x(l.value),i]:x(l.value).filter(s=>!e.valueComparator(s,n.value))),u?u.modelValue.value=m:l.value=m}}),{textColorClasses:o,textColorStyles:b}=ce(()=>{if(!(e.error||e.disabled))return a.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:k}=ie(()=>a.value&&!e.error&&!e.disabled?e.color:e.baseColor),h=C(()=>a.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:v,trueValue:n,falseValue:r,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,icon:h}}const _=w()({name:"VSelectionControl",directives:{vRipple:$},inheritAttrs:!1,props:H(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:v,slots:l}=u;const{group:n,densityClasses:r,icon:c,model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,trueValue:h}=me(e),f=L(),i=O(!1),m=O(!1),s=ee(),g=t(()=>e.id||`input-${f}`),R=t(()=>!e.disabled&&!e.readonly);n?.onForceUpdate(()=>{s.value&&(s.value.checked=a.value)});function D(d){R.value&&(i.value=!0,se(d.target,":focus-visible")!==!1&&(m.value=!0))}function T(){i.value=!1,m.value=!1}function M(d){d.stopPropagation()}function q(d){if(!R.value){s.value&&(s.value.checked=a.value);return}e.readonly&&n&&re(()=>n.forceUpdate()),a.value=d.target.checked}return G(()=>{const d=l.label?l.label({label:e.label,props:{for:g.value}}):e.label,[K,Q]=le(v),U=y("input",F({ref:s,checked:a.value,disabled:!!e.disabled,id:g.value,onBlur:T,onFocus:D,onInput:q,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:h.value,name:e.name,"aria-checked":e.type==="checkbox"?a.value:void 0},Q),null);return y("div",F({class:["v-selection-control",{"v-selection-control--dirty":a.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":i.value,"v-selection-control--focus-visible":m.value,"v-selection-control--inline":e.inline},r.value,e.class]},K,{style:e.style}),[y("div",{class:P(["v-selection-control__wrapper",o.value]),style:N(b.value)},[l.default?.({backgroundColorClasses:V,backgroundColorStyles:k}),ae(y("div",{class:P(["v-selection-control__input"])},[l.input?.({model:a,textColorClasses:o,textColorStyles:b,backgroundColorClasses:V,backgroundColorStyles:k,inputNode:U,icon:c.value,props:{onFocus:D,onBlur:T,id:g.value}})??y(te,null,[c.value&&A(ne,{key:"icon",icon:c.value},null),U])]),[[$,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),d&&A(ve,{for:g.value,onClick:M},{default:()=>[d]})])}),{isFocused:i,input:s}}}),be=S({indeterminate:Boolean,indeterminateIcon:{type:B,default:"$checkboxIndeterminate"},...H({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),Ve=w()({name:"VCheckboxBtn",props:be(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,u){let{slots:v}=u;const l=I(e,"indeterminate"),n=I(e,"modelValue");function r(o){l.value&&(l.value=!1)}const c=t(()=>l.value?e.indeterminateIcon:e.falseIcon),a=t(()=>l.value?e.indeterminateIcon:e.trueIcon);return G(()=>{const o=de(_.filterProps(e),["modelValue"]);return A(_,F(o,{modelValue:n.value,"onUpdate:modelValue":[b=>n.value=b,r],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:c.value,trueIcon:a.value,"aria-checked":l.value?"mixed":void 0}),v)}),{}}});export{Ve as V,_ as a,H as b,be as m};
@@ -1 +0,0 @@
1
- import{g as t,p as l,u as r,a1 as i,b as m,A as c,a2 as u,c as C,x as d,n as p,e as f}from"./index-9wFVyQJF.js";const y=l({fluid:{type:Boolean,default:!1},...C(),...u(),...c()},"VContainer"),g=t()({name:"VContainer",props:y(),setup(e,a){let{slots:s}=a;const{rtlClasses:n}=r(),{dimensionStyles:o}=i(e);return m(()=>d(e.tag,{class:f(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:p([o.value,e.style])},s)),{}}});export{g as V};
@@ -1 +0,0 @@
1
- import{g as m,p as P,R as h,T as j,b,x as i,cE as N,X as F,c as E,L as w,U as O,d as u,n as y,e as v,cR as S,i as B,a1 as Q,r as f,t as l,ak as A,a2 as U,ck as I,aG as X,S as Y,k as q,l as H,A as R,B as J,Y as K,C as M,Q as W,v as Z,a as ee,w as ae,m as ne,as as le,z as te}from"./index-9wFVyQJF.js";const x=Symbol.for("vuetify:v-expansion-panel"),_=P({...E(),...F()},"VExpansionPanelText"),C=m()({name:"VExpansionPanelText",props:_(),setup(e,c){let{slots:n}=c;const a=h(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:d}=j(e,a.isSelected);return b(()=>i(N,{onAfterLeave:d},{default:()=>[w(u("div",{class:v(["v-expansion-panel-text",e.class]),style:y(e.style)},[n.default&&s.value&&u("div",{class:"v-expansion-panel-text__wrapper"},[n.default?.()])]),[[O,a.isSelected.value]])]})),{}}}),D=P({color:String,expandIcon:{type:I,default:"$expand"},collapseIcon:{type:I,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...E(),...U()},"VExpansionPanelTitle"),T=m()({name:"VExpansionPanelTitle",directives:{vRipple:S},props:D(),setup(e,c){let{slots:n}=c;const a=h(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:d}=B(()=>e.color),{dimensionStyles:r}=Q(e),p=f(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),V=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return b(()=>w(u("button",{class:v(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:y([d.value,r.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[u("span",{class:"v-expansion-panel-title__overlay"},null),n.default?.(p.value),!e.hideActions&&i(A,{defaults:{VIcon:{icon:V.value}}},{default:()=>[u("span",{class:"v-expansion-panel-title__icon"},[n.actions?.(p.value)??i(X,null,null)])]})]),[[S,e.ripple]])),{}}}),z=P({title:String,text:String,bgColor:String,...M(),...K(),...J(),...R(),...D(),..._()},"VExpansionPanel"),ce=m()({name:"VExpansionPanel",props:z(),emits:{"group:selected":e=>!0},setup(e,c){let{slots:n}=c;const a=Y(e,x),{backgroundColorClasses:s,backgroundColorStyles:d}=B(()=>e.bgColor),{elevationClasses:r}=q(e),{roundedClasses:p}=H(e),V=l(()=>a?.disabled.value||e.disabled),k=f(()=>a.group.items.value.reduce((o,t,g)=>(a.group.selected.value.includes(t.id)&&o.push(g),o),[])),G=f(()=>{const o=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&k.value.some(t=>t-o===1)}),L=f(()=>{const o=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&k.value.some(t=>t-o===-1)});return W(x,a),b(()=>{const o=!!(n.text||e.text),t=!!(n.title||e.title),g=T.filterProps(e),$=C.filterProps(e);return i(e.tag,{class:v(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":G.value,"v-expansion-panel--after-active":L.value,"v-expansion-panel--disabled":V.value},p.value,s.value,e.class]),style:y([d.value,e.style])},{default:()=>[u("div",{class:v(["v-expansion-panel__shadow",...r.value])},null),i(A,{defaults:{VExpansionPanelTitle:{...g},VExpansionPanelText:{...$}}},{default:()=>[t&&i(T,{key:"title"},{default:()=>[n.title?n.title():e.title]}),o&&i(C,{key:"text"},{default:()=>[n.text?n.text():e.text]}),n.default?.()]})]})}),{groupItem:a}}}),se=["default","accordion","inset","popout"],oe=P({flat:Boolean,...te(),...le(z(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...ne(),...E(),...R(),variant:{type:String,default:"default",validator:e=>se.includes(e)}},"VExpansionPanels"),de=m()({name:"VExpansionPanels",props:oe(),emits:{"update:modelValue":e=>!0},setup(e,c){let{slots:n}=c;const{next:a,prev:s}=Z(e,x),{themeClasses:d}=ee(e),r=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ae({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),b(()=>i(e.tag,{class:v(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},d.value,r.value,e.class]),style:y(e.style)},{default:()=>[n.default?.({prev:s,next:a})]})),{next:a,prev:s}}});export{de as V,ce as a,T as b,C as c};
@@ -1 +0,0 @@
1
- import{g as d,p,H as b,b as v,d as y,n as F,e as V,am as h,c as R}from"./index-9wFVyQJF.js";import{e as P,f as k}from"./VInput-Bym6CXFb.js";const C=p({...R(),...k()},"VForm"),z=d()({name:"VForm",props:C(),emits:{"update:modelValue":a=>!0,submit:a=>!0},setup(a,n){let{slots:m,emit:l}=n;const o=P(a),s=b();function i(r){r.preventDefault(),o.reset()}function f(r){const t=r,e=o.validate();t.then=e.then.bind(e),t.catch=e.catch.bind(e),t.finally=e.finally.bind(e),l("submit",t),t.defaultPrevented||e.then(u=>{let{valid:c}=u;c&&s.value?.submit()}),t.preventDefault()}return v(()=>y("form",{ref:s,class:V(["v-form",a.class]),style:F(a.style),novalidate:!0,onReset:i,onSubmit:f},[m.default?.(o)])),h(o,s)}});export{z as V};
@@ -1 +0,0 @@
1
- import{g as _,p as I,b as O,d as C,n as T,e as N,m as U,c as L,cZ as R,G as ae,x as D,ad as ne,aG as te,c_ as le,r as g,cF as $,al as se,W as ie,cn as ue,c$ as oe,d0 as J,s as K,t as V,I as E,H as F,J as P,Q as re,R as Q,d1 as de,cb as Y,cd as ce,az as ve,d2 as fe,a4 as ge,a3 as me,$ as W,O as ye,j as he,a1 as be,a as Ve,u as pe,as as ke,D as Ce,ck as G,a2 as Ie}from"./index-9wFVyQJF.js";const Se=I({text:String,onClick:R(),...L(),...U()},"VLabel"),Fe=_()({name:"VLabel",props:Se(),setup(e,t){let{slots:r}=t;return O(()=>C("label",{class:N(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:T(e.style),onClick:e.onClick},[e.text,r.default?.()])),{}}});function Me(e){const{t}=ae();function r(l){let{name:u,color:n,...v}=l;const d={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[u],m=e[`onClick:${u}`];function h(a){a.key!=="Enter"&&a.key!==" "||(a.preventDefault(),a.stopPropagation(),le(m,new PointerEvent("click",a)))}const s=m&&d?t(`$vuetify.input.${d}`,e.label??""):void 0;return D(te,ne({icon:e[`${u}Icon`],"aria-label":s,onClick:m,onKeydown:h,color:n},v),null)}return{InputIcon:r}}const we=I({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...L(),...ue({transition:{component:oe,leaveAbsolute:!0,group:!0}})},"VMessages"),Be=_()({name:"VMessages",props:we(),setup(e,t){let{slots:r}=t;const l=g(()=>$(e.messages)),{textColorClasses:u,textColorStyles:n}=se(()=>e.color);return O(()=>D(ie,{transition:e.transition,tag:"div",class:N(["v-messages",u.value,e.class]),style:T([n.value,e.style])},{default:()=>[e.active&&l.value.map((v,d)=>C("div",{class:"v-messages__message",key:`${d}-${l.value}`},[r.message?r.message({message:v}):v]))]})),{}}}),Pe=I({focused:Boolean,"onUpdate:focused":R()},"focus");function _e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:J();const r=K(e,"focused"),l=V(()=>({[`${t}--focused`]:r.value}));function u(){r.value=!0}function n(){r.value=!1}return{focusClasses:l,isFocused:r,focus:u,blur:n}}const Z=Symbol.for("vuetify:form"),Oe=I({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Te(e){const t=K(e,"modelValue"),r=V(()=>e.disabled),l=V(()=>e.readonly),u=E(!1),n=F([]),v=F([]);async function d(){const s=[];let a=!0;v.value=[],u.value=!0;for(const i of n.value){const o=await i.validate();if(o.length>0&&(a=!1,s.push({id:i.id,errorMessages:o})),!a&&e.fastFail)break}return v.value=s,u.value=!1,{valid:a,errors:v.value}}function m(){n.value.forEach(s=>s.reset())}function h(){n.value.forEach(s=>s.resetValidation())}return P(n,()=>{let s=0,a=0;const i=[];for(const o of n.value)o.isValid===!1?(a++,i.push({id:o.id,errorMessages:o.errorMessages})):o.isValid===!0&&s++;v.value=i,t.value=a>0?!1:s===n.value.length?!0:null},{deep:!0,flush:"post"}),re(Z,{register:s=>{let{id:a,vm:i,validate:o,reset:k,resetValidation:S}=s;n.value.some(b=>b.id===a),n.value.push({id:a,validate:o,reset:k,resetValidation:S,vm:de(i),isValid:null,errorMessages:[]})},unregister:s=>{n.value=n.value.filter(a=>a.id!==s)},update:(s,a,i)=>{const o=n.value.find(k=>k.id===s);o&&(o.isValid=a,o.errorMessages=i)},isDisabled:r,isReadonly:l,isValidating:u,isValid:t,items:n,validateOn:V(()=>e.validateOn)}),{errors:v,isDisabled:r,isReadonly:l,isValidating:u,isValid:t,items:n,validate:d,reset:m,resetValidation:h}}function De(e){const t=Q(Z,null);return{...t,isReadonly:g(()=>!!(e?.readonly??t?.isReadonly.value)),isDisabled:g(()=>!!(e?.disabled??t?.isDisabled.value))}}const xe=Symbol.for("vuetify:rules");function $e(e){const t=Q(xe,null);if(!e){if(!t)throw new Error("Could not find Vuetify rules injection");return t.aliases}return t?.resolve(e)??V(e)}const Re=I({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...Pe()},"validation");function Ae(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:J(),r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Y();const l=K(e,"modelValue"),u=g(()=>e.validationValue===void 0?l.value:e.validationValue),n=De(e),v=$e(()=>e.rules),d=F([]),m=E(!0),h=g(()=>!!($(l.value===""?null:l.value).length||$(u.value===""?null:u.value).length)),s=g(()=>e.errorMessages?.length?$(e.errorMessages).concat(d.value).slice(0,Math.max(0,Number(e.maxErrors))):d.value),a=g(()=>{let f=(e.validateOn??n.validateOn?.value)||"input";f==="lazy"&&(f="input lazy"),f==="eager"&&(f="input eager");const c=new Set(f?.split(" ")??[]);return{input:c.has("input"),blur:c.has("blur")||c.has("input")||c.has("invalid-input"),invalidInput:c.has("invalid-input"),lazy:c.has("lazy"),eager:c.has("eager")}}),i=g(()=>e.error||e.errorMessages?.length?!1:e.rules.length?m.value?d.value.length||a.value.lazy?null:!0:!d.value.length:!0),o=E(!1),k=g(()=>({[`${t}--error`]:i.value===!1,[`${t}--dirty`]:h.value,[`${t}--disabled`]:n.isDisabled.value,[`${t}--readonly`]:n.isReadonly.value})),S=ce("validation"),b=g(()=>e.name??ve(r));fe(()=>{n.register?.({id:b.value,vm:S,validate:y,reset:M,resetValidation:w})}),ge(()=>{n.unregister?.(b.value)}),me(async()=>{a.value.lazy||await y(!a.value.eager),n.update?.(b.value,i.value,s.value)}),W(()=>a.value.input||a.value.invalidInput&&i.value===!1,()=>{P(u,()=>{if(u.value!=null)y();else if(e.focused){const f=P(()=>e.focused,c=>{c||y(),f()})}})}),W(()=>a.value.blur,()=>{P(()=>e.focused,f=>{f||y()})}),P([i,s],()=>{n.update?.(b.value,i.value,s.value)});async function M(){l.value=null,await ye(),await w()}async function w(){m.value=!0,a.value.lazy?d.value=[]:await y(!a.value.eager)}async function y(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const c=[];o.value=!0;for(const B of v.value){if(c.length>=Number(e.maxErrors??1))break;const p=await(typeof B=="function"?B:()=>B)(u.value);if(p!==!0){if(p!==!1&&typeof p!="string"){console.warn(`${p} is not a valid value. Rule functions must return boolean true or a string.`);continue}c.push(p||"")}}return d.value=c,o.value=!1,m.value=f,d.value}return{errorMessages:s,isDirty:h,isDisabled:n.isDisabled,isReadonly:n.isReadonly,isPristine:m,isValid:i,isValidating:o,reset:M,resetValidation:w,validate:y,validationClasses:k}}const ze=I({id:String,appendIcon:G,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:G,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":R(),"onClick:append":R(),...L(),...Ce(),...ke(Ie(),["maxWidth","minWidth","width"]),...U(),...Re()},"VInput"),Ne=_()({name:"VInput",props:{...ze()},emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:r,slots:l,emit:u}=t;const{densityClasses:n}=he(e),{dimensionStyles:v}=be(e),{themeClasses:d}=Ve(e),{rtlClasses:m}=pe(),{InputIcon:h}=Me(e),s=Y(),a=g(()=>e.id||`input-${s}`),{errorMessages:i,isDirty:o,isDisabled:k,isReadonly:S,isPristine:b,isValid:M,isValidating:w,reset:y,resetValidation:f,validate:c,validationClasses:B}=Ae(e,"v-input",a),A=g(()=>e.errorMessages?.length||!b.value&&i.value.length?i.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages),p=V(()=>A.value.length>0),z=V(()=>!e.hideDetails||e.hideDetails==="auto"&&(p.value||!!l.details)),j=g(()=>z.value?`${a.value}-messages`:void 0),x=g(()=>({id:a,messagesId:j,isDirty:o,isDisabled:k,isReadonly:S,isPristine:b,isValid:M,isValidating:w,hasDetails:z,reset:y,resetValidation:f,validate:c})),q=V(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),H=V(()=>{if(e.iconColor)return e.iconColor===!0?q.value:e.iconColor});return O(()=>{const X=!!(l.prepend||e.prependIcon),ee=!!(l.append||e.appendIcon);return C("div",{class:N(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons},n.value,d.value,m.value,B.value,e.class]),style:T([v.value,e.style])},[X&&C("div",{key:"prepend",class:"v-input__prepend"},[l.prepend?.(x.value),e.prependIcon&&D(h,{key:"prepend-icon",name:"prepend",color:H.value},null)]),l.default&&C("div",{class:"v-input__control"},[l.default?.(x.value)]),ee&&C("div",{key:"append",class:"v-input__append"},[e.appendIcon&&D(h,{key:"append-icon",name:"append",color:H.value},null),l.append?.(x.value)]),z.value&&C("div",{id:j.value,class:"v-input__details",role:"alert","aria-live":"polite"},[D(Be,{active:p.value,messages:A.value},{message:l.message}),l.details?.(x.value)])])}),{reset:y,resetValidation:f,validate:c,isValid:M,errorMessages:i}}});export{Ne as V,De as a,Fe as b,Pe as c,Me as d,Te as e,Oe as f,ze as m,_e as u};