diff --git a/css/TagsView-DR177-FV.chunk.css b/css/TagsView-DR177-FV.chunk.css
new file mode 100644
index 0000000000..2616df0e83
--- /dev/null
+++ b/css/TagsView-DR177-FV.chunk.css
@@ -0,0 +1 @@
+.tag-cover[data-v-dc0a6411]{display:flex;flex-direction:column;padding:16px;border-radius:12px}.tag-cover[data-v-dc0a6411]:hover,.tag-cover[data-v-dc0a6411]:focus{background:var(--color-background-dark)}.tag-cover__image[data-v-dc0a6411]{width:350px;height:350px;object-fit:cover;border-radius:12px}@media only screen and (max-width:1200px){.tag-cover__image[data-v-dc0a6411]{width:250px;height:250px}}.tag-cover__image--placeholder[data-v-dc0a6411]{background:var(--color-primary-element-light)}.tag-cover__image--placeholder[data-v-dc0a6411] .material-design-icon{width:100%;height:100%}.tag-cover__image--placeholder[data-v-dc0a6411] .material-design-icon .material-design-icon__svg{fill:var(--color-primary-element)}.tag-cover__details[data-v-dc0a6411]{display:flex;flex-direction:column;margin-top:16px;width:350px}@media only screen and (max-width:1200px){.tag-cover__details[data-v-dc0a6411]{width:250px}}.tag-cover__details__first-line[data-v-dc0a6411]{display:flex}.tag-cover__details__second-line[data-v-dc0a6411]{display:flex;color:var(--color-text-lighter)}.tag-cover__details__name[data-v-dc0a6411]{flex-grow:1;margin:0;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.loader[data-v-de3acc2d]{margin-top:30vh}.container[data-v-de3acc2d]{padding-inline-start:44px}.container>h2[data-v-de3acc2d]{margin-inline-start:14px;margin-top:40px}.popular-tags[data-v-de3acc2d],.tags[data-v-de3acc2d]{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap}
diff --git a/css/TagsView-DhQ9SnI2.chunk.css b/css/TagsView-DhQ9SnI2.chunk.css
deleted file mode 100644
index 5ba54990d9..0000000000
--- a/css/TagsView-DhQ9SnI2.chunk.css
+++ /dev/null
@@ -1 +0,0 @@
-.tag-cover[data-v-01249121]{display:flex;flex-direction:column;padding:16px;border-radius:12px}.tag-cover[data-v-01249121]:hover,.tag-cover[data-v-01249121]:focus{background:var(--color-background-dark)}.tag-cover__image[data-v-01249121]{width:350px;height:350px;object-fit:cover;border-radius:12px}@media only screen and (max-width:1200px){.tag-cover__image[data-v-01249121]{width:250px;height:250px}}.tag-cover__image--placeholder[data-v-01249121]{background:var(--color-primary-element-light)}.tag-cover__image--placeholder[data-v-01249121] .material-design-icon{width:100%;height:100%}.tag-cover__image--placeholder[data-v-01249121] .material-design-icon .material-design-icon__svg{fill:var(--color-primary-element)}.tag-cover__details[data-v-01249121]{display:flex;flex-direction:column;margin-top:16px;width:350px}@media only screen and (max-width:1200px){.tag-cover__details[data-v-01249121]{width:250px}}.tag-cover__details__first-line[data-v-01249121]{display:flex}.tag-cover__details__second-line[data-v-01249121]{display:flex;color:var(--color-text-lighter)}.tag-cover__details__name[data-v-01249121]{flex-grow:1;margin:0;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.loader[data-v-cb8dfce8]{margin-top:30vh}.container[data-v-cb8dfce8]{padding-inline-start:44px}.container>h2[data-v-cb8dfce8]{margin-inline-start:14px;margin-top:40px}.popular-tags[data-v-cb8dfce8],.tags[data-v-cb8dfce8]{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap}
diff --git a/js/ActionFavorite-DtTuy26y.chunk.mjs b/js/ActionFavorite-CTdcxNV0.chunk.mjs
similarity index 91%
rename from js/ActionFavorite-DtTuy26y.chunk.mjs
rename to js/ActionFavorite-CTdcxNV0.chunk.mjs
index 733079c958..c14bcaceec 100644
--- a/js/ActionFavorite-DtTuy26y.chunk.mjs
+++ b/js/ActionFavorite-CTdcxNV0.chunk.mjs
@@ -1,2 +1,2 @@
-import{d as o,a as s}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as i}from"./NcActions-CX1MSord-CCHAduKQ.chunk.mjs";import{S as a,a as r,n as l}from"./icons-Du8Q1knx.chunk.mjs";const c=o({name:"ActionFavorite",components:{Star:r,StarOutline:a,NcActionButton:i},props:{selectedFileIds:{type:Array,required:!0}},computed:{files(){return this.$store.state.files.files},shouldFavoriteSelection(){return this.selectedFileIds.some(t=>this.files[t].attributes.favorite===0)}},methods:{async favoriteSelection(){await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:1})},async unFavoriteSelection(){await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:0})},t:s}});var n=function(){var t=this,e=t._self._c;return t._self._setupProxy,t.shouldFavoriteSelection?e("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":t.t("photos","Mark selection as favorite")},on:{click:t.favoriteSelection}},[t._v(" "+t._s(t.t("photos","Add selection to favorites"))+" "),e("StarOutline",{attrs:{slot:"icon"},slot:"icon"})],1):e("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":t.t("photos","Remove selection from favorites")},on:{click:t.unFavoriteSelection}},[t._v(" "+t._s(t.t("photos","Remove selection from favorites"))+" "),e("Star",{attrs:{slot:"icon"},slot:"icon"})],1)},f=[],v=l(c,n,f,!1,null,null);const h=v.exports;export{h as A};
-//# sourceMappingURL=ActionFavorite-DtTuy26y.chunk.mjs.map
+import{d as o,a as s}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as i}from"./NcActions-CX1MSord-BRkkH9EI.chunk.mjs";import{S as a,a as r,n as l}from"./icons-Du8Q1knx.chunk.mjs";const c=o({name:"ActionFavorite",components:{Star:r,StarOutline:a,NcActionButton:i},props:{selectedFileIds:{type:Array,required:!0}},computed:{files(){return this.$store.state.files.files},shouldFavoriteSelection(){return this.selectedFileIds.some(t=>this.files[t].attributes.favorite===0)}},methods:{async favoriteSelection(){await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:1})},async unFavoriteSelection(){await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:0})},t:s}});var n=function(){var t=this,e=t._self._c;return t._self._setupProxy,t.shouldFavoriteSelection?e("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":t.t("photos","Mark selection as favorite")},on:{click:t.favoriteSelection}},[t._v(" "+t._s(t.t("photos","Add selection to favorites"))+" "),e("StarOutline",{attrs:{slot:"icon"},slot:"icon"})],1):e("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":t.t("photos","Remove selection from favorites")},on:{click:t.unFavoriteSelection}},[t._v(" "+t._s(t.t("photos","Remove selection from favorites"))+" "),e("Star",{attrs:{slot:"icon"},slot:"icon"})],1)},f=[],v=l(c,n,f,!1,null,null);const h=v.exports;export{h as A};
+//# sourceMappingURL=ActionFavorite-CTdcxNV0.chunk.mjs.map
diff --git a/js/ActionFavorite-DtTuy26y.chunk.mjs.license b/js/ActionFavorite-CTdcxNV0.chunk.mjs.license
similarity index 100%
rename from js/ActionFavorite-DtTuy26y.chunk.mjs.license
rename to js/ActionFavorite-CTdcxNV0.chunk.mjs.license
diff --git a/js/ActionFavorite-DtTuy26y.chunk.mjs.map b/js/ActionFavorite-CTdcxNV0.chunk.mjs.map
similarity index 97%
rename from js/ActionFavorite-DtTuy26y.chunk.mjs.map
rename to js/ActionFavorite-CTdcxNV0.chunk.mjs.map
index 1a85c8e08a..fb608f8334 100644
--- a/js/ActionFavorite-DtTuy26y.chunk.mjs.map
+++ b/js/ActionFavorite-CTdcxNV0.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"ActionFavorite-DtTuy26y.chunk.mjs","sources":["../src/components/Actions/ActionFavorite.vue"],"sourcesContent":["\n\n\t\n\t\t{{ t('photos', 'Add selection to favorites') }}\n\t\t\n\t\n\t\n\t\t{{ t('photos', 'Remove selection from favorites') }}\n\t\t\n\t\n\n\n\n"],"names":["_sfc_main","defineComponent","Star","StarOutline","NcActionButton","fileId","t"],"mappings":"wLAgCA,MAAAA,EAAAC,EAAA,CACA,KAAA,iBACA,WAAA,CACA,KAAAC,EACA,YAAAC,EACA,eAAAC,CAAA,EAGA,MAAA,CACA,gBAAA,CACA,KAAA,MACA,SAAA,EAAA,CACA,EAGA,SAAA,CACA,OAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,KACA,EAEA,yBAAA,CAEA,OAAA,KAAA,gBAAA,KAAAC,GAAA,KAAA,MAAAA,CAAA,EAAA,WAAA,WAAA,CAAA,CACA,CAAA,EAGA,QAAA,CACA,MAAA,mBAAA,CACA,MAAA,KAAA,OAAA,SAAA,yBAAA,CAAA,QAAA,KAAA,gBAAA,cAAA,EAAA,CACA,EAEA,MAAA,qBAAA,CACA,MAAA,KAAA,OAAA,SAAA,yBAAA,CAAA,QAAA,KAAA,gBAAA,cAAA,EAAA,CACA,EAAA,EAEAC,CAAA,CAEA,CAAA"}
\ No newline at end of file
+{"version":3,"file":"ActionFavorite-CTdcxNV0.chunk.mjs","sources":["../src/components/Actions/ActionFavorite.vue"],"sourcesContent":["\n\n\t\n\t\t{{ t('photos', 'Add selection to favorites') }}\n\t\t\n\t\n\t\n\t\t{{ t('photos', 'Remove selection from favorites') }}\n\t\t\n\t\n\n\n\n"],"names":["_sfc_main","defineComponent","Star","StarOutline","NcActionButton","fileId","t"],"mappings":"wLAgCA,MAAAA,EAAAC,EAAA,CACA,KAAA,iBACA,WAAA,CACA,KAAAC,EACA,YAAAC,EACA,eAAAC,CAAA,EAGA,MAAA,CACA,gBAAA,CACA,KAAA,MACA,SAAA,EAAA,CACA,EAGA,SAAA,CACA,OAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,KACA,EAEA,yBAAA,CAEA,OAAA,KAAA,gBAAA,KAAAC,GAAA,KAAA,MAAAA,CAAA,EAAA,WAAA,WAAA,CAAA,CACA,CAAA,EAGA,QAAA,CACA,MAAA,mBAAA,CACA,MAAA,KAAA,OAAA,SAAA,yBAAA,CAAA,QAAA,KAAA,gBAAA,cAAA,EAAA,CACA,EAEA,MAAA,qBAAA,CACA,MAAA,KAAA,OAAA,SAAA,yBAAA,CAAA,QAAA,KAAA,gBAAA,cAAA,EAAA,CACA,EAAA,EAEAC,CAAA,CAEA,CAAA"}
\ No newline at end of file
diff --git a/js/AlbumContent-DbouFA19.chunk.mjs b/js/AlbumContent-DRQNpKbv.chunk.mjs
similarity index 79%
rename from js/AlbumContent-DbouFA19.chunk.mjs
rename to js/AlbumContent-DRQNpKbv.chunk.mjs
index 54cd1e66df..521ca19930 100644
--- a/js/AlbumContent-DbouFA19.chunk.mjs
+++ b/js/AlbumContent-DRQNpKbv.chunk.mjs
@@ -1,2 +1,2 @@
-import{a as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as s,l as r,q as n,o as m,v as c}from"./index-2aJ7z47o.chunk.mjs";import{b as u,N as h}from"./NcActions-CX1MSord-CCHAduKQ.chunk.mjs";import{N as d}from"./index-SPoS3_zU-DmOABXuD.chunk.mjs";import{N as b}from"./NcDialog-DoGsI2_6-DCU3yxJO.chunk.mjs";import{N as p}from"./NcEmptyContent-DeR1PNM8.chunk.mjs";import{N as f}from"./NcLoadingIcon-TqAOhPV7.chunk.mjs";import{N as C}from"./NcModal-Ds-BuEsJ.chunk.mjs";import{b as A,P as N,c as g,M as F,d as _,D as v,C as y,n as w}from"./icons-Du8Q1knx.chunk.mjs";import{A as k}from"./ActionFavorite-DtTuy26y.chunk.mjs";import{C as S,A as M}from"./AlbumForm-Yw1DEwH0.chunk.mjs";import{C as P}from"./CollectionContent-DKsSg27k.chunk.mjs";import{H as $}from"./HeaderNavigation-BnighsIK.chunk.mjs";import{P as E}from"./PhotosPicker-BliJMNhw.chunk.mjs";import{F as I}from"./FetchCollectionContentMixin-d-kkPnMO.chunk.mjs";import{F as O}from"./FetchFilesMixin-c0Z5MKs1.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./video-BfiJ2KTq.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./index-CMnsBMUJ.chunk.mjs";import"./dialog-DS2KDHi-.chunk.mjs";import"./NcProgressBar-D7zYeXBH-DY74kwH1.chunk.mjs";import"./useHotKey-DZ4qTGGw.chunk.mjs";import"./NcTextField-CQp8XS4C-CvECvuUR.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./PhotosFiltersInput-BXqlWROs.chunk.mjs";import"./NcSelect-CxHfXvZV-D9MjEBDc.chunk.mjs";import"./floating-ui.utils.dom-Ddqhmmdk.chunk.mjs";import"./NcAvatar-C1ty7wsG-RPVX7GzJ.chunk.mjs";import"./NcDateTimePicker-BOzQrLmm.chunk.mjs";import"./NcDateTime-enXYuwj8-DxsiSyax.chunk.mjs";import"./useFormatDateTime-hCj0nLGk.chunk.mjs";import"./collectionFetcher-Bz3LAv8s.chunk.mjs";import"./index-x9vhq81Z.chunk.mjs";import"./NcSelectUsers-D2jOjPs4-CfpidnWm.chunk.mjs";import"./FileComponent-BzXldsWp.chunk.mjs";import"./NcCheckboxRadioSwitch-BAjRm8PQ-brzt9pFn.chunk.mjs";import"./NcIconToggleSwitch-B19dt_oD-CXYKENkX.chunk.mjs";import"./FilesSelectionMixin-DYjC4BAj.chunk.mjs";import"./fileFetcher-VV-8Iome.chunk.mjs";import"./FilesByMonthMixin-DKW9ilpY.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";import"./PhotoSearch-DSVNhvLT.chunk.mjs";import"./he-Bvc8k_P7.chunk.mjs";const B={name:"AlbumContent",components:{ActionFavorite:k,AlbumForm:M,Close:y,CollaboratorsSelectionForm:S,CollectionContent:P,DeleteOutline:v,PhotosPicker:E,HeaderNavigation:$,ImagePlusOutline:_,MapMarkerOutline:F,NcActionButton:h,NcActions:u,NcActionSeparator:d,NcButton:s,NcDialog:b,NcEmptyContent:p,NcLoadingIcon:f,NcModal:C,PencilOutline:g,Plus:N,ShareVariantOutline:A},mixins:[I,O],props:{albumName:{type:String,default:"/"}},setup(){return{isMobile:c()}},data(){return{showAddPhotosModal:!1,showManageCollaboratorView:!1,showEditAlbumForm:!1,loadingAddCollaborators:!1}},computed:{album(){return this.$store.getters.getAlbum(this.albumName)},albumFileIds(){return this.$store.getters.getAlbumFiles(this.albumName)},sharingEnabled(){return OC.Share!==void 0},albumFileName(){return this.$store.getters.getAlbumName(this.albumName)},removableSelectedFiles(){return(this.$refs.collectionContent?.selectedFileIds).map(t=>this.$store.state.files.files[t]).filter(t=>t.attributes["photos-album-file-origin"]!=="filters").map(t=>t.fileid.toString())}},async mounted(){this.fetchAlbum(),this.fetchAlbumContent()},methods:{async fetchAlbum(){await this.fetchCollection(this.albumFileName,m)},async fetchAlbumContent(){await this.fetchCollectionFiles(this.albumFileName,n)},async handleAlbumUpdate({album:t,changes:o}){this.showEditAlbumForm=!1,o.includes("name")&&await this.$router.push(`/albums/${t.basename}`),o.includes("filters")&&this.fetchAlbumContent()},async handleFilesPicked(t){this.showAddPhotosModal=!1,await this.$store.dispatch("addFilesToCollection",{collectionFileName:this.album?.root+this.album?.path,fileIdsToAdd:t}),await this.fetchAlbumContent()},async handleRemoveFilesFromAlbum(t){this.$refs.collectionContent?.onUncheckFiles(t),await this.$store.dispatch("removeFilesFromCollection",{collectionFileName:this.album?.root+this.album?.path,fileIdsToRemove:t})},async handleDeleteAlbum(){await this.$store.dispatch("deleteCollection",{collectionFileName:this.album?.root+this.album?.path})&&this.$router.push("/albums")},async handleSetCollaborators(t){try{this.loadingAddCollaborators=!0,this.showManageCollaboratorView=!1,await this.$store.dispatch("updateCollection",{collectionFileName:this.album?.root+this.album?.path,properties:{collaborators:t}})}catch(o){r.error("Error while setting album collaborators",{error:o})}finally{this.loadingAddCollaborators=!1}},async handleFiltersChange(t){await this.$store.dispatch("updateCollection",{collectionFileName:this.album?.root+this.album?.path,properties:{filters:t}}),this.fetchAlbumContent()},t:i}};var D=function(){var t=this,o=t._self._c;return o("div",{staticClass:"album-container"},[o("CollectionContent",{ref:"collectionContent",attrs:{collection:t.album,"collection-file-ids":t.albumFileIds,loading:t.loadingCollection||t.loadingCollectionFiles,error:t.errorFetchingCollection||t.errorFetchingCollectionFiles},scopedSlots:t._u([{key:"header",fn:function({selectedFileIds:e,resetSelection:l}){return o("HeaderNavigation",{key:"navigation",attrs:{loading:t.loadingCollectionFiles,params:{albumName:t.albumName},path:"/"+t.albumName,title:t.albumName},on:{refresh:t.fetchAlbumContent}},[t.album!==void 0&&t.album.attributes.location!==""?o("div",{staticClass:"album__location",attrs:{slot:"subtitle"},slot:"subtitle"},[o("MapMarkerOutline"),t._v(t._s(t.album.attributes.location)+" ")],1):t._e(),o("template",{slot:"default"},[e.length>0?o("NcButton",{attrs:{"aria-label":t.t("photos","Unselect all")},on:{click:l},scopedSlots:t._u([{key:"icon",fn:function(){return[o("Close")]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.t("photos","Unselect all"))+" ")]):t._e()],1),t.album!==void 0?o("template",{slot:"right"},[o("NcButton",{on:{click:function(a){t.showAddPhotosModal=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[o("Plus",{attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.t("photos","Add photos to this album"))+" ")]),t.sharingEnabled?o("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("photos","Manage collaborators for this album")},on:{click:function(a){t.showManageCollaboratorView=!0}}},[o("ShareVariantOutline",{attrs:{slot:"icon"},slot:"icon"})],1):t._e(),o("NcActions",{attrs:{"aria-label":t.t("photos","Open actions menu")}},[o("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":t.t("photos","Edit album details")},on:{click:function(a){t.showEditAlbumForm=!0}}},[t._v(" "+t._s(t.t("photos","Edit album details"))+" "),o("PencilOutline",{attrs:{slot:"icon"},slot:"icon"})],1),o("NcActionButton",{attrs:{"close-after-click":!0},on:{click:t.handleDeleteAlbum}},[t._v(" "+t._s(t.t("photos","Delete album"))+" "),o("DeleteOutline",{attrs:{slot:"icon"},slot:"icon"})],1),e.length>0?[o("NcActionSeparator"),o("ActionFavorite",{attrs:{"selected-file-ids":e}}),t.removableSelectedFiles.length!==0?o("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(a){return t.handleRemoveFilesFromAlbum(t.removableSelectedFiles)}}},[t._v(" "+t._s(t.t("photos","Remove selection from album"))+" "),o("Close",{attrs:{slot:"icon"},slot:"icon"})],1):t._e()]:t._e()],2)],1):t._e()],2)}}])},[t.album!==void 0&&t.album.attributes.nbItems===0&&!(t.loadingCollectionFiles||t.loadingCollection)?o("NcEmptyContent",{staticClass:"album__empty",attrs:{slot:"empty-content",name:t.t("photos","This album does not have any photos or videos yet!")},slot:"empty-content"},[o("ImagePlusOutline",{attrs:{slot:"icon"},slot:"icon"}),o("NcButton",{staticClass:"album__empty__button",attrs:{slot:"action",variant:"primary","aria-label":t.t("photos","Add photos to this album")},on:{click:function(e){t.showAddPhotosModal=!0}},slot:"action"},[o("Plus",{attrs:{slot:"icon"},slot:"icon"}),t._v(" "+t._s(t.t("photos","Add"))+" ")],1)],1):t._e()],1),t.album!==void 0?o("PhotosPicker",{attrs:{open:t.showAddPhotosModal,"blacklist-ids":t.albumFileIds,destination:t.album.basename,name:t.t("photos","Add photos to {albumName}",{albumName:t.albumName},void 0,{escape:!1,sanitize:!1})},on:{"update:open":function(e){t.showAddPhotosModal=e},"files-picked":t.handleFilesPicked}}):t._e(),t.showManageCollaboratorView&&t.album!==void 0?o("NcModal",{attrs:{name:t.t("photos","Manage collaborators")},on:{close:function(e){t.showManageCollaboratorView=!1}}},[o("CollaboratorsSelectionForm",{attrs:{"album-name":t.album.basename,collaborators:t.album.attributes.collaborators},scopedSlots:t._u([{key:"default",fn:function({collaborators:e}){return[o("NcButton",{attrs:{"aria-label":t.t("photos","Save collaborators for this album."),variant:"primary",disabled:t.loadingAddCollaborators},on:{click:function(l){return t.handleSetCollaborators(e)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loadingAddCollaborators?o("NcLoadingIcon"):t._e()]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.t("photos","Save"))+" ")])]}}],null,!1,2061546483)})],1):t._e(),t.showEditAlbumForm?o("NcDialog",{attrs:{name:t.t("photos","Edit album details"),"close-on-click-outside":"",size:"normal"},on:{closing:function(e){t.showEditAlbumForm=!1}}},[o("AlbumForm",{attrs:{album:t.album},on:{done:e=>t.handleAlbumUpdate(e)}})],1):t._e()],1)},V=[],x=w(B,D,V,!1,null,"abfcb917");const Mt=x.exports;export{Mt as default};
-//# sourceMappingURL=AlbumContent-DbouFA19.chunk.mjs.map
+import{a as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as s,l as r,q as n,o as m,v as c}from"./index-CiNJWU5O.chunk.mjs";import{b as u,N as h}from"./NcActions-CX1MSord-BRkkH9EI.chunk.mjs";import{N as d}from"./index-SPoS3_zU-BQ1u8mle.chunk.mjs";import{N as b}from"./NcDialog-DoGsI2_6-CL18WLkD.chunk.mjs";import{N as p}from"./NcEmptyContent-HahlduMT.chunk.mjs";import{N as f}from"./NcLoadingIcon-e2aOocUH.chunk.mjs";import{N as C}from"./NcModal-DZaxRMd3.chunk.mjs";import{b as A,P as N,c as g,M as F,d as _,D as v,C as y,n as w}from"./icons-Du8Q1knx.chunk.mjs";import{A as k}from"./ActionFavorite-CTdcxNV0.chunk.mjs";import{C as S,A as M}from"./AlbumForm-auL4CMkK.chunk.mjs";import{C as P}from"./CollectionContent-BsuASp5_.chunk.mjs";import{H as $}from"./HeaderNavigation-BAvYhNd3.chunk.mjs";import{P as E}from"./PhotosPicker-CsnP6gkm.chunk.mjs";import{F as I}from"./FetchCollectionContentMixin-b6TNwZVw.chunk.mjs";import{F as O}from"./FetchFilesMixin-BR630ez8.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./video-DOsUo6T9.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./index-CMnsBMUJ.chunk.mjs";import"./dialog-DS2KDHi-.chunk.mjs";import"./NcProgressBar-D7zYeXBH-O0ahN0R6.chunk.mjs";import"./useHotKey-CTDiXBP3.chunk.mjs";import"./NcTextField-CQp8XS4C-B89qIhVu.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./PhotosFiltersInput-BIWnbC2j.chunk.mjs";import"./NcSelect-CxHfXvZV-DzcQjhTx.chunk.mjs";import"./floating-ui.utils.dom-Ddqhmmdk.chunk.mjs";import"./NcAvatar-C1ty7wsG-Bzovkf5U.chunk.mjs";import"./NcDateTimePicker-DH0XuwPU.chunk.mjs";import"./NcDateTime-enXYuwj8-CoCOxfk6.chunk.mjs";import"./useFormatDateTime-BjfqHSfp.chunk.mjs";import"./collectionFetcher-DoWmhuFQ.chunk.mjs";import"./index-x9vhq81Z.chunk.mjs";import"./NcSelectUsers-D2jOjPs4-Dx1mcFve.chunk.mjs";import"./FileComponent-egEQikjb.chunk.mjs";import"./NcCheckboxRadioSwitch-BAjRm8PQ-D6NIuIHu.chunk.mjs";import"./NcIconToggleSwitch-B19dt_oD-BS5yGCpi.chunk.mjs";import"./FilesSelectionMixin-SO2iJyJI.chunk.mjs";import"./fileFetcher-07GqI905.chunk.mjs";import"./FilesByMonthMixin-DKW9ilpY.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";import"./PhotoSearch-B5ZDc_D4.chunk.mjs";import"./he-Bvc8k_P7.chunk.mjs";const B={name:"AlbumContent",components:{ActionFavorite:k,AlbumForm:M,Close:y,CollaboratorsSelectionForm:S,CollectionContent:P,DeleteOutline:v,PhotosPicker:E,HeaderNavigation:$,ImagePlusOutline:_,MapMarkerOutline:F,NcActionButton:h,NcActions:u,NcActionSeparator:d,NcButton:s,NcDialog:b,NcEmptyContent:p,NcLoadingIcon:f,NcModal:C,PencilOutline:g,Plus:N,ShareVariantOutline:A},mixins:[I,O],props:{albumName:{type:String,default:"/"}},setup(){return{isMobile:c()}},data(){return{showAddPhotosModal:!1,showManageCollaboratorView:!1,showEditAlbumForm:!1,loadingAddCollaborators:!1}},computed:{album(){return this.$store.getters.getAlbum(this.albumName)},albumFileIds(){return this.$store.getters.getAlbumFiles(this.albumName)},sharingEnabled(){return OC.Share!==void 0},albumFileName(){return this.$store.getters.getAlbumName(this.albumName)},removableSelectedFiles(){return(this.$refs.collectionContent?.selectedFileIds).map(t=>this.$store.state.files.files[t]).filter(t=>t.attributes["photos-album-file-origin"]!=="filters").map(t=>t.fileid.toString())}},async mounted(){this.fetchAlbum(),this.fetchAlbumContent()},methods:{async fetchAlbum(){await this.fetchCollection(this.albumFileName,m)},async fetchAlbumContent(){await this.fetchCollectionFiles(this.albumFileName,n)},async handleAlbumUpdate({album:t,changes:o}){this.showEditAlbumForm=!1,o.includes("name")&&await this.$router.push(`/albums/${t.basename}`),o.includes("filters")&&this.fetchAlbumContent()},async handleFilesPicked(t){this.showAddPhotosModal=!1,await this.$store.dispatch("addFilesToCollection",{collectionFileName:this.album?.root+this.album?.path,fileIdsToAdd:t}),await this.fetchAlbumContent()},async handleRemoveFilesFromAlbum(t){this.$refs.collectionContent?.onUncheckFiles(t),await this.$store.dispatch("removeFilesFromCollection",{collectionFileName:this.album?.root+this.album?.path,fileIdsToRemove:t})},async handleDeleteAlbum(){await this.$store.dispatch("deleteCollection",{collectionFileName:this.album?.root+this.album?.path})&&this.$router.push("/albums")},async handleSetCollaborators(t){try{this.loadingAddCollaborators=!0,this.showManageCollaboratorView=!1,await this.$store.dispatch("updateCollection",{collectionFileName:this.album?.root+this.album?.path,properties:{collaborators:t}})}catch(o){r.error("Error while setting album collaborators",{error:o})}finally{this.loadingAddCollaborators=!1}},async handleFiltersChange(t){await this.$store.dispatch("updateCollection",{collectionFileName:this.album?.root+this.album?.path,properties:{filters:t}}),this.fetchAlbumContent()},t:i}};var D=function(){var t=this,o=t._self._c;return o("div",{staticClass:"album-container"},[o("CollectionContent",{ref:"collectionContent",attrs:{collection:t.album,"collection-file-ids":t.albumFileIds,loading:t.loadingCollection||t.loadingCollectionFiles,error:t.errorFetchingCollection||t.errorFetchingCollectionFiles},scopedSlots:t._u([{key:"header",fn:function({selectedFileIds:e,resetSelection:l}){return o("HeaderNavigation",{key:"navigation",attrs:{loading:t.loadingCollectionFiles,params:{albumName:t.albumName},path:"/"+t.albumName,title:t.albumName},on:{refresh:t.fetchAlbumContent}},[t.album!==void 0&&t.album.attributes.location!==""?o("div",{staticClass:"album__location",attrs:{slot:"subtitle"},slot:"subtitle"},[o("MapMarkerOutline"),t._v(t._s(t.album.attributes.location)+" ")],1):t._e(),o("template",{slot:"default"},[e.length>0?o("NcButton",{attrs:{"aria-label":t.t("photos","Unselect all")},on:{click:l},scopedSlots:t._u([{key:"icon",fn:function(){return[o("Close")]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.t("photos","Unselect all"))+" ")]):t._e()],1),t.album!==void 0?o("template",{slot:"right"},[o("NcButton",{on:{click:function(a){t.showAddPhotosModal=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[o("Plus",{attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.t("photos","Add photos to this album"))+" ")]),t.sharingEnabled?o("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("photos","Manage collaborators for this album")},on:{click:function(a){t.showManageCollaboratorView=!0}}},[o("ShareVariantOutline",{attrs:{slot:"icon"},slot:"icon"})],1):t._e(),o("NcActions",{attrs:{"aria-label":t.t("photos","Open actions menu")}},[o("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":t.t("photos","Edit album details")},on:{click:function(a){t.showEditAlbumForm=!0}}},[t._v(" "+t._s(t.t("photos","Edit album details"))+" "),o("PencilOutline",{attrs:{slot:"icon"},slot:"icon"})],1),o("NcActionButton",{attrs:{"close-after-click":!0},on:{click:t.handleDeleteAlbum}},[t._v(" "+t._s(t.t("photos","Delete album"))+" "),o("DeleteOutline",{attrs:{slot:"icon"},slot:"icon"})],1),e.length>0?[o("NcActionSeparator"),o("ActionFavorite",{attrs:{"selected-file-ids":e}}),t.removableSelectedFiles.length!==0?o("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(a){return t.handleRemoveFilesFromAlbum(t.removableSelectedFiles)}}},[t._v(" "+t._s(t.t("photos","Remove selection from album"))+" "),o("Close",{attrs:{slot:"icon"},slot:"icon"})],1):t._e()]:t._e()],2)],1):t._e()],2)}}])},[t.album!==void 0&&t.album.attributes.nbItems===0&&!(t.loadingCollectionFiles||t.loadingCollection)?o("NcEmptyContent",{staticClass:"album__empty",attrs:{slot:"empty-content",name:t.t("photos","This album does not have any photos or videos yet!")},slot:"empty-content"},[o("ImagePlusOutline",{attrs:{slot:"icon"},slot:"icon"}),o("NcButton",{staticClass:"album__empty__button",attrs:{slot:"action",variant:"primary","aria-label":t.t("photos","Add photos to this album")},on:{click:function(e){t.showAddPhotosModal=!0}},slot:"action"},[o("Plus",{attrs:{slot:"icon"},slot:"icon"}),t._v(" "+t._s(t.t("photos","Add"))+" ")],1)],1):t._e()],1),t.album!==void 0?o("PhotosPicker",{attrs:{open:t.showAddPhotosModal,"blacklist-ids":t.albumFileIds,destination:t.album.basename,name:t.t("photos","Add photos to {albumName}",{albumName:t.albumName},void 0,{escape:!1,sanitize:!1})},on:{"update:open":function(e){t.showAddPhotosModal=e},"files-picked":t.handleFilesPicked}}):t._e(),t.showManageCollaboratorView&&t.album!==void 0?o("NcModal",{attrs:{name:t.t("photos","Manage collaborators")},on:{close:function(e){t.showManageCollaboratorView=!1}}},[o("CollaboratorsSelectionForm",{attrs:{"album-name":t.album.basename,collaborators:t.album.attributes.collaborators},scopedSlots:t._u([{key:"default",fn:function({collaborators:e}){return[o("NcButton",{attrs:{"aria-label":t.t("photos","Save collaborators for this album."),variant:"primary",disabled:t.loadingAddCollaborators},on:{click:function(l){return t.handleSetCollaborators(e)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loadingAddCollaborators?o("NcLoadingIcon"):t._e()]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.t("photos","Save"))+" ")])]}}],null,!1,2061546483)})],1):t._e(),t.showEditAlbumForm?o("NcDialog",{attrs:{name:t.t("photos","Edit album details"),"close-on-click-outside":"",size:"normal"},on:{closing:function(e){t.showEditAlbumForm=!1}}},[o("AlbumForm",{attrs:{album:t.album},on:{done:e=>t.handleAlbumUpdate(e)}})],1):t._e()],1)},V=[],x=w(B,D,V,!1,null,"abfcb917");const Mt=x.exports;export{Mt as default};
+//# sourceMappingURL=AlbumContent-DRQNpKbv.chunk.mjs.map
diff --git a/js/AlbumContent-DbouFA19.chunk.mjs.license b/js/AlbumContent-DRQNpKbv.chunk.mjs.license
similarity index 100%
rename from js/AlbumContent-DbouFA19.chunk.mjs.license
rename to js/AlbumContent-DRQNpKbv.chunk.mjs.license
diff --git a/js/AlbumContent-DbouFA19.chunk.mjs.map b/js/AlbumContent-DRQNpKbv.chunk.mjs.map
similarity index 99%
rename from js/AlbumContent-DbouFA19.chunk.mjs.map
rename to js/AlbumContent-DRQNpKbv.chunk.mjs.map
index 9dfd76bd24..9fe024357a 100644
--- a/js/AlbumContent-DbouFA19.chunk.mjs.map
+++ b/js/AlbumContent-DRQNpKbv.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"AlbumContent-DbouFA19.chunk.mjs","sources":["../src/views/AlbumContent.vue"],"sourcesContent":["\n\n\t
\n\n\t\t\t\t\n\t\t\t\t\t 0\"\n\t\t\t\t\t\t:aria-label=\"t('photos', 'Unselect all')\"\n\t\t\t\t\t\t@click=\"resetSelection\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Unselect all') }}\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Add photos to this album') }}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Edit album details') }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Delete album') }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t 0\">\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ t('photos', 'Remove selection from album') }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ t('photos', \"Add\") }}\n\t\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Save') }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t handleAlbumUpdate(event)\" />\n\t\t\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","ActionFavorite","AlbumForm","Close","CollaboratorsSelectionForm","CollectionContent","DeleteOutline","PhotosPicker","HeaderNavigation","ImagePlusOutline","MapMarkerOutline","NcActionButton","NcActions","NcActionSeparator","NcButton","NcDialog","NcEmptyContent","NcLoadingIcon","NcModal","PencilOutline","Plus","ShareVariantOutline","FetchCollectionContentMixin","FetchFilesMixin","useIsMobile","fileId","file","albumsExtraProps","albumFilesExtraProps","album","changes","fileIds","collaborators","error","logger","filters","translate"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"AlbumContent-DRQNpKbv.chunk.mjs","sources":["../src/views/AlbumContent.vue"],"sourcesContent":["\n\n\t
\n\n\t\t\t\t\n\t\t\t\t\t 0\"\n\t\t\t\t\t\t:aria-label=\"t('photos', 'Unselect all')\"\n\t\t\t\t\t\t@click=\"resetSelection\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Unselect all') }}\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Add photos to this album') }}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Edit album details') }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Delete album') }}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t 0\">\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ t('photos', 'Remove selection from album') }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ t('photos', \"Add\") }}\n\t\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Save') }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\t\t\t handleAlbumUpdate(event)\" />\n\t\t\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","ActionFavorite","AlbumForm","Close","CollaboratorsSelectionForm","CollectionContent","DeleteOutline","PhotosPicker","HeaderNavigation","ImagePlusOutline","MapMarkerOutline","NcActionButton","NcActions","NcActionSeparator","NcButton","NcDialog","NcEmptyContent","NcLoadingIcon","NcModal","PencilOutline","Plus","ShareVariantOutline","FetchCollectionContentMixin","FetchFilesMixin","useIsMobile","fileId","file","albumsExtraProps","albumFilesExtraProps","album","changes","fileIds","collaborators","error","logger","filters","translate"],"mappings":"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"}
\ No newline at end of file
diff --git a/js/AlbumForm-Yw1DEwH0.chunk.mjs b/js/AlbumForm-auL4CMkK.chunk.mjs
similarity index 96%
rename from js/AlbumForm-Yw1DEwH0.chunk.mjs
rename to js/AlbumForm-auL4CMkK.chunk.mjs
index 17565dd8f4..51871108f7 100644
--- a/js/AlbumForm-Yw1DEwH0.chunk.mjs
+++ b/js/AlbumForm-auL4CMkK.chunk.mjs
@@ -1,2 +1,2 @@
-import{m,v as p,I as d,a as i}from"./index-CPw5H2i_.chunk.mjs";import{a as s,B as C,n as f,p as y,r as k,g}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as b,l as r,s as n,o as v,H as N,m as c}from"./index-2aJ7z47o.chunk.mjs";import{N as L}from"./NcLoadingIcon-TqAOhPV7.chunk.mjs";import{N as F}from"./NcTextField-CQp8XS4C-CvECvuUR.chunk.mjs";import{E as _,o as S,p as w,C as $,n as h,i as A,q as x,M}from"./icons-Du8Q1knx.chunk.mjs";import{P as B,a as P,f as V}from"./PhotosFiltersInput-BXqlWROs.chunk.mjs";import{S as l}from"./index-x9vhq81Z.chunk.mjs";import{N as E}from"./NcSelectUsers-D2jOjPs4-CfpidnWm.chunk.mjs";import{F as O}from"./FetchCollectionContentMixin-d-kkPnMO.chunk.mjs";const u="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='mdi-account-group-outline'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M12,5A3.5,3.5%200%200,0%208.5,8.5A3.5,3.5%200%200,0%2012,12A3.5,3.5%200%200,0%2015.5,8.5A3.5,3.5%200%200,0%2012,5M12,7A1.5,1.5%200%200,1%2013.5,8.5A1.5,1.5%200%200,1%2012,10A1.5,1.5%200%200,1%2010.5,8.5A1.5,1.5%200%200,1%2012,7M5.5,8A2.5,2.5%200%200,0%203,10.5C3,11.44%203.53,12.25%204.29,12.68C4.65,12.88%205.06,13%205.5,13C5.94,13%206.35,12.88%206.71,12.68C7.08,12.47%207.39,12.17%207.62,11.81C6.89,10.86%206.5,9.7%206.5,8.5C6.5,8.41%206.5,8.31%206.5,8.22C6.2,8.08%205.86,8%205.5,8M18.5,8C18.14,8%2017.8,8.08%2017.5,8.22C17.5,8.31%2017.5,8.41%2017.5,8.5C17.5,9.7%2017.11,10.86%2016.38,11.81C16.5,12%2016.63,12.15%2016.78,12.3C16.94,12.45%2017.1,12.58%2017.29,12.68C17.65,12.88%2018.06,13%2018.5,13C18.94,13%2019.35,12.88%2019.71,12.68C20.47,12.25%2021,11.44%2021,10.5A2.5,2.5%200%200,0%2018.5,8M12,14C9.66,14%205,15.17%205,17.5V19H19V17.5C19,15.17%2014.34,14%2012,14M4.71,14.55C2.78,14.78%200,15.76%200,17.5V19H3V17.07C3,16.06%203.69,15.22%204.71,14.55M19.29,14.55C20.31,15.22%2021,16.06%2021,17.07V19H24V17.5C24,15.76%2021.22,14.78%2019.29,14.55M12,16C13.53,16%2015.24,16.5%2016.23,17H7.77C8.76,16.5%2010.47,16%2012,16Z'%20/%3e%3c/svg%3e",I={name:"CollaboratorsSelectionForm",components:{Close:$,ContentCopy:w,Check:S,Earth:_,NcButton:b,NcSelectUsers:E},mixins:[O],props:{albumName:{type:String,required:!0},collaborators:{type:Array,default:()=>[]},allowPublicLink:{type:Boolean,default:!0}},data(){return{availableCollaborators:{},selectedCollaboratorsKeys:[],currentSearchResults:[],loadingCollaborators:!1,randomId:Math.random().toString().substring(2,10),publicLinkCopied:!1,collaboratorTypes:l,config:{minSearchStringLength:parseInt(OC.config["sharing.minSearchStringLength"],10)||0}}},computed:{searchResults(){return this.currentSearchResults.filter(({id:t})=>t!==y()?.uid).map(t=>({key:`${t.type}:${t.id}`,id:t.id,user:t.id,displayName:t.label,type:t.type===l.User?"user":"group",iconSvg:t.type===l.Group?u:void 0})).filter(({key:t})=>!this.selectedCollaboratorsKeys.includes(t))},selectedCollaborators(){return this.selectedCollaboratorsKeys.map(t=>this.availableCollaborators[t])},selectedUsers:{get(){return this.selectedCollaborators.filter(({type:t})=>t!==l.Link).map(t=>({key:`${t.type}:${t.id}`,id:t.id,user:t.id,displayName:t.label,type:t.type===l.User?"user":"group",iconSvg:t.type===l.Group?u:void 0}))},set(t){this.selectedCollaboratorsKeys=t.map(({key:e})=>e)}},isPublicLinkSelected(){return this.selectedCollaboratorsKeys.includes(`${l.Link}`)},publicLink(){return this.availableCollaborators[l.Link]},publicLinkURL(){return`${window.location.protocol}//${window.location.host}${f(`apps/photos/public/${this.publicLink.id}`)}`},albumFileName(){return this.$store.getters.getAlbumName(this.albumName)}},watch:{collaborators(t){this.populateCollaborators(t)}},mounted(){this.populateCollaborators(this.collaborators)},methods:{async searchCollaborators(t){if(t!==void 0&&(t=t.trim(),!(t.length{switch(a.source){case"users":return{id:a.id,label:a.label,type:l.User};case"groups":return{id:a.id,label:a.label,type:l.Group};default:throw new Error(`Invalid collaborator source ${a.source}`)}}),this.availableCollaborators={...this.availableCollaborators,...this.currentSearchResults.reduce(this.indexCollaborators,{})}}catch(e){this.errorFetchingCollaborators=e,r.error(this.t("photos","Failed to fetch collaborators list."),{error:e}),n(this.t("photos","Failed to fetch collaborators list."))}finally{this.loadingCollaborators=!1}},populateCollaborators(t){const e=t.reduce(this.indexCollaborators,{});this.selectedCollaboratorsKeys=Object.keys(e),this.availableCollaborators={3:{id:"",label:this.t("photos","Public link"),type:l.Link},...this.availableCollaborators,...e}},indexCollaborators(t,e){return{...t,[`${e.type}${e.type===l.Link?"":":"}${e.type===l.Link?"":e.id}`]:e}},async createPublicLinkForAlbum(){this.selectEntity(`${l.Link}`),await this.updateAlbumCollaborators(),await this.fetchCollection(this.albumFileName,v)},async deletePublicLink(){this.unselectEntity(`${l.Link}`),this.availableCollaborators[3]={id:"",label:this.t("photos","Public link"),type:l.Link},this.publicLinkCopied=!1,await this.updateAlbumCollaborators()},async updateAlbumCollaborators(){try{await this.$store.dispatch("updateCollection",{collectionFileName:this.albumFileName,properties:{collaborators:this.selectedCollaborators}})}catch(t){r.error("[PublicAlbumContent] Error updating album",{error:t}),n(this.t("photos","Failed to update album."))}},async copyPublicLink(){await navigator.clipboard.writeText(this.publicLinkURL),this.publicLinkCopied=!0,setTimeout(()=>{this.publicLinkCopied=!1},1e4)},selectEntity(t){this.selectedCollaboratorsKeys.includes(t)||this.selectedCollaboratorsKeys.push(t)},unselectEntity(t){const e=this.selectedCollaboratorsKeys.indexOf(t);e!==-1&&this.selectedCollaboratorsKeys.splice(e,1)},t:s}};var U=function(){var t=this,e=t._self._c;return e("div",{staticClass:"manage-collaborators"},[e("h2",{staticClass:"manage-collaborators__title"},[t._v(" "+t._s(t.t("photos","Add collaborators"))+" ")]),e("form",{staticClass:"manage-collaborators__form",on:{submit:function(a){a.preventDefault()}}},[e("NcSelectUsers",{attrs:{"input-id":"sharing-search-input","input-label":t.t("photos","Add people or groups who can edit your album"),loading:t.loadingCollaborators,label:"label",filterable:!1,placeholder:t.t("photos","Search people or groups"),"clear-search-on-blur":()=>!1,multiple:!0,"append-to-body":!1,options:t.searchResults},on:{search:t.searchCollaborators,"option:selected":({key:a})=>t.selectEntity(a)},model:{value:t.selectedUsers,callback:function(a){t.selectedUsers=a},expression:"selectedUsers"}},[t._v(" "+t._s(t.t("photos","No recommendations. Start typing."))+" ")])],1),e("div",{staticClass:"actions"},[t.allowPublicLink?e("div",{staticClass:"actions__public-link"},[t.isPublicLinkSelected&&t.publicLink.id!==""?[e("NcButton",{staticClass:"manage-collaborators__public-link-button",attrs:{"aria-label":t.t("photos","Copy the public link"),title:t.publicLinkURL},on:{click:t.copyPublicLink},scopedSlots:t._u([{key:"icon",fn:function(){return[t.publicLinkCopied?e("Check"):e("ContentCopy")]},proxy:!0}],null,!1,845538853)},[t.publicLinkCopied?[t._v(" "+t._s(t.t("photos","Public link copied!"))+" ")]:[t._v(" "+t._s(t.t("photos","Copy public link"))+" ")]],2),e("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("photos","Delete the public link")},on:{click:t.deletePublicLink}},[e("Close",{attrs:{slot:"icon"},slot:"icon"})],1)]:e("NcButton",{staticClass:"manage-collaborators__public-link-button",attrs:{disabled:t.isPublicLinkSelected&&t.publicLink.id==="","aria-label":t.t("photos","Create public link share")},on:{click:t.createPublicLinkForAlbum}},[e("Earth",{attrs:{slot:"icon"},slot:"icon"}),t._v(" "+t._s(t.t("photos","Share via public link"))+" ")],1)],2):t._e(),e("div",{staticClass:"actions__slot"},[t._t("default",null,{collaborators:t.selectedCollaborators})],2)])])},T=[],K=h(I,U,T,!1,null,"e411f323");const R=K.exports,z={name:"AlbumForm",components:{MapMarkerOutline:M,AccountMultiplePlusOutline:x,SendOutline:A,NcButton:b,NcLoadingIcon:L,NcTextField:F,CollaboratorsSelectionForm:R,PhotosFiltersInput:P,PhotosFiltersDisplay:B},props:{album:{type:Object,default:null},filtersValue:{type:Object,default:()=>({})},displayBackButton:{type:Boolean,default:!1}},data(){return{showCollaboratorView:!1,albumName:"",albumLocation:"",albumFilters:V.reduce((t,e)=>({...t,[e.id]:[]}),{}),loading:!1}},computed:{editMode(){return this.album!==null},sharingEnabled(){return OC.Share!==void 0},albumFileName(){return this.$store.getters.getAlbumName(this.albumName)},albumNameValidationError(){const t=this.$store.getters.albums[this.albumFileName];if(t!==void 0&&this.album!==t&&!this.loading)return s("files","This name is already in use.");try{p(this.albumName)}catch(e){if(!(e instanceof d))throw e;switch(e.reason){case i.Character:return s("files",'"{char}" is not allowed inside a filename.',{char:e.segment});case i.ReservedName:return;case i.Extension:return;default:return s("files","Invalid filename.")}}},canSubmit(){return this.albumName!==""&&this.albumNameValidationError===void 0&&!this.loading}},mounted(){this.editMode?(this.albumName=this.album?.basename,this.albumLocation=this.album?.attributes.location??"",this.albumFilters={...this.albumFilters,...structuredClone(this.album?.attributes.filters??{})}):this.albumFilters={...this.albumFilters,...structuredClone(this.filtersValue)},this.$nextTick(()=>{this.$refs.nameInput.$el.getElementsByTagName("input")[0].focus()})},methods:{submit(t=[]){this.canSubmit&&(this.editMode?this.handleUpdateAlbum():this.handleCreateAlbum(t))},async handleCreateAlbum(t=[]){try{this.loading=!0;const e=k({basename:this.albumName,filename:c+"/"+this.albumName,lastmod:"",size:0,type:"directory",etag:null,props:{displayname:this.albumName,resourcetype:{},nbItems:0,location:this.albumLocation,"last-photo":-1,date:m().format("MMMM YYYY"),collaborators:t,filters:this.filtersValue,source:g(`dav/${this.albumFileName}`)}},c);let a=await this.$store.dispatch("createCollection",{collection:e});if(a===void 0)return;const o={};this.albumLocation!==""&&(o.location=this.albumLocation),(this.albumLocation!==""||t.length!==0)&&(o.collaborators=t),Object.keys(this.filtersValue).length>0&&(o.filters=this.filtersValue),a=await this.$store.dispatch("updateCollection",{collectionFileName:this.albumFileName,properties:o}),this.$emit("done",{album:a})}finally{this.loading=!1}},async handleUpdateAlbum(){try{this.loading=!0;let t=this.album?.clone();const e=[];if(this.album!==null&&this.album.basename!==this.albumName&&(e.push("name"),t=await this.$store.dispatch("renameCollection",{collectionFileName:this.album.root+this.album.path,newBaseName:this.albumName}),t===this.album))return;this.album!==null&&this.album.attributes.location!==this.albumLocation&&(e.push("location"),t=await this.$store.dispatch("updateCollection",{collectionFileName:t.root+t.path,properties:{location:this.albumLocation}})),this.album!==null&&JSON.stringify(this.album.attributes.filters)!==JSON.stringify(this.albumFilters)&&(e.push("filters"),t=await this.$store.dispatch("updateCollection",{collectionFileName:t.root+t.path,properties:{filters:this.albumFilters}})),this.$emit("done",{album:t,changes:e})}finally{this.loading=!1}},selectFilter(t){this.albumFilters[t.filterId].push(t.value)},deselectFilter(t){const e=this.albumFilters[t.filterId].indexOf(t.value);e!==-1&&this.albumFilters[t.filterId].splice(e,1)},back(){this.$emit("back")},t:s}};var D=function(){var t=this,e=t._self._c;return t.showCollaboratorView?e("CollaboratorsSelectionForm",{attrs:{"album-name":t.albumName,"allow-public-link":!1},scopedSlots:t._u([{key:"default",fn:function({collaborators:a}){return[e("span",{staticClass:"left-buttons"},[e("NcButton",{attrs:{variant:"tertiary"},on:{click:function(o){t.showCollaboratorView=!1}}},[t._v(" "+t._s(t.t("photos","Back"))+" ")])],1),e("span",{staticClass:"right-buttons"},[e("NcButton",{attrs:{variant:"primary",disabled:!t.canSubmit},on:{click:function(o){return t.submit(a)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("NcLoadingIcon",{attrs:{size:20}}):e("SendOutline",{attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.editMode?t.t("photos","Save"):t.t("photos","Create album"))+" ")])],1)]}}])}):e("form",{staticClass:"album-form",on:{submit:function(a){return a.preventDefault(),t.submit()}}},[e("div",{staticClass:"form-inputs"},[e("NcTextField",{ref:"nameInput",attrs:{type:"text",name:"name","helper-text":t.albumNameValidationError,error:t.albumNameValidationError!==void 0,required:!0,label:t.t("photos","Name of the album")},model:{value:t.albumName,callback:function(a){t.albumName=typeof a=="string"?a.trim():a},expression:"albumName"}}),e("NcTextField",{attrs:{name:"location",type:"text",label:t.t("photos","Location of the album")},scopedSlots:t._u([{key:"default",fn:function(){return[e("MapMarkerOutline",{attrs:{size:20}})]},proxy:!0}],null,!1,3863723734),model:{value:t.albumLocation,callback:function(a){t.albumLocation=a},expression:"albumLocation"}})],1),e("PhotosFiltersInput",{attrs:{"selected-filters":t.albumFilters},on:{"select-filter":t.selectFilter}}),e("PhotosFiltersDisplay",{attrs:{"selected-filters":t.albumFilters},on:{"deselect-filter":t.deselectFilter}}),e("div",{staticClass:"form-buttons"},[e("span",{staticClass:"left-buttons"},[t.displayBackButton?e("NcButton",{attrs:{variant:"tertiary"},on:{click:t.back}},[t._v(" "+t._s(t.t("photos","Back"))+" ")]):t._e()],1),e("span",{staticClass:"right-buttons"},[t.sharingEnabled&&!t.editMode?e("NcButton",{attrs:{variant:"secondary",disabled:!t.canSubmit},on:{click:function(a){t.showCollaboratorView=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountMultiplePlusOutline",{attrs:{size:20}})]},proxy:!0}],null,!1,1381680579)},[t._v(" "+t._s(t.t("photos","Add collaborators"))+" ")]):t._e(),e("NcButton",{attrs:{variant:"primary",disabled:!t.canSubmit},on:{click:function(a){return t.submit()}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("NcLoadingIcon",{attrs:{size:20}}):e("SendOutline",{attrs:{size:20}})]},proxy:!0}],null,!1,2348760288)},[t._v(" "+t._s(t.editMode?t.t("photos","Save"):t.t("photos","Create album"))+" ")])],1)])],1)},H=[],j=h(z,D,H,!1,null,"546e550b");const at=j.exports;export{at as A,R as C};
-//# sourceMappingURL=AlbumForm-Yw1DEwH0.chunk.mjs.map
+import{m,v as p,I as d,a as i}from"./index-CPw5H2i_.chunk.mjs";import{a as s,B as C,n as f,p as y,r as k,g}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as b,l as r,s as n,o as v,H as N,m as c}from"./index-CiNJWU5O.chunk.mjs";import{N as L}from"./NcLoadingIcon-e2aOocUH.chunk.mjs";import{N as F}from"./NcTextField-CQp8XS4C-B89qIhVu.chunk.mjs";import{E as _,o as S,p as w,C as $,n as h,i as A,q as x,M}from"./icons-Du8Q1knx.chunk.mjs";import{P as B,a as P,f as V}from"./PhotosFiltersInput-BIWnbC2j.chunk.mjs";import{S as l}from"./index-x9vhq81Z.chunk.mjs";import{N as E}from"./NcSelectUsers-D2jOjPs4-Dx1mcFve.chunk.mjs";import{F as O}from"./FetchCollectionContentMixin-b6TNwZVw.chunk.mjs";const u="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='mdi-account-group-outline'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M12,5A3.5,3.5%200%200,0%208.5,8.5A3.5,3.5%200%200,0%2012,12A3.5,3.5%200%200,0%2015.5,8.5A3.5,3.5%200%200,0%2012,5M12,7A1.5,1.5%200%200,1%2013.5,8.5A1.5,1.5%200%200,1%2012,10A1.5,1.5%200%200,1%2010.5,8.5A1.5,1.5%200%200,1%2012,7M5.5,8A2.5,2.5%200%200,0%203,10.5C3,11.44%203.53,12.25%204.29,12.68C4.65,12.88%205.06,13%205.5,13C5.94,13%206.35,12.88%206.71,12.68C7.08,12.47%207.39,12.17%207.62,11.81C6.89,10.86%206.5,9.7%206.5,8.5C6.5,8.41%206.5,8.31%206.5,8.22C6.2,8.08%205.86,8%205.5,8M18.5,8C18.14,8%2017.8,8.08%2017.5,8.22C17.5,8.31%2017.5,8.41%2017.5,8.5C17.5,9.7%2017.11,10.86%2016.38,11.81C16.5,12%2016.63,12.15%2016.78,12.3C16.94,12.45%2017.1,12.58%2017.29,12.68C17.65,12.88%2018.06,13%2018.5,13C18.94,13%2019.35,12.88%2019.71,12.68C20.47,12.25%2021,11.44%2021,10.5A2.5,2.5%200%200,0%2018.5,8M12,14C9.66,14%205,15.17%205,17.5V19H19V17.5C19,15.17%2014.34,14%2012,14M4.71,14.55C2.78,14.78%200,15.76%200,17.5V19H3V17.07C3,16.06%203.69,15.22%204.71,14.55M19.29,14.55C20.31,15.22%2021,16.06%2021,17.07V19H24V17.5C24,15.76%2021.22,14.78%2019.29,14.55M12,16C13.53,16%2015.24,16.5%2016.23,17H7.77C8.76,16.5%2010.47,16%2012,16Z'%20/%3e%3c/svg%3e",I={name:"CollaboratorsSelectionForm",components:{Close:$,ContentCopy:w,Check:S,Earth:_,NcButton:b,NcSelectUsers:E},mixins:[O],props:{albumName:{type:String,required:!0},collaborators:{type:Array,default:()=>[]},allowPublicLink:{type:Boolean,default:!0}},data(){return{availableCollaborators:{},selectedCollaboratorsKeys:[],currentSearchResults:[],loadingCollaborators:!1,randomId:Math.random().toString().substring(2,10),publicLinkCopied:!1,collaboratorTypes:l,config:{minSearchStringLength:parseInt(OC.config["sharing.minSearchStringLength"],10)||0}}},computed:{searchResults(){return this.currentSearchResults.filter(({id:t})=>t!==y()?.uid).map(t=>({key:`${t.type}:${t.id}`,id:t.id,user:t.id,displayName:t.label,type:t.type===l.User?"user":"group",iconSvg:t.type===l.Group?u:void 0})).filter(({key:t})=>!this.selectedCollaboratorsKeys.includes(t))},selectedCollaborators(){return this.selectedCollaboratorsKeys.map(t=>this.availableCollaborators[t])},selectedUsers:{get(){return this.selectedCollaborators.filter(({type:t})=>t!==l.Link).map(t=>({key:`${t.type}:${t.id}`,id:t.id,user:t.id,displayName:t.label,type:t.type===l.User?"user":"group",iconSvg:t.type===l.Group?u:void 0}))},set(t){this.selectedCollaboratorsKeys=t.map(({key:e})=>e)}},isPublicLinkSelected(){return this.selectedCollaboratorsKeys.includes(`${l.Link}`)},publicLink(){return this.availableCollaborators[l.Link]},publicLinkURL(){return`${window.location.protocol}//${window.location.host}${f(`apps/photos/public/${this.publicLink.id}`)}`},albumFileName(){return this.$store.getters.getAlbumName(this.albumName)}},watch:{collaborators(t){this.populateCollaborators(t)}},mounted(){this.populateCollaborators(this.collaborators)},methods:{async searchCollaborators(t){if(t!==void 0&&(t=t.trim(),!(t.length{switch(a.source){case"users":return{id:a.id,label:a.label,type:l.User};case"groups":return{id:a.id,label:a.label,type:l.Group};default:throw new Error(`Invalid collaborator source ${a.source}`)}}),this.availableCollaborators={...this.availableCollaborators,...this.currentSearchResults.reduce(this.indexCollaborators,{})}}catch(e){this.errorFetchingCollaborators=e,r.error(this.t("photos","Failed to fetch collaborators list."),{error:e}),n(this.t("photos","Failed to fetch collaborators list."))}finally{this.loadingCollaborators=!1}},populateCollaborators(t){const e=t.reduce(this.indexCollaborators,{});this.selectedCollaboratorsKeys=Object.keys(e),this.availableCollaborators={3:{id:"",label:this.t("photos","Public link"),type:l.Link},...this.availableCollaborators,...e}},indexCollaborators(t,e){return{...t,[`${e.type}${e.type===l.Link?"":":"}${e.type===l.Link?"":e.id}`]:e}},async createPublicLinkForAlbum(){this.selectEntity(`${l.Link}`),await this.updateAlbumCollaborators(),await this.fetchCollection(this.albumFileName,v)},async deletePublicLink(){this.unselectEntity(`${l.Link}`),this.availableCollaborators[3]={id:"",label:this.t("photos","Public link"),type:l.Link},this.publicLinkCopied=!1,await this.updateAlbumCollaborators()},async updateAlbumCollaborators(){try{await this.$store.dispatch("updateCollection",{collectionFileName:this.albumFileName,properties:{collaborators:this.selectedCollaborators}})}catch(t){r.error("[PublicAlbumContent] Error updating album",{error:t}),n(this.t("photos","Failed to update album."))}},async copyPublicLink(){await navigator.clipboard.writeText(this.publicLinkURL),this.publicLinkCopied=!0,setTimeout(()=>{this.publicLinkCopied=!1},1e4)},selectEntity(t){this.selectedCollaboratorsKeys.includes(t)||this.selectedCollaboratorsKeys.push(t)},unselectEntity(t){const e=this.selectedCollaboratorsKeys.indexOf(t);e!==-1&&this.selectedCollaboratorsKeys.splice(e,1)},t:s}};var U=function(){var t=this,e=t._self._c;return e("div",{staticClass:"manage-collaborators"},[e("h2",{staticClass:"manage-collaborators__title"},[t._v(" "+t._s(t.t("photos","Add collaborators"))+" ")]),e("form",{staticClass:"manage-collaborators__form",on:{submit:function(a){a.preventDefault()}}},[e("NcSelectUsers",{attrs:{"input-id":"sharing-search-input","input-label":t.t("photos","Add people or groups who can edit your album"),loading:t.loadingCollaborators,label:"label",filterable:!1,placeholder:t.t("photos","Search people or groups"),"clear-search-on-blur":()=>!1,multiple:!0,"append-to-body":!1,options:t.searchResults},on:{search:t.searchCollaborators,"option:selected":({key:a})=>t.selectEntity(a)},model:{value:t.selectedUsers,callback:function(a){t.selectedUsers=a},expression:"selectedUsers"}},[t._v(" "+t._s(t.t("photos","No recommendations. Start typing."))+" ")])],1),e("div",{staticClass:"actions"},[t.allowPublicLink?e("div",{staticClass:"actions__public-link"},[t.isPublicLinkSelected&&t.publicLink.id!==""?[e("NcButton",{staticClass:"manage-collaborators__public-link-button",attrs:{"aria-label":t.t("photos","Copy the public link"),title:t.publicLinkURL},on:{click:t.copyPublicLink},scopedSlots:t._u([{key:"icon",fn:function(){return[t.publicLinkCopied?e("Check"):e("ContentCopy")]},proxy:!0}],null,!1,845538853)},[t.publicLinkCopied?[t._v(" "+t._s(t.t("photos","Public link copied!"))+" ")]:[t._v(" "+t._s(t.t("photos","Copy public link"))+" ")]],2),e("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("photos","Delete the public link")},on:{click:t.deletePublicLink}},[e("Close",{attrs:{slot:"icon"},slot:"icon"})],1)]:e("NcButton",{staticClass:"manage-collaborators__public-link-button",attrs:{disabled:t.isPublicLinkSelected&&t.publicLink.id==="","aria-label":t.t("photos","Create public link share")},on:{click:t.createPublicLinkForAlbum}},[e("Earth",{attrs:{slot:"icon"},slot:"icon"}),t._v(" "+t._s(t.t("photos","Share via public link"))+" ")],1)],2):t._e(),e("div",{staticClass:"actions__slot"},[t._t("default",null,{collaborators:t.selectedCollaborators})],2)])])},T=[],K=h(I,U,T,!1,null,"e411f323");const R=K.exports,z={name:"AlbumForm",components:{MapMarkerOutline:M,AccountMultiplePlusOutline:x,SendOutline:A,NcButton:b,NcLoadingIcon:L,NcTextField:F,CollaboratorsSelectionForm:R,PhotosFiltersInput:P,PhotosFiltersDisplay:B},props:{album:{type:Object,default:null},filtersValue:{type:Object,default:()=>({})},displayBackButton:{type:Boolean,default:!1}},data(){return{showCollaboratorView:!1,albumName:"",albumLocation:"",albumFilters:V.reduce((t,e)=>({...t,[e.id]:[]}),{}),loading:!1}},computed:{editMode(){return this.album!==null},sharingEnabled(){return OC.Share!==void 0},albumFileName(){return this.$store.getters.getAlbumName(this.albumName)},albumNameValidationError(){const t=this.$store.getters.albums[this.albumFileName];if(t!==void 0&&this.album!==t&&!this.loading)return s("files","This name is already in use.");try{p(this.albumName)}catch(e){if(!(e instanceof d))throw e;switch(e.reason){case i.Character:return s("files",'"{char}" is not allowed inside a filename.',{char:e.segment});case i.ReservedName:return;case i.Extension:return;default:return s("files","Invalid filename.")}}},canSubmit(){return this.albumName!==""&&this.albumNameValidationError===void 0&&!this.loading}},mounted(){this.editMode?(this.albumName=this.album?.basename,this.albumLocation=this.album?.attributes.location??"",this.albumFilters={...this.albumFilters,...structuredClone(this.album?.attributes.filters??{})}):this.albumFilters={...this.albumFilters,...structuredClone(this.filtersValue)},this.$nextTick(()=>{this.$refs.nameInput.$el.getElementsByTagName("input")[0].focus()})},methods:{submit(t=[]){this.canSubmit&&(this.editMode?this.handleUpdateAlbum():this.handleCreateAlbum(t))},async handleCreateAlbum(t=[]){try{this.loading=!0;const e=k({basename:this.albumName,filename:c+"/"+this.albumName,lastmod:"",size:0,type:"directory",etag:null,props:{displayname:this.albumName,resourcetype:{},nbItems:0,location:this.albumLocation,"last-photo":-1,date:m().format("MMMM YYYY"),collaborators:t,filters:this.filtersValue,source:g(`dav/${this.albumFileName}`)}},c);let a=await this.$store.dispatch("createCollection",{collection:e});if(a===void 0)return;const o={};this.albumLocation!==""&&(o.location=this.albumLocation),(this.albumLocation!==""||t.length!==0)&&(o.collaborators=t),Object.keys(this.filtersValue).length>0&&(o.filters=this.filtersValue),a=await this.$store.dispatch("updateCollection",{collectionFileName:this.albumFileName,properties:o}),this.$emit("done",{album:a})}finally{this.loading=!1}},async handleUpdateAlbum(){try{this.loading=!0;let t=this.album?.clone();const e=[];if(this.album!==null&&this.album.basename!==this.albumName&&(e.push("name"),t=await this.$store.dispatch("renameCollection",{collectionFileName:this.album.root+this.album.path,newBaseName:this.albumName}),t===this.album))return;this.album!==null&&this.album.attributes.location!==this.albumLocation&&(e.push("location"),t=await this.$store.dispatch("updateCollection",{collectionFileName:t.root+t.path,properties:{location:this.albumLocation}})),this.album!==null&&JSON.stringify(this.album.attributes.filters)!==JSON.stringify(this.albumFilters)&&(e.push("filters"),t=await this.$store.dispatch("updateCollection",{collectionFileName:t.root+t.path,properties:{filters:this.albumFilters}})),this.$emit("done",{album:t,changes:e})}finally{this.loading=!1}},selectFilter(t){this.albumFilters[t.filterId].push(t.value)},deselectFilter(t){const e=this.albumFilters[t.filterId].indexOf(t.value);e!==-1&&this.albumFilters[t.filterId].splice(e,1)},back(){this.$emit("back")},t:s}};var D=function(){var t=this,e=t._self._c;return t.showCollaboratorView?e("CollaboratorsSelectionForm",{attrs:{"album-name":t.albumName,"allow-public-link":!1},scopedSlots:t._u([{key:"default",fn:function({collaborators:a}){return[e("span",{staticClass:"left-buttons"},[e("NcButton",{attrs:{variant:"tertiary"},on:{click:function(o){t.showCollaboratorView=!1}}},[t._v(" "+t._s(t.t("photos","Back"))+" ")])],1),e("span",{staticClass:"right-buttons"},[e("NcButton",{attrs:{variant:"primary",disabled:!t.canSubmit},on:{click:function(o){return t.submit(a)}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("NcLoadingIcon",{attrs:{size:20}}):e("SendOutline",{attrs:{size:20}})]},proxy:!0}],null,!0)},[t._v(" "+t._s(t.editMode?t.t("photos","Save"):t.t("photos","Create album"))+" ")])],1)]}}])}):e("form",{staticClass:"album-form",on:{submit:function(a){return a.preventDefault(),t.submit()}}},[e("div",{staticClass:"form-inputs"},[e("NcTextField",{ref:"nameInput",attrs:{type:"text",name:"name","helper-text":t.albumNameValidationError,error:t.albumNameValidationError!==void 0,required:!0,label:t.t("photos","Name of the album")},model:{value:t.albumName,callback:function(a){t.albumName=typeof a=="string"?a.trim():a},expression:"albumName"}}),e("NcTextField",{attrs:{name:"location",type:"text",label:t.t("photos","Location of the album")},scopedSlots:t._u([{key:"default",fn:function(){return[e("MapMarkerOutline",{attrs:{size:20}})]},proxy:!0}],null,!1,3863723734),model:{value:t.albumLocation,callback:function(a){t.albumLocation=a},expression:"albumLocation"}})],1),e("PhotosFiltersInput",{attrs:{"selected-filters":t.albumFilters},on:{"select-filter":t.selectFilter}}),e("PhotosFiltersDisplay",{attrs:{"selected-filters":t.albumFilters},on:{"deselect-filter":t.deselectFilter}}),e("div",{staticClass:"form-buttons"},[e("span",{staticClass:"left-buttons"},[t.displayBackButton?e("NcButton",{attrs:{variant:"tertiary"},on:{click:t.back}},[t._v(" "+t._s(t.t("photos","Back"))+" ")]):t._e()],1),e("span",{staticClass:"right-buttons"},[t.sharingEnabled&&!t.editMode?e("NcButton",{attrs:{variant:"secondary",disabled:!t.canSubmit},on:{click:function(a){t.showCollaboratorView=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountMultiplePlusOutline",{attrs:{size:20}})]},proxy:!0}],null,!1,1381680579)},[t._v(" "+t._s(t.t("photos","Add collaborators"))+" ")]):t._e(),e("NcButton",{attrs:{variant:"primary",disabled:!t.canSubmit},on:{click:function(a){return t.submit()}},scopedSlots:t._u([{key:"icon",fn:function(){return[t.loading?e("NcLoadingIcon",{attrs:{size:20}}):e("SendOutline",{attrs:{size:20}})]},proxy:!0}],null,!1,2348760288)},[t._v(" "+t._s(t.editMode?t.t("photos","Save"):t.t("photos","Create album"))+" ")])],1)])],1)},H=[],j=h(z,D,H,!1,null,"546e550b");const at=j.exports;export{at as A,R as C};
+//# sourceMappingURL=AlbumForm-auL4CMkK.chunk.mjs.map
diff --git a/js/AlbumForm-Yw1DEwH0.chunk.mjs.license b/js/AlbumForm-auL4CMkK.chunk.mjs.license
similarity index 100%
rename from js/AlbumForm-Yw1DEwH0.chunk.mjs.license
rename to js/AlbumForm-auL4CMkK.chunk.mjs.license
diff --git a/js/AlbumForm-Yw1DEwH0.chunk.mjs.map b/js/AlbumForm-auL4CMkK.chunk.mjs.map
similarity index 99%
rename from js/AlbumForm-Yw1DEwH0.chunk.mjs.map
rename to js/AlbumForm-auL4CMkK.chunk.mjs.map
index b49978ca5a..ae57dc3cca 100644
--- a/js/AlbumForm-Yw1DEwH0.chunk.mjs.map
+++ b/js/AlbumForm-auL4CMkK.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"AlbumForm-Yw1DEwH0.chunk.mjs","sources":["../node_modules/@mdi/svg/svg/account-group-outline.svg","../src/components/Albums/CollaboratorsSelectionForm.vue","../src/components/Albums/AlbumForm.vue"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='mdi-account-group-outline'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M12,5A3.5,3.5%200%200,0%208.5,8.5A3.5,3.5%200%200,0%2012,12A3.5,3.5%200%200,0%2015.5,8.5A3.5,3.5%200%200,0%2012,5M12,7A1.5,1.5%200%200,1%2013.5,8.5A1.5,1.5%200%200,1%2012,10A1.5,1.5%200%200,1%2010.5,8.5A1.5,1.5%200%200,1%2012,7M5.5,8A2.5,2.5%200%200,0%203,10.5C3,11.44%203.53,12.25%204.29,12.68C4.65,12.88%205.06,13%205.5,13C5.94,13%206.35,12.88%206.71,12.68C7.08,12.47%207.39,12.17%207.62,11.81C6.89,10.86%206.5,9.7%206.5,8.5C6.5,8.41%206.5,8.31%206.5,8.22C6.2,8.08%205.86,8%205.5,8M18.5,8C18.14,8%2017.8,8.08%2017.5,8.22C17.5,8.31%2017.5,8.41%2017.5,8.5C17.5,9.7%2017.11,10.86%2016.38,11.81C16.5,12%2016.63,12.15%2016.78,12.3C16.94,12.45%2017.1,12.58%2017.29,12.68C17.65,12.88%2018.06,13%2018.5,13C18.94,13%2019.35,12.88%2019.71,12.68C20.47,12.25%2021,11.44%2021,10.5A2.5,2.5%200%200,0%2018.5,8M12,14C9.66,14%205,15.17%205,17.5V19H19V17.5C19,15.17%2014.34,14%2012,14M4.71,14.55C2.78,14.78%200,15.76%200,17.5V19H3V17.07C3,16.06%203.69,15.22%204.71,14.55M19.29,14.55C20.31,15.22%2021,16.06%2021,17.07V19H24V17.5C24,15.76%2021.22,14.78%2019.29,14.55M12,16C13.53,16%2015.24,16.5%2016.23,17H7.77C8.76,16.5%2010.47,16%2012,16Z'%20/%3e%3c/svg%3e\"","\n\n\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Public link copied!') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Copy public link') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ t('photos', 'Share via public link') }}\n\t\t\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\n\n","\n\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('photos', 'Back') }}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ editMode ? t('photos', 'Save') : t('photos', 'Create album') }}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n"],"names":["AccountGroupOutlineSvg","_sfc_main$1","Close","ContentCopy","Check","Earth","NcButton","NcSelectUsers","FetchCollectionContentMixin","ShareType","id","getCurrentUser","collaborator","key","collaboratorKey","type","newValue","generateUrl","collaborators","query","response","axios","generateOcsUrl","error","logger","showError","initialCollaborators","albumsExtraProps","index","translate","_sfc_main","MapMarkerOutline","AccountMultiplePlusOutline","SendOutline","NcLoadingIcon","NcTextField","CollaboratorsSelectionForm","PhotosFiltersInput","PhotosFiltersDisplay","filters","acc","filter","existingAlbum","t","validateFilename","InvalidFilenameError","InvalidFilenameErrorReason","localAlbum","resultToNode","albumsPrefix","moment","generateRemoteUrl","album","propertiesToUpdate","changes","filterOption"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
+{"version":3,"file":"AlbumForm-auL4CMkK.chunk.mjs","sources":["../node_modules/@mdi/svg/svg/account-group-outline.svg","../src/components/Albums/CollaboratorsSelectionForm.vue","../src/components/Albums/AlbumForm.vue"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='mdi-account-group-outline'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M12,5A3.5,3.5%200%200,0%208.5,8.5A3.5,3.5%200%200,0%2012,12A3.5,3.5%200%200,0%2015.5,8.5A3.5,3.5%200%200,0%2012,5M12,7A1.5,1.5%200%200,1%2013.5,8.5A1.5,1.5%200%200,1%2012,10A1.5,1.5%200%200,1%2010.5,8.5A1.5,1.5%200%200,1%2012,7M5.5,8A2.5,2.5%200%200,0%203,10.5C3,11.44%203.53,12.25%204.29,12.68C4.65,12.88%205.06,13%205.5,13C5.94,13%206.35,12.88%206.71,12.68C7.08,12.47%207.39,12.17%207.62,11.81C6.89,10.86%206.5,9.7%206.5,8.5C6.5,8.41%206.5,8.31%206.5,8.22C6.2,8.08%205.86,8%205.5,8M18.5,8C18.14,8%2017.8,8.08%2017.5,8.22C17.5,8.31%2017.5,8.41%2017.5,8.5C17.5,9.7%2017.11,10.86%2016.38,11.81C16.5,12%2016.63,12.15%2016.78,12.3C16.94,12.45%2017.1,12.58%2017.29,12.68C17.65,12.88%2018.06,13%2018.5,13C18.94,13%2019.35,12.88%2019.71,12.68C20.47,12.25%2021,11.44%2021,10.5A2.5,2.5%200%200,0%2018.5,8M12,14C9.66,14%205,15.17%205,17.5V19H19V17.5C19,15.17%2014.34,14%2012,14M4.71,14.55C2.78,14.78%200,15.76%200,17.5V19H3V17.07C3,16.06%203.69,15.22%204.71,14.55M19.29,14.55C20.31,15.22%2021,16.06%2021,17.07V19H24V17.5C24,15.76%2021.22,14.78%2019.29,14.55M12,16C13.53,16%2015.24,16.5%2016.23,17H7.77C8.76,16.5%2010.47,16%2012,16Z'%20/%3e%3c/svg%3e\"","\n\n\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Public link copied!') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Copy public link') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ t('photos', 'Share via public link') }}\n\t\t\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\n\n","\n\n\t\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('photos', 'Back') }}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{{ editMode ? t('photos', 'Save') : t('photos', 'Create album') }}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\n\n\n\n\n\n"],"names":["AccountGroupOutlineSvg","_sfc_main$1","Close","ContentCopy","Check","Earth","NcButton","NcSelectUsers","FetchCollectionContentMixin","ShareType","id","getCurrentUser","collaborator","key","collaboratorKey","type","newValue","generateUrl","collaborators","query","response","axios","generateOcsUrl","error","logger","showError","initialCollaborators","albumsExtraProps","index","translate","_sfc_main","MapMarkerOutline","AccountMultiplePlusOutline","SendOutline","NcLoadingIcon","NcTextField","CollaboratorsSelectionForm","PhotosFiltersInput","PhotosFiltersDisplay","filters","acc","filter","existingAlbum","t","validateFilename","InvalidFilenameError","InvalidFilenameErrorReason","localAlbum","resultToNode","albumsPrefix","moment","generateRemoteUrl","album","propertiesToUpdate","changes","filterOption"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/js/AlbumsView-jUiwqcfu.chunk.mjs b/js/AlbumsView-Mmd3mvql.chunk.mjs
similarity index 69%
rename from js/AlbumsView-jUiwqcfu.chunk.mjs
rename to js/AlbumsView-Mmd3mvql.chunk.mjs
index d7511cce80..b949db9768 100644
--- a/js/AlbumsView-jUiwqcfu.chunk.mjs
+++ b/js/AlbumsView-Mmd3mvql.chunk.mjs
@@ -1,2 +1,2 @@
-import{d as s,k as r,a,n as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as n,m as l,o as m,u}from"./index-2aJ7z47o.chunk.mjs";import{N as p}from"./NcEmptyContent-DeR1PNM8.chunk.mjs";import{N as c}from"./NcModal-Ds-BuEsJ.chunk.mjs";import{I as b,P as f,n as h}from"./icons-Du8Q1knx.chunk.mjs";import{A as d}from"./AlbumForm-Yw1DEwH0.chunk.mjs";import{C as _,a as y}from"./CollectionsList-CMLJ6lDD.chunk.mjs";import{H as C}from"./HeaderNavigation-BnighsIK.chunk.mjs";import{F as v}from"./FetchCollectionsMixin-D0ITOoVD.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./NcLoadingIcon-TqAOhPV7.chunk.mjs";import"./NcActions-CX1MSord-CCHAduKQ.chunk.mjs";import"./video-BfiJ2KTq.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./NcTextField-CQp8XS4C-CvECvuUR.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./PhotosFiltersInput-BXqlWROs.chunk.mjs";import"./NcSelect-CxHfXvZV-D9MjEBDc.chunk.mjs";import"./floating-ui.utils.dom-Ddqhmmdk.chunk.mjs";import"./NcAvatar-C1ty7wsG-RPVX7GzJ.chunk.mjs";import"./dialog-DS2KDHi-.chunk.mjs";import"./NcDateTimePicker-BOzQrLmm.chunk.mjs";import"./NcDialog-DoGsI2_6-DCU3yxJO.chunk.mjs";import"./NcDateTime-enXYuwj8-DxsiSyax.chunk.mjs";import"./useFormatDateTime-hCj0nLGk.chunk.mjs";import"./collectionFetcher-Bz3LAv8s.chunk.mjs";import"./index-x9vhq81Z.chunk.mjs";import"./NcSelectUsers-D2jOjPs4-CfpidnWm.chunk.mjs";import"./FetchCollectionContentMixin-d-kkPnMO.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const A=s({name:"AlbumsView",components:{Plus:f,ImageMultipleOutline:b,NcModal:c,NcButton:n,NcEmptyContent:p,CollectionsList:y,CollectionCover:_,HeaderNavigation:C,AlbumForm:d},filters:{coverUrl(t){return t===-1?"":i(`/apps/photos/api/v1/preview/${t}?x=512&y=512`)}},mixins:[v],setup(){return{isMobile:u()}},data(){return{showAlbumCreationForm:!1}},computed:{albums(){return this.$store.getters.albums}},async beforeMount(){this.fetchAlbums()},methods:{fetchAlbums(){this.fetchCollections(l,m)},handleAlbumCreated({album:t}){this.showAlbumCreationForm=!1,this.$router.push(`/albums/${t.basename}`)},t:a,n:r}});var N=function(){var t=this,o=t._self._c;return t._self._setupProxy,o("div",[o("CollectionsList",{staticClass:"albums-list",attrs:{collections:t.albums,loading:t.loadingCollections,error:t.errorFetchingCollections},scopedSlots:t._u([{key:"header",fn:function(){return[o("HeaderNavigation",{key:"navigation",attrs:{loading:t.loadingCollections,title:t.t("photos","Albums"),"root-title":t.t("photos","Albums")},on:{refresh:t.fetchAlbums}},[o("NcButton",{attrs:{"aria-label":t.isMobile?t.t("photos","New album"):void 0},on:{click:function(e){t.showAlbumCreationForm=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[o("Plus",{attrs:{size:20}})]},proxy:!0},t.isMobile?null:{key:"default",fn:function(){return[t._v(" "+t._s(t.t("photos","New album"))+" ")]},proxy:!0}],null,!0)})],1)]},proxy:!0},{key:"default",fn:function({collection:e}){return[o("CollectionCover",{key:e.basename,attrs:{"parent-route":"/albums","collection-name":e.basename,"alt-img":t.t("photos","Cover photo for album {albumName}",{albumName:e.basename}),"cover-url":t._f("coverUrl")(e.attributes["last-photo"])},scopedSlots:t._u([{key:"default",fn:function(){return[o("span",{staticClass:"album__name"},[t._v(" "+t._s(e.basename)+" ")])]},proxy:!0},{key:"subtitle",fn:function(){return[o("div",{staticClass:"album__details"},[t._v(" "+t._s(e.attributes.date)+" ⸱ "+t._s(t.n("photos","%n item","%n photos and videos",e.attributes.nbItems))+" ")])]},proxy:!0}],null,!0)})]}},{key:"empty-collections-list",fn:function(){return[o("NcEmptyContent",{attrs:{name:t.t("photos","There is no album yet!")},scopedSlots:t._u([{key:"icon",fn:function(){return[o("ImageMultipleOutline")]},proxy:!0}])})]},proxy:!0}])}),t.showAlbumCreationForm?o("NcModal",{attrs:{"label-id":"new-album-form"},on:{close:function(e){t.showAlbumCreationForm=!1}}},[o("h2",{staticClass:"album-creation__heading"},[t._v(" "+t._s(t.t("photos","New album"))+" ")]),o("AlbumForm",{on:{done:t.handleAlbumCreated}})],1):t._e()],1)},g=[],k=h(A,N,g,!1,null,"5f230c1c");const ot=k.exports;export{ot as default};
-//# sourceMappingURL=AlbumsView-jUiwqcfu.chunk.mjs.map
+import{d as s,k as r,a,n as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as n,m as l,o as m,u}from"./index-CiNJWU5O.chunk.mjs";import{N as p}from"./NcEmptyContent-HahlduMT.chunk.mjs";import{N as c}from"./NcModal-DZaxRMd3.chunk.mjs";import{I as b,P as f,n as h}from"./icons-Du8Q1knx.chunk.mjs";import{A as d}from"./AlbumForm-auL4CMkK.chunk.mjs";import{C as _,a as y}from"./CollectionsList-Cev2CVwu.chunk.mjs";import{H as C}from"./HeaderNavigation-BAvYhNd3.chunk.mjs";import{F as v}from"./FetchCollectionsMixin-BmLPGCMT.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./NcLoadingIcon-e2aOocUH.chunk.mjs";import"./NcActions-CX1MSord-BRkkH9EI.chunk.mjs";import"./video-DOsUo6T9.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./NcTextField-CQp8XS4C-B89qIhVu.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./PhotosFiltersInput-BIWnbC2j.chunk.mjs";import"./NcSelect-CxHfXvZV-DzcQjhTx.chunk.mjs";import"./floating-ui.utils.dom-Ddqhmmdk.chunk.mjs";import"./NcAvatar-C1ty7wsG-Bzovkf5U.chunk.mjs";import"./dialog-DS2KDHi-.chunk.mjs";import"./NcDateTimePicker-DH0XuwPU.chunk.mjs";import"./NcDialog-DoGsI2_6-CL18WLkD.chunk.mjs";import"./NcDateTime-enXYuwj8-CoCOxfk6.chunk.mjs";import"./useFormatDateTime-BjfqHSfp.chunk.mjs";import"./collectionFetcher-DoWmhuFQ.chunk.mjs";import"./index-x9vhq81Z.chunk.mjs";import"./NcSelectUsers-D2jOjPs4-Dx1mcFve.chunk.mjs";import"./FetchCollectionContentMixin-b6TNwZVw.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const A=s({name:"AlbumsView",components:{Plus:f,ImageMultipleOutline:b,NcModal:c,NcButton:n,NcEmptyContent:p,CollectionsList:y,CollectionCover:_,HeaderNavigation:C,AlbumForm:d},filters:{coverUrl(t){return t===-1?"":i(`/apps/photos/api/v1/preview/${t}?x=512&y=512`)}},mixins:[v],setup(){return{isMobile:u()}},data(){return{showAlbumCreationForm:!1}},computed:{albums(){return this.$store.getters.albums}},async beforeMount(){this.fetchAlbums()},methods:{fetchAlbums(){this.fetchCollections(l,m)},handleAlbumCreated({album:t}){this.showAlbumCreationForm=!1,this.$router.push(`/albums/${t.basename}`)},t:a,n:r}});var N=function(){var t=this,o=t._self._c;return t._self._setupProxy,o("div",[o("CollectionsList",{staticClass:"albums-list",attrs:{collections:t.albums,loading:t.loadingCollections,error:t.errorFetchingCollections},scopedSlots:t._u([{key:"header",fn:function(){return[o("HeaderNavigation",{key:"navigation",attrs:{loading:t.loadingCollections,title:t.t("photos","Albums"),"root-title":t.t("photos","Albums")},on:{refresh:t.fetchAlbums}},[o("NcButton",{attrs:{"aria-label":t.isMobile?t.t("photos","New album"):void 0},on:{click:function(e){t.showAlbumCreationForm=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[o("Plus",{attrs:{size:20}})]},proxy:!0},t.isMobile?null:{key:"default",fn:function(){return[t._v(" "+t._s(t.t("photos","New album"))+" ")]},proxy:!0}],null,!0)})],1)]},proxy:!0},{key:"default",fn:function({collection:e}){return[o("CollectionCover",{key:e.basename,attrs:{"parent-route":"/albums","collection-name":e.basename,"alt-img":t.t("photos","Cover photo for album {albumName}",{albumName:e.basename}),"cover-url":t._f("coverUrl")(e.attributes["last-photo"])},scopedSlots:t._u([{key:"default",fn:function(){return[o("span",{staticClass:"album__name"},[t._v(" "+t._s(e.basename)+" ")])]},proxy:!0},{key:"subtitle",fn:function(){return[o("div",{staticClass:"album__details"},[t._v(" "+t._s(e.attributes.date)+" ⸱ "+t._s(t.n("photos","%n item","%n photos and videos",e.attributes.nbItems))+" ")])]},proxy:!0}],null,!0)})]}},{key:"empty-collections-list",fn:function(){return[o("NcEmptyContent",{attrs:{name:t.t("photos","There is no album yet!")},scopedSlots:t._u([{key:"icon",fn:function(){return[o("ImageMultipleOutline")]},proxy:!0}])})]},proxy:!0}])}),t.showAlbumCreationForm?o("NcModal",{attrs:{"label-id":"new-album-form"},on:{close:function(e){t.showAlbumCreationForm=!1}}},[o("h2",{staticClass:"album-creation__heading"},[t._v(" "+t._s(t.t("photos","New album"))+" ")]),o("AlbumForm",{on:{done:t.handleAlbumCreated}})],1):t._e()],1)},g=[],k=h(A,N,g,!1,null,"5f230c1c");const ot=k.exports;export{ot as default};
+//# sourceMappingURL=AlbumsView-Mmd3mvql.chunk.mjs.map
diff --git a/js/AlbumsView-jUiwqcfu.chunk.mjs.license b/js/AlbumsView-Mmd3mvql.chunk.mjs.license
similarity index 100%
rename from js/AlbumsView-jUiwqcfu.chunk.mjs.license
rename to js/AlbumsView-Mmd3mvql.chunk.mjs.license
diff --git a/js/AlbumsView-jUiwqcfu.chunk.mjs.map b/js/AlbumsView-Mmd3mvql.chunk.mjs.map
similarity index 98%
rename from js/AlbumsView-jUiwqcfu.chunk.mjs.map
rename to js/AlbumsView-Mmd3mvql.chunk.mjs.map
index e31af76543..7029d0aad8 100644
--- a/js/AlbumsView-jUiwqcfu.chunk.mjs.map
+++ b/js/AlbumsView-Mmd3mvql.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"AlbumsView-jUiwqcfu.chunk.mjs","sources":["../src/views/AlbumsView.vue"],"sourcesContent":["\n\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","Plus","ImageMultipleOutline","NcModal","NcButton","NcEmptyContent","CollectionsList","CollectionCover","HeaderNavigation","AlbumForm","lastPhoto","generateUrl","FetchCollectionsMixin","useIsSmallMobile","albumsPrefix","albumsExtraProps","album","translate","translatePlural"],"mappings":"y+CA0FA,MAAAA,EAAAC,EAAA,CACA,KAAA,aACA,WAAA,CACA,KAAAC,EACA,qBAAAC,EACA,QAAAC,EACA,SAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,UAAAC,CAAA,EAGA,QAAA,CACA,SAAAC,EAAA,CACA,OAAAA,IAAA,GACA,GAGAC,EAAA,+BAAAD,CAAA,cAAA,CACA,CAAA,EAGA,OAAA,CAAAE,CAAA,EAEA,OAAA,CAEA,MAAA,CACA,SAFAC,EAAA,CAEA,CAEA,EAEA,MAAA,CACA,MAAA,CACA,sBAAA,EAAA,CAEA,EAEA,SAAA,CACA,QAAA,CACA,OAAA,KAAA,OAAA,QAAA,MACA,CAAA,EAGA,MAAA,aAAA,CACA,KAAA,YAAA,CACA,EAEA,QAAA,CACA,aAAA,CACA,KAAA,iBACAC,EACAC,CAAA,CAEA,EAEA,mBAAA,CAAA,MAAAC,GAAA,CACA,KAAA,sBAAA,GACA,KAAA,QAAA,KAAA,WAAAA,EAAA,QAAA,EAAA,CACA,EAEA,EAAAC,EACA,EAAAC,CAAA,CAEA,CAAA"}
\ No newline at end of file
+{"version":3,"file":"AlbumsView-Mmd3mvql.chunk.mjs","sources":["../src/views/AlbumsView.vue"],"sourcesContent":["\n\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","Plus","ImageMultipleOutline","NcModal","NcButton","NcEmptyContent","CollectionsList","CollectionCover","HeaderNavigation","AlbumForm","lastPhoto","generateUrl","FetchCollectionsMixin","useIsSmallMobile","albumsPrefix","albumsExtraProps","album","translate","translatePlural"],"mappings":"y+CA0FA,MAAAA,EAAAC,EAAA,CACA,KAAA,aACA,WAAA,CACA,KAAAC,EACA,qBAAAC,EACA,QAAAC,EACA,SAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,UAAAC,CAAA,EAGA,QAAA,CACA,SAAAC,EAAA,CACA,OAAAA,IAAA,GACA,GAGAC,EAAA,+BAAAD,CAAA,cAAA,CACA,CAAA,EAGA,OAAA,CAAAE,CAAA,EAEA,OAAA,CAEA,MAAA,CACA,SAFAC,EAAA,CAEA,CAEA,EAEA,MAAA,CACA,MAAA,CACA,sBAAA,EAAA,CAEA,EAEA,SAAA,CACA,QAAA,CACA,OAAA,KAAA,OAAA,QAAA,MACA,CAAA,EAGA,MAAA,aAAA,CACA,KAAA,YAAA,CACA,EAEA,QAAA,CACA,aAAA,CACA,KAAA,iBACAC,EACAC,CAAA,CAEA,EAEA,mBAAA,CAAA,MAAAC,GAAA,CACA,KAAA,sBAAA,GACA,KAAA,QAAA,KAAA,WAAAA,EAAA,QAAA,EAAA,CACA,EAEA,EAAAC,EACA,EAAAC,CAAA,CAEA,CAAA"}
\ No newline at end of file
diff --git a/js/CollectionContent-DKsSg27k.chunk.mjs b/js/CollectionContent-BsuASp5_.chunk.mjs
similarity index 88%
rename from js/CollectionContent-DKsSg27k.chunk.mjs
rename to js/CollectionContent-BsuASp5_.chunk.mjs
index 31cefbe9c7..12f1bb37fe 100644
--- a/js/CollectionContent-DKsSg27k.chunk.mjs
+++ b/js/CollectionContent-BsuASp5_.chunk.mjs
@@ -1,2 +1,2 @@
-import{d as i,a as s,s as n,v as r}from"./preload-helper-DenR1iTd.chunk.mjs";import{x as l,v as c}from"./index-2aJ7z47o.chunk.mjs";import{N as a}from"./NcEmptyContent-DeR1PNM8.chunk.mjs";import{I as d,A as m,n as p}from"./icons-Du8Q1knx.chunk.mjs";import{F as u}from"./FileComponent-BzXldsWp.chunk.mjs";import{F as f,a as h}from"./FilesSelectionMixin-DYjC4BAj.chunk.mjs";const C=i({name:"CollectionContent",components:{AlertCircleOutline:m,ImageMultipleOutline:d,NcEmptyContent:a,FilesListViewer:h,FileComponent:u},mixins:[f],props:{collection:{type:Object,default:()=>{}},collectionFileIds:{type:Array,required:!0},loading:{type:Boolean,default:!1},allowSelection:{type:Boolean,default:!0},error:{type:[Error,Number],default:null}},setup(){return{isMobile:c()}},data(){return{appContent:document.getElementById("app-content-vue")}},computed:{files(){return this.$store.getters.files},sortedCollectionFileIds(){return this.collectionFileIds.toSorted((e,t)=>this.files[e].attributes.timestampl(this.files[t]))})},handleFileDeleted({fileid:e}){this.$store.commit("removeFilesFromCollection",{collectionFileName:this.collection.root+this.collection.path,fileIdsToRemove:[e?.toString()]})},t:s}});var F=function(){var e=this,t=e._self._c;return e._self._setupProxy,e.collection===void 0&&!e.loading||e.error===404?t("NcEmptyContent",{staticClass:"empty-content-with-illustration",attrs:{name:e.t("photos","This collection does not exist")}},[t("ImageMultipleOutline",{attrs:{slot:"icon"},slot:"icon"})],1):e.error?t("NcEmptyContent",{attrs:{name:e.t("photos","An error occurred")}},[t("AlertCircleOutline",{attrs:{slot:"icon"},slot:"icon"})],1):t("div",{staticClass:"collection"},[e._t("header",null,{selectedFileIds:e.selectedFileIds,resetSelection:e.resetSelection}),e.sortedCollectionFileIds.length===0&&!e.loading?e._t("empty-content"):e._e(),e.collection!==void 0&&e.sortedCollectionFileIds.length>0?t("FilesListViewer",{staticClass:"collection__media",attrs:{"container-element":e.appContent,"file-ids":e.sortedCollectionFileIds,"base-height":e.isMobile?120:200,loading:e.loading},scopedSlots:e._u([{key:"default",fn:function({file:o}){return t("FileComponent",{attrs:{file:e.files[o.id],"allow-selection":e.allowSelection,selected:e.selection[o.id]===!0},on:{click:e.openViewer,"select-toggled":e.onFileSelectToggle}})}}],null,!1,2202403043)}):e._e()],2)},g=[],y=p(C,F,g,!1,null,"aecef337");const x=y.exports;export{x as C};
-//# sourceMappingURL=CollectionContent-DKsSg27k.chunk.mjs.map
+import{d as i,a as s,s as n,v as r}from"./preload-helper-DenR1iTd.chunk.mjs";import{x as l,v as c}from"./index-CiNJWU5O.chunk.mjs";import{N as a}from"./NcEmptyContent-HahlduMT.chunk.mjs";import{I as d,A as m,n as p}from"./icons-Du8Q1knx.chunk.mjs";import{F as u}from"./FileComponent-egEQikjb.chunk.mjs";import{F as f,a as h}from"./FilesSelectionMixin-SO2iJyJI.chunk.mjs";const C=i({name:"CollectionContent",components:{AlertCircleOutline:m,ImageMultipleOutline:d,NcEmptyContent:a,FilesListViewer:h,FileComponent:u},mixins:[f],props:{collection:{type:Object,default:()=>{}},collectionFileIds:{type:Array,required:!0},loading:{type:Boolean,default:!1},allowSelection:{type:Boolean,default:!0},error:{type:[Error,Number],default:null}},setup(){return{isMobile:c()}},data(){return{appContent:document.getElementById("app-content-vue")}},computed:{files(){return this.$store.getters.files},sortedCollectionFileIds(){return this.collectionFileIds.toSorted((e,t)=>this.files[e].attributes.timestampl(this.files[t]))})},handleFileDeleted({fileid:e}){this.$store.commit("removeFilesFromCollection",{collectionFileName:this.collection.root+this.collection.path,fileIdsToRemove:[e?.toString()]})},t:s}});var F=function(){var e=this,t=e._self._c;return e._self._setupProxy,e.collection===void 0&&!e.loading||e.error===404?t("NcEmptyContent",{staticClass:"empty-content-with-illustration",attrs:{name:e.t("photos","This collection does not exist")}},[t("ImageMultipleOutline",{attrs:{slot:"icon"},slot:"icon"})],1):e.error?t("NcEmptyContent",{attrs:{name:e.t("photos","An error occurred")}},[t("AlertCircleOutline",{attrs:{slot:"icon"},slot:"icon"})],1):t("div",{staticClass:"collection"},[e._t("header",null,{selectedFileIds:e.selectedFileIds,resetSelection:e.resetSelection}),e.sortedCollectionFileIds.length===0&&!e.loading?e._t("empty-content"):e._e(),e.collection!==void 0&&e.sortedCollectionFileIds.length>0?t("FilesListViewer",{staticClass:"collection__media",attrs:{"container-element":e.appContent,"file-ids":e.sortedCollectionFileIds,"base-height":e.isMobile?120:200,loading:e.loading},scopedSlots:e._u([{key:"default",fn:function({file:o}){return t("FileComponent",{attrs:{file:e.files[o.id],"allow-selection":e.allowSelection,selected:e.selection[o.id]===!0},on:{click:e.openViewer,"select-toggled":e.onFileSelectToggle}})}}],null,!1,2202403043)}):e._e()],2)},g=[],y=p(C,F,g,!1,null,"aecef337");const x=y.exports;export{x as C};
+//# sourceMappingURL=CollectionContent-BsuASp5_.chunk.mjs.map
diff --git a/js/CollectionContent-DKsSg27k.chunk.mjs.license b/js/CollectionContent-BsuASp5_.chunk.mjs.license
similarity index 100%
rename from js/CollectionContent-DKsSg27k.chunk.mjs.license
rename to js/CollectionContent-BsuASp5_.chunk.mjs.license
diff --git a/js/CollectionContent-DKsSg27k.chunk.mjs.map b/js/CollectionContent-BsuASp5_.chunk.mjs.map
similarity index 98%
rename from js/CollectionContent-DKsSg27k.chunk.mjs.map
rename to js/CollectionContent-BsuASp5_.chunk.mjs.map
index 54724f7e28..91caf7b51f 100644
--- a/js/CollectionContent-DKsSg27k.chunk.mjs.map
+++ b/js/CollectionContent-BsuASp5_.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"CollectionContent-DKsSg27k.chunk.mjs","sources":["../src/components/Collection/CollectionContent.vue"],"sourcesContent":["\n\n\t\n\t\n\t\t\n\t\n\t\n\t\t\n\t\n\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","AlertCircleOutline","ImageMultipleOutline","NcEmptyContent","FilesListViewer","FileComponent","FilesSelectionMixin","useIsMobile","fileId1","fileId2","subscribe","unsubscribe","fileId","toViewerFileInfo","fileid","translate"],"mappings":"mXA+DA,MAAAA,EAAAC,EAAA,CACA,KAAA,oBAEA,WAAA,CACA,mBAAAC,EACA,qBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,cAAAC,CAAA,EAGA,OAAA,CAAAC,CAAA,EAEA,MAAA,CACA,WAAA,CACA,KAAA,OACA,QAAA,IAAA,CAAA,CAAA,EAGA,kBAAA,CACA,KAAA,MACA,SAAA,EAAA,EAGA,QAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,eAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,MAAA,CACA,KAAA,CAAA,MAAA,MAAA,EACA,QAAA,IAAA,CACA,EAGA,OAAA,CACA,MAAA,CACA,SAAAC,EAAA,CAAA,CAEA,EAEA,MAAA,CACA,MAAA,CACA,WAAA,SAAA,eAAA,iBAAA,CAAA,CAEA,EAEA,SAAA,CACA,OAAA,CACA,OAAA,KAAA,OAAA,QAAA,KACA,EAEA,yBAAA,CACA,OAAA,KAAA,kBAAA,SAAA,CAAAC,EAAAC,IAAA,KAAA,MAAAD,CAAA,EAAA,WAAA,UAAA,KAAA,MAAAC,CAAA,EAAA,WAAA,UAAA,GAAA,CAAA,CACA,CAAA,EAGA,SAAA,CACAC,EAAA,qBAAA,KAAA,iBAAA,CACA,EAEA,WAAA,CACAC,EAAA,qBAAA,KAAA,iBAAA,CACA,EAEA,QAAA,CACA,WAAAC,EAAA,CACA,OAAA,IAAA,OAAA,KAAA,CACA,SAAAC,EAAA,KAAA,MAAAD,CAAA,CAAA,EACA,KAAA,KAAA,wBAAA,IAAAA,GAAAC,EAAA,KAAA,MAAAD,CAAA,CAAA,CAAA,CAAA,CACA,CACA,EAEA,kBAAA,CAAA,OAAAE,GAAA,CACA,KAAA,OAAA,OAAA,4BAAA,CAAA,mBAAA,KAAA,WAAA,KAAA,KAAA,WAAA,KAAA,gBAAA,CAAAA,GAAA,SAAA,CAAA,EAAA,CACA,EAEA,EAAAC,CAAA,CAEA,CAAA"}
\ No newline at end of file
+{"version":3,"file":"CollectionContent-BsuASp5_.chunk.mjs","sources":["../src/components/Collection/CollectionContent.vue"],"sourcesContent":["\n\n\t\n\t\n\t\t\n\t\n\t\n\t\t\n\t\n\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","defineComponent","AlertCircleOutline","ImageMultipleOutline","NcEmptyContent","FilesListViewer","FileComponent","FilesSelectionMixin","useIsMobile","fileId1","fileId2","subscribe","unsubscribe","fileId","toViewerFileInfo","fileid","translate"],"mappings":"mXA+DA,MAAAA,EAAAC,EAAA,CACA,KAAA,oBAEA,WAAA,CACA,mBAAAC,EACA,qBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,cAAAC,CAAA,EAGA,OAAA,CAAAC,CAAA,EAEA,MAAA,CACA,WAAA,CACA,KAAA,OACA,QAAA,IAAA,CAAA,CAAA,EAGA,kBAAA,CACA,KAAA,MACA,SAAA,EAAA,EAGA,QAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,eAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,MAAA,CACA,KAAA,CAAA,MAAA,MAAA,EACA,QAAA,IAAA,CACA,EAGA,OAAA,CACA,MAAA,CACA,SAAAC,EAAA,CAAA,CAEA,EAEA,MAAA,CACA,MAAA,CACA,WAAA,SAAA,eAAA,iBAAA,CAAA,CAEA,EAEA,SAAA,CACA,OAAA,CACA,OAAA,KAAA,OAAA,QAAA,KACA,EAEA,yBAAA,CACA,OAAA,KAAA,kBAAA,SAAA,CAAAC,EAAAC,IAAA,KAAA,MAAAD,CAAA,EAAA,WAAA,UAAA,KAAA,MAAAC,CAAA,EAAA,WAAA,UAAA,GAAA,CAAA,CACA,CAAA,EAGA,SAAA,CACAC,EAAA,qBAAA,KAAA,iBAAA,CACA,EAEA,WAAA,CACAC,EAAA,qBAAA,KAAA,iBAAA,CACA,EAEA,QAAA,CACA,WAAAC,EAAA,CACA,OAAA,IAAA,OAAA,KAAA,CACA,SAAAC,EAAA,KAAA,MAAAD,CAAA,CAAA,EACA,KAAA,KAAA,wBAAA,IAAAA,GAAAC,EAAA,KAAA,MAAAD,CAAA,CAAA,CAAA,CAAA,CACA,CACA,EAEA,kBAAA,CAAA,OAAAE,GAAA,CACA,KAAA,OAAA,OAAA,4BAAA,CAAA,mBAAA,KAAA,WAAA,KAAA,KAAA,WAAA,KAAA,gBAAA,CAAAA,GAAA,SAAA,CAAA,EAAA,CACA,EAEA,EAAAC,CAAA,CAEA,CAAA"}
\ No newline at end of file
diff --git a/js/CollectionsList-CMLJ6lDD.chunk.mjs b/js/CollectionsList-Cev2CVwu.chunk.mjs
similarity index 91%
rename from js/CollectionsList-CMLJ6lDD.chunk.mjs
rename to js/CollectionsList-Cev2CVwu.chunk.mjs
index 7d4f7c1169..455b9b0b18 100644
--- a/js/CollectionsList-CMLJ6lDD.chunk.mjs
+++ b/js/CollectionsList-Cev2CVwu.chunk.mjs
@@ -1,2 +1,2 @@
-import{d as r,h as n,c as s,a as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{L as a}from"./video-BfiJ2KTq.chunk.mjs";import{I as u,n as c,A as _}from"./icons-Du8Q1knx.chunk.mjs";import{N as p}from"./NcEmptyContent-DeR1PNM8.chunk.mjs";const m=r({__name:"CollectionCover",props:{coverUrl:null,altImg:null,parentRoute:null,collectionName:null},setup(t){const o=t,e=n(!1),l=s(()=>`${o.parentRoute}/${encodeURIComponent(o.collectionName)}`);return{__sfc:!0,props:o,coverLoadingError:e,link:l,RouterLink:a,ImageMultipleOutline:u}}});var d=function(){var t=this,o=t._self._c,e=t._self._setupProxy;return o(e.RouterLink,{staticClass:"collection-cover",attrs:{to:e.link}},[t.coverUrl!==""&&e.coverLoadingError===!1?o("img",{staticClass:"collection-cover__image",attrs:{src:t.coverUrl,alt:t.altImg},on:{error:function(l){e.coverLoadingError=!0}}}):o("div",{staticClass:"collection-cover__image collection-cover__image--placeholder"},[o(e.ImageMultipleOutline,{attrs:{size:128}})],1),o("div",{staticClass:"collection-cover__details"},[o("div",{staticClass:"collection-cover__details__title"},[t._t("default")],2),o("div",{staticClass:"collection-cover__details__subtitle"},[t._t("subtitle")],2)])])},v=[],C=c(m,d,v,!1,null,"719cd191");const I=C.exports,f={name:"CollectionsList",components:{AlertCircleOutline:_,NcEmptyContent:p},props:{collections:{type:Object,required:!0},loading:{type:Boolean,default:!1},error:{type:Error,default:null}},computed:{noCollection(){return Object.keys(this.collections).length===0}},methods:{t:i}};var g=function(){var t=this,o=t._self._c;return t.error?o("NcEmptyContent",{attrs:{name:t.t("photos","An error occurred")}},[o("AlertCircleOutline",{attrs:{slot:"icon"},slot:"icon"})],1):o("div",{staticClass:"collections"},[t._t("header"),t.noCollection&&!t.loading?t._t("empty-collections-list"):t.noCollection?t._e():o("ul",{staticClass:"collections__list"},t._l(t.collections,function(e){return o("li",{key:e.basename,attrs:{"data-cy-collections-list-collection":e.basename}},[t._t("default",null,{collection:e})],2)}),0)],2)},h=[],y=c(f,g,h,!1,null,"b585220f");const O=y.exports;export{I as C,O as a};
-//# sourceMappingURL=CollectionsList-CMLJ6lDD.chunk.mjs.map
+import{d as r,h as n,c as s,a as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{L as a}from"./video-DOsUo6T9.chunk.mjs";import{I as u,n as c,A as _}from"./icons-Du8Q1knx.chunk.mjs";import{N as p}from"./NcEmptyContent-HahlduMT.chunk.mjs";const m=r({__name:"CollectionCover",props:{coverUrl:null,altImg:null,parentRoute:null,collectionName:null},setup(t){const o=t,e=n(!1),l=s(()=>`${o.parentRoute}/${encodeURIComponent(o.collectionName)}`);return{__sfc:!0,props:o,coverLoadingError:e,link:l,RouterLink:a,ImageMultipleOutline:u}}});var d=function(){var t=this,o=t._self._c,e=t._self._setupProxy;return o(e.RouterLink,{staticClass:"collection-cover",attrs:{to:e.link}},[t.coverUrl!==""&&e.coverLoadingError===!1?o("img",{staticClass:"collection-cover__image",attrs:{src:t.coverUrl,alt:t.altImg},on:{error:function(l){e.coverLoadingError=!0}}}):o("div",{staticClass:"collection-cover__image collection-cover__image--placeholder"},[o(e.ImageMultipleOutline,{attrs:{size:128}})],1),o("div",{staticClass:"collection-cover__details"},[o("div",{staticClass:"collection-cover__details__title"},[t._t("default")],2),o("div",{staticClass:"collection-cover__details__subtitle"},[t._t("subtitle")],2)])])},v=[],C=c(m,d,v,!1,null,"719cd191");const I=C.exports,f={name:"CollectionsList",components:{AlertCircleOutline:_,NcEmptyContent:p},props:{collections:{type:Object,required:!0},loading:{type:Boolean,default:!1},error:{type:Error,default:null}},computed:{noCollection(){return Object.keys(this.collections).length===0}},methods:{t:i}};var g=function(){var t=this,o=t._self._c;return t.error?o("NcEmptyContent",{attrs:{name:t.t("photos","An error occurred")}},[o("AlertCircleOutline",{attrs:{slot:"icon"},slot:"icon"})],1):o("div",{staticClass:"collections"},[t._t("header"),t.noCollection&&!t.loading?t._t("empty-collections-list"):t.noCollection?t._e():o("ul",{staticClass:"collections__list"},t._l(t.collections,function(e){return o("li",{key:e.basename,attrs:{"data-cy-collections-list-collection":e.basename}},[t._t("default",null,{collection:e})],2)}),0)],2)},h=[],y=c(f,g,h,!1,null,"b585220f");const O=y.exports;export{I as C,O as a};
+//# sourceMappingURL=CollectionsList-Cev2CVwu.chunk.mjs.map
diff --git a/js/CollectionsList-CMLJ6lDD.chunk.mjs.license b/js/CollectionsList-Cev2CVwu.chunk.mjs.license
similarity index 100%
rename from js/CollectionsList-CMLJ6lDD.chunk.mjs.license
rename to js/CollectionsList-Cev2CVwu.chunk.mjs.license
diff --git a/js/CollectionsList-CMLJ6lDD.chunk.mjs.map b/js/CollectionsList-Cev2CVwu.chunk.mjs.map
similarity index 98%
rename from js/CollectionsList-CMLJ6lDD.chunk.mjs.map
rename to js/CollectionsList-Cev2CVwu.chunk.mjs.map
index 29d11af532..9b4c25ee6f 100644
--- a/js/CollectionsList-CMLJ6lDD.chunk.mjs.map
+++ b/js/CollectionsList-Cev2CVwu.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"CollectionsList-CMLJ6lDD.chunk.mjs","sources":["../src/components/Collection/CollectionCover.vue","../src/components/Collection/CollectionsList.vue"],"sourcesContent":["\n\n\t\n\t\t\n\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\n\n\n\n\n\n","\n\n\t\n\t\n\t\t\n\t\n\n\t
\n\t\t\n\t\t\n\n\t\t\n\t\t\n\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\n\n"],"names":["coverLoadingError","ref","link","computed","props","_sfc_main","AlertCircleOutline","NcEmptyContent","translate"],"mappings":"+WAuCMA,EAAoBC,EAAI,EAAK,EAC7BC,EAAOC,EAAS,IAAM,GAAGC,EAAM,WAAW,IAAI,mBAAmBA,EAAM,cAAc,CAAC,EAAE,wyBCN9FC,EAAA,CACA,KAAA,kBAEA,WAAA,CACA,mBAAAC,EACA,eAAAC,CAAA,EAGA,MAAA,CACA,YAAA,CACA,KAAA,OACA,SAAA,EAAA,EAGA,QAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,MAAA,CACA,KAAA,MACA,QAAA,IAAA,CACA,EAGA,SAAA,CACA,cAAA,CACA,OAAA,OAAA,KAAA,KAAA,WAAA,EAAA,SAAA,CACA,CAAA,EAGA,QAAA,CACA,EAAAC,CAAA,CAEA"}
\ No newline at end of file
+{"version":3,"file":"CollectionsList-Cev2CVwu.chunk.mjs","sources":["../src/components/Collection/CollectionCover.vue","../src/components/Collection/CollectionsList.vue"],"sourcesContent":["\n\n\t\n\t\t\n\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\n\n\n\n\n\n","\n\n\t\n\t\n\t\t\n\t\n\n\t
\n\t\t\n\t\t\n\n\t\t\n\t\t\n\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\n\n\n\n"],"names":["coverLoadingError","ref","link","computed","props","_sfc_main","AlertCircleOutline","NcEmptyContent","translate"],"mappings":"+WAuCMA,EAAoBC,EAAI,EAAK,EAC7BC,EAAOC,EAAS,IAAM,GAAGC,EAAM,WAAW,IAAI,mBAAmBA,EAAM,cAAc,CAAC,EAAE,wyBCN9FC,EAAA,CACA,KAAA,kBAEA,WAAA,CACA,mBAAAC,EACA,eAAAC,CAAA,EAGA,MAAA,CACA,YAAA,CACA,KAAA,OACA,SAAA,EAAA,EAGA,QAAA,CACA,KAAA,QACA,QAAA,EAAA,EAGA,MAAA,CACA,KAAA,MACA,QAAA,IAAA,CACA,EAGA,SAAA,CACA,cAAA,CACA,OAAA,OAAA,KAAA,KAAA,WAAA,EAAA,SAAA,CACA,CAAA,EAGA,QAAA,CACA,EAAAC,CAAA,CAEA"}
\ No newline at end of file
diff --git a/js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs b/js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs
similarity index 95%
rename from js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs
rename to js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs
index 025b9b9f18..120084aa2a 100644
--- a/js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs
+++ b/js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs
@@ -1,2 +1,2 @@
-import{d as h,F as p,n as S}from"./preload-helper-DenR1iTd.chunk.mjs";import{n as d,t as r,l as o,s as w,i as a,a as b,b as k,c as _}from"./index-SPoS3_zU-DmOABXuD.chunk.mjs";import{N as v}from"./NcDialog-DoGsI2_6-DCU3yxJO.chunk.mjs";import"./NcProgressBar-D7zYeXBH-DY74kwH1.chunk.mjs";import{g as y,f as C}from"./index-CPw5H2i_.chunk.mjs";import{N as f}from"./NcCheckboxRadioSwitch-BAjRm8PQ-brzt9pFn.chunk.mjs";import{N as x}from"./index-2aJ7z47o.chunk.mjs";import{N}from"./NcDateTime-enXYuwj8-DxsiSyax.chunk.mjs";import"./index-CMnsBMUJ.chunk.mjs";import"./dialog-DS2KDHi-.chunk.mjs";import"./NcModal-Ds-BuEsJ.chunk.mjs";import"./NcLoadingIcon-TqAOhPV7.chunk.mjs";import"./NcActions-CX1MSord-CCHAduKQ.chunk.mjs";import"./video-BfiJ2KTq.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./useHotKey-DZ4qTGGw.chunk.mjs";import"./NcIconToggleSwitch-B19dt_oD-CXYKENkX.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./useFormatDateTime-hCj0nLGk.chunk.mjs";const z={name:"ArrowRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var F=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon arrow-right-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},P=[],A=d(z,F,P,!1,null,null);const g=A.exports,B={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var L=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},R=[],M=d(B,L,R,!1,null,null);const E=M.exports,O={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var I=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},$=[],U=d(O,I,$,!1,null,null);const V=U.exports,q=h({name:"NodePickerCard",components:{FileSvg:E,FolderSvg:V,NcDateTime:N},props:{preview:{type:String,default:null},mtime:{type:Date,default:null},size:{type:Number,default:null},isFolder:{type:Boolean,default:!1},label:{type:String,required:!0},boldDate:{type:Boolean,default:!1},boldSize:{type:Boolean,default:!1}},data(){return{previewFailed:!1}},computed:{showPreview(){return!!this.preview&&!this.previewFailed},formattedSize(){return this.size?C(this.size,!0):r("Unknown size")}},watch:{preview(){this.previewFailed=!1}},methods:{t:r}});var D=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("span",{staticClass:"node-picker"},[e.showPreview?t("img",{staticClass:"node-picker__preview",attrs:{src:e.preview,alt:"",loading:"lazy"},on:{error:function(i){e.previewFailed=!0}}}):[e.isFolder?t("FolderSvg",{staticClass:"node-picker__icon",attrs:{size:48}}):t("FileSvg",{staticClass:"node-picker__icon",attrs:{size:48}})],t("span",{staticClass:"node-picker__desc"},[e.mtime?t("NcDateTime",{staticClass:"node-picker__mtime",class:{"node-picker__value--bold":e.boldDate},attrs:{timestamp:e.mtime,"relative-time":!1,format:{timeStyle:"short",dateStyle:"medium"}}}):t("span",{staticClass:"node-picker__mtime"},[e._v(" "+e._s(e.t("Last modified date unknown"))+" ")]),t("span",{staticClass:"node-picker__size",class:{"node-picker__value--bold":e.boldSize}},[e._v(" "+e._s(e.formattedSize)+" ")]),t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.label))])],1)],2)},T=[],H=d(q,D,T,!1,null,"7a2b1a1d");const j=H.exports,m=64,K=h({name:"NodesPicker",components:{ArrowRight:g,NcCheckboxRadioSwitch:f,NodePickerCard:j},props:{incoming:{type:[File,Object],required:!0},existing:{type:Object,required:!0},newSelected:{type:Array,required:!0},oldSelected:{type:Array,required:!0},isSingle:{type:Boolean,default:!1}},data(){return{asyncPreview:null,incomingFile:null}},computed:{isEnoughSelected(){return this.isChecked(this.incoming,this.newSelected)||this.isChecked(this.existing,this.oldSelected)},incomingPreview(){return this.incomingFile?this.previewUrl(this.incomingFile)??this.asyncPreview:null},incomingLastModified(){return this.incomingFile?this.lastModified(this.incomingFile):null},incomingSize(){return this.incomingFile?.size??null},existingPreview(){return this.previewUrl(this.existing)},existingLastModified(){return this.lastModified(this.existing)},existingSize(){return this.existing.size??null},incomingNewer(){return this.isBigger(this.incomingLastModified?.getTime(),this.existingLastModified?.getTime())},existingNewer(){return this.isBigger(this.existingLastModified?.getTime(),this.incomingLastModified?.getTime())},incomingLarger(){return this.isBigger(this.incomingSize,this.existingSize)},existingLarger(){return this.isBigger(this.existingSize,this.incomingSize)}},watch:{incoming:{immediate:!0,async handler(){this.incoming instanceof File?this.incomingFile=this.incoming:_(this.incoming)?this.incomingFile=await new Promise((e,t)=>this.incoming.file(e,t)):this.incomingFile=null}}},methods:{isBigger(e,t){return!e||!t?!1:e>t},lastModified(e){return(e instanceof File?new Date(e.lastModified):e.mtime)??null},previewUrl(e){if(e instanceof File)return this.previewImage(e).then(t=>{this.asyncPreview=t}),null;if(e.type===p.Folder)return null;try{const t=e.attributes.previewUrl||S("/core/preview?fileId={fileid}",{fileid:e.fileid}),i=new URL(window.location.origin+t);i.searchParams.set("x",m.toString()),i.searchParams.set("y",m.toString()),i.searchParams.set("mimeFallback","true");const l=e.attributes?.etag||"";return i.searchParams.set("v",l.slice(0,6)),i.href}catch{return null}},isFolder(e){return a(e)?e.isDirectory:(e=e,e.type===p.Folder||e.type==="httpd/unix-directory")},isChecked(e,t){return t.includes(e)},onUpdateIncomingChecked(e){e?this.$emit("update:newSelected",[this.incoming,...this.newSelected]):this.$emit("update:newSelected",this.newSelected.filter(t=>t!==this.incoming))},onUpdateExistingChecked(e){e?this.$emit("update:oldSelected",[this.existing,...this.oldSelected]):this.$emit("update:oldSelected",this.oldSelected.filter(t=>t!==this.existing))},async previewImage(e){return new Promise(t=>{if(e instanceof File&&e.type.startsWith("image/")){const i=new FileReader;i.onload=async l=>{const s=l?.target?.result;if(s instanceof ArrayBuffer){const n=new Blob([s],{type:e.type}),c=URL.createObjectURL(n);t(c);return}t(null)},i.readAsArrayBuffer(e)}else t(null)})},t:r}});var W=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("fieldset",{staticClass:"node-picker__wrapper",attrs:{"data-cy-conflict-picker-fieldset":e.existing.basename}},[t("legend",[e._v(e._s(e.existing.basename))]),e.isSingle?t("NodePickerCard",{attrs:{preview:e.existingPreview,mtime:e.existingLastModified,size:e.existingSize,"is-folder":e.isFolder(e.existing),label:e.t("Existing version"),"bold-date":e.existingNewer,"bold-size":e.existingLarger}}):t("NcCheckboxRadioSwitch",{attrs:{checked:e.isChecked(e.existing,e.oldSelected),required:!e.isEnoughSelected,"data-cy-conflict-picker-input-existing":e.existing.basename},on:{"update:checked":e.onUpdateExistingChecked}},[t("NodePickerCard",{attrs:{preview:e.existingPreview,mtime:e.existingLastModified,size:e.existingSize,"is-folder":e.isFolder(e.existing),label:e.t("Existing version"),"bold-date":e.existingNewer,"bold-size":e.existingLarger}})],1),t("ArrowRight",{staticClass:"node-picker__arrow",attrs:{size:20}}),e.isSingle?t("NodePickerCard",{attrs:{preview:e.incomingPreview,mtime:e.incomingLastModified,size:e.incomingSize,"is-folder":e.isFolder(e.incoming),label:e.t("New version"),"bold-date":e.incomingNewer,"bold-size":e.incomingLarger}}):t("NcCheckboxRadioSwitch",{attrs:{checked:e.isChecked(e.incoming,e.newSelected),required:!e.isEnoughSelected,"data-cy-conflict-picker-input-incoming":e.existing.basename},on:{"update:checked":e.onUpdateIncomingChecked}},[t("NodePickerCard",{attrs:{preview:e.incomingPreview,mtime:e.incomingLastModified,size:e.incomingSize,"is-folder":e.isFolder(e.incoming),label:e.t("New version"),"bold-date":e.incomingNewer,"bold-size":e.incomingLarger}})],1)],1)},Z=[],Y=d(K,W,Z,!1,null,"dcd77f87");const G=Y.exports,J=h({name:"ConflictPicker",components:{ArrowRight:g,NcButton:x,NcCheckboxRadioSwitch:f,NcDialog:v,NodesPicker:G},props:{dirname:{type:String,default:""},content:{type:Array,required:!0},conflicts:{type:Array,required:!0},recursiveUpload:{type:Boolean,default:!1}},emits:["cancel","submit"],setup(){return{blockedTitle:r("You need to select at least one version of each file to continue.")}},data(){return{files:[],opened:!0,newSelected:[],oldSelected:[]}},computed:{name(){return this.isSingle?r("Select file to keep"):r("Select files to keep")},isSingle(){return this.conflicts.length===1},folderName(){return k(this.dirname??"")||r("All files")},descriptionParts(){const e=this.isSingle?r("An item with the same name already exists in {dirname}."):r("Items with the same name already exist in {dirname}, select which to keep."),[t,i=""]=e.split("{dirname}");return{before:t,after:i}},skipButtonLabel(){return b("Skip {count} file","Skip {count} files",this.conflicts.length,{count:this.conflicts.length})},selectAllNewBind(){const e=this.isNoneNewSelected||this.isSomeNewSelected?this.t("Select all"):this.t("Unselect all");return{"aria-label":e,checked:this.isAllNewSelected,indeterminate:this.isSomeNewSelected,title:e}},isAllNewSelected(){return this.newSelected.length===this.conflicts.length},isNoneNewSelected(){return this.newSelected.length===0},isSomeNewSelected(){return!this.isAllNewSelected&&!this.isNoneNewSelected},selectAllOldBind(){const e=this.isNoneOldSelected||this.isSomeOldSelected?this.t("Select all"):this.t("Unselect all");return{"aria-label":e,checked:this.isAllOldSelected,indeterminate:this.isSomeOldSelected,title:e}},isAllOldSelected(){return this.oldSelected.length===this.files.length},isNoneOldSelected(){return this.oldSelected.length===0},isSomeOldSelected(){return!this.isAllOldSelected&&!this.isNoneOldSelected},isEnoughSelected(){return this.isAllOldSelected||this.isAllNewSelected?!0:this.$refs?.nodesPicker?.every?.(e=>e.isEnoughSelected)}},mounted(){if(this.files=this.conflicts.map(e=>{const t=e instanceof File||a(e)?e.name:e.basename;return this.content.find(i=>i.basename===t)}).filter(Boolean),this.conflicts.length===0||this.files.length===0){const e=new Error("ConflictPicker: files and conflicts must not be empty");throw this.onCancel(e),e}if(this.conflicts.length!==this.files.length){const e=new Error("ConflictPicker: files and conflicts must have the same length. Make sure you filter out non conflicting files from the conflicts array.");throw this.onCancel(e),e}this.newSelected=this.conflicts,o.debug("ConflictPicker initialised",{files:this.files,conflicts:this.conflicts,content:this.content})},methods:{onCancel(e){this.opened=!1,this.$emit("cancel",e)},onSkip(){o.debug("Conflict skipped. Ignoring all conflicting files"),this.opened=!1,this.$emit("submit",{selected:[],renamed:[]})},onReplace(){this.newSelected=this.conflicts,this.oldSelected=[],this.onSubmit()},onKeepBoth(){this.newSelected=this.conflicts,this.oldSelected=this.files,this.onSubmit()},onSubmit(){if(!this.isEnoughSelected){this.scrollValidityInputIntoView(),this.$refs.form.reportValidity(),w(this.blockedTitle);return}const e=this.oldSelected.map(n=>n.basename),t=this.content.map(n=>n.basename),i=[],l=this.newSelected.filter(n=>{const c=n instanceof File||a(n)?n.name:n.basename;return e.includes(c)});l.length>0&&l.forEach(n=>{const c=n instanceof File||a(n)?n.name:n.basename,u=y(c,t);if(n instanceof File||a(n)){Object.defineProperty(n,"name",{value:u}),i.push(n);return}n.rename(u),i.push(n)});const s=this.newSelected.filter(n=>{const c=n instanceof File||a(n)?n.name:n.basename;return!e.includes(c)&&!l.includes(n)});o.debug("Conflict resolved",{selected:s,renamed:i}),this.opened=!1,this.$emit("submit",{selected:s,renamed:i})},scrollValidityInputIntoView(){const e='.checkbox-radio-switch input[type="checkbox"]';Array.from(this.$el.querySelectorAll(e)).forEach(i=>i?.setCustomValidity?.(""));const t=this.$el.querySelector(e+":invalid");t&&(t.setCustomValidity(this.blockedTitle),t.scrollIntoView({behavior:"instant",block:"center"}))},onSelectAllNew(e){e?(o.debug("Selected all new files"),this.newSelected=this.conflicts):(o.debug("Cleared new selection"),this.newSelected=[])},onSelectAllOld(e){e?(o.debug("Selected all existing files"),this.oldSelected=this.files):(o.debug("Cleared old selection"),this.oldSelected=[])},t:r}});var Q=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcDialog",{staticClass:"conflict-picker",attrs:{"can-close":"","data-cy-conflict-picker":"","close-on-click-outside":!1,show:e.opened,name:e.name,size:"large"},on:{closing:e.onCancel},scopedSlots:e._u([{key:"actions",fn:function(){return[t("NcButton",{attrs:{"aria-label":e.t("Cancel"),title:e.t("Cancel the entire operation"),"data-cy-conflict-picker-cancel":"",type:"tertiary"},on:{click:e.onCancel}},[e._v(" "+e._s(e.t("Cancel"))+" ")]),t("span",{staticClass:"dialog__actions-separator"}),e.isSingle?[t("NcButton",{attrs:{"aria-label":e.t("Keep both"),"data-cy-conflict-picker-keep-both":"",type:"secondary"},on:{click:e.onKeepBoth}},[e._v(" "+e._s(e.t("Keep both"))+" ")]),t("NcButton",{attrs:{"aria-label":e.t("Replace"),"data-cy-conflict-picker-submit":"",type:"primary"},on:{click:e.onReplace}},[e._v(" "+e._s(e.t("Replace"))+" ")])]:[t("NcButton",{attrs:{"aria-label":e.skipButtonLabel,"data-cy-conflict-picker-skip":""},on:{click:e.onSkip}},[e._v(" "+e._s(e.skipButtonLabel)+" ")]),t("NcButton",{class:{"button-vue--disabled":!e.isEnoughSelected},attrs:{"aria-label":e.t("Continue"),title:e.isEnoughSelected?"":e.blockedTitle,"data-cy-conflict-picker-submit":"","native-type":"submit",type:"primary"},on:{click:function(i){return i.stopPropagation(),i.preventDefault(),e.onSubmit.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowRight",{attrs:{size:20}})]},proxy:!0}])},[e._v(" "+e._s(e.t("Continue"))+" ")])]]},proxy:!0}])},[t("div",{staticClass:"conflict-picker__header"},[t("p",{staticClass:"conflict-picker__description",attrs:{id:"conflict-picker-description"}},[e._v(" "+e._s(e.descriptionParts.before)),t("strong",[e._v(e._s(e.folderName))]),e._v(e._s(e.descriptionParts.after)),t("br"),e.isSingle?e._e():[e._v(" "+e._s(e.t("Existing files and folders will be deleted if not selected. If both are chosen, they will be renamed."))),t("br")],e.recursiveUpload?[e._v(" "+e._s(e.t("When a new folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed."))+" ")]:[e._v(" "+e._s(e.t("When a new folder is selected, any conflicting files within it will also be overwritten."))+" ")]],2)]),t("form",{ref:"form",staticClass:"conflict-picker__form",attrs:{"aria-labelledby":"conflict-picker-description","data-cy-conflict-picker-form":""},on:{submit:function(i){return i.preventDefault(),i.stopPropagation(),e.onSubmit.apply(null,arguments)}}},[e.isSingle?e._e():t("fieldset",{staticClass:"conflict-picker__all",attrs:{"data-cy-conflict-picker-fieldset":"all"}},[t("legend",{staticClass:"hidden-visually"},[e._v(" "+e._s(e.t("Select all checkboxes"))+" ")]),t("NcCheckboxRadioSwitch",e._b({attrs:{"data-cy-conflict-picker-input-existing":"all"},on:{"update:checked":e.onSelectAllOld}},"NcCheckboxRadioSwitch",e.selectAllOldBind,!1),[e._v(" "+e._s(e.t("Existing files"))+" ")]),t("span"),t("NcCheckboxRadioSwitch",e._b({attrs:{"data-cy-conflict-picker-input-incoming":"all"},on:{"update:checked":e.onSelectAllNew}},"NcCheckboxRadioSwitch",e.selectAllNewBind,!1),[e._v(" "+e._s(e.t("New files"))+" ")])],1),e._l(e.files,function(i,l){return t("NodesPicker",{key:i.fileid,ref:"nodesPicker",refInFor:!0,attrs:{incoming:e.conflicts[l],existing:e.files[l],"is-single":e.isSingle,"new-selected":e.newSelected,"old-selected":e.oldSelected},on:{"update:newSelected":function(s){e.newSelected=s},"update:new-selected":function(s){e.newSelected=s},"update:oldSelected":function(s){e.oldSelected=s},"update:old-selected":function(s){e.oldSelected=s}}})})],2)])},X=[],ee=d(J,Q,X,!1,null,"4a4bdd42");const ke=ee.exports;export{ke as default};
-//# sourceMappingURL=ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs.map
+import{d as h,F as p,n as S}from"./preload-helper-DenR1iTd.chunk.mjs";import{n as d,t as r,l as o,s as w,i as a,a as b,b as k,c as _}from"./index-SPoS3_zU-BQ1u8mle.chunk.mjs";import{N as v}from"./NcDialog-DoGsI2_6-CL18WLkD.chunk.mjs";import"./NcProgressBar-D7zYeXBH-O0ahN0R6.chunk.mjs";import{g as y,f as C}from"./index-CPw5H2i_.chunk.mjs";import{N as f}from"./NcCheckboxRadioSwitch-BAjRm8PQ-D6NIuIHu.chunk.mjs";import{N as x}from"./index-CiNJWU5O.chunk.mjs";import{N}from"./NcDateTime-enXYuwj8-CoCOxfk6.chunk.mjs";import"./index-CMnsBMUJ.chunk.mjs";import"./dialog-DS2KDHi-.chunk.mjs";import"./NcModal-DZaxRMd3.chunk.mjs";import"./NcLoadingIcon-e2aOocUH.chunk.mjs";import"./NcActions-CX1MSord-BRkkH9EI.chunk.mjs";import"./video-DOsUo6T9.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./useHotKey-CTDiXBP3.chunk.mjs";import"./NcIconToggleSwitch-B19dt_oD-BS5yGCpi.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./useFormatDateTime-BjfqHSfp.chunk.mjs";const z={name:"ArrowRightIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var F=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon arrow-right-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},P=[],A=d(z,F,P,!1,null,null);const g=A.exports,B={name:"FileIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var L=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon file-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},R=[],M=d(B,L,R,!1,null,null);const E=M.exports,O={name:"FolderIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var I=function(){var e=this,t=e._self._c;return t("span",e._b({staticClass:"material-design-icon folder-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(i){return e.$emit("click",i)}}},"span",e.$attrs,!1),[t("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z"}},[e.title?t("title",[e._v(e._s(e.title))]):e._e()])])])},$=[],U=d(O,I,$,!1,null,null);const V=U.exports,q=h({name:"NodePickerCard",components:{FileSvg:E,FolderSvg:V,NcDateTime:N},props:{preview:{type:String,default:null},mtime:{type:Date,default:null},size:{type:Number,default:null},isFolder:{type:Boolean,default:!1},label:{type:String,required:!0},boldDate:{type:Boolean,default:!1},boldSize:{type:Boolean,default:!1}},data(){return{previewFailed:!1}},computed:{showPreview(){return!!this.preview&&!this.previewFailed},formattedSize(){return this.size?C(this.size,!0):r("Unknown size")}},watch:{preview(){this.previewFailed=!1}},methods:{t:r}});var D=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("span",{staticClass:"node-picker"},[e.showPreview?t("img",{staticClass:"node-picker__preview",attrs:{src:e.preview,alt:"",loading:"lazy"},on:{error:function(i){e.previewFailed=!0}}}):[e.isFolder?t("FolderSvg",{staticClass:"node-picker__icon",attrs:{size:48}}):t("FileSvg",{staticClass:"node-picker__icon",attrs:{size:48}})],t("span",{staticClass:"node-picker__desc"},[e.mtime?t("NcDateTime",{staticClass:"node-picker__mtime",class:{"node-picker__value--bold":e.boldDate},attrs:{timestamp:e.mtime,"relative-time":!1,format:{timeStyle:"short",dateStyle:"medium"}}}):t("span",{staticClass:"node-picker__mtime"},[e._v(" "+e._s(e.t("Last modified date unknown"))+" ")]),t("span",{staticClass:"node-picker__size",class:{"node-picker__value--bold":e.boldSize}},[e._v(" "+e._s(e.formattedSize)+" ")]),t("span",{staticClass:"hidden-visually"},[e._v(e._s(e.label))])],1)],2)},T=[],H=d(q,D,T,!1,null,"7a2b1a1d");const j=H.exports,m=64,K=h({name:"NodesPicker",components:{ArrowRight:g,NcCheckboxRadioSwitch:f,NodePickerCard:j},props:{incoming:{type:[File,Object],required:!0},existing:{type:Object,required:!0},newSelected:{type:Array,required:!0},oldSelected:{type:Array,required:!0},isSingle:{type:Boolean,default:!1}},data(){return{asyncPreview:null,incomingFile:null}},computed:{isEnoughSelected(){return this.isChecked(this.incoming,this.newSelected)||this.isChecked(this.existing,this.oldSelected)},incomingPreview(){return this.incomingFile?this.previewUrl(this.incomingFile)??this.asyncPreview:null},incomingLastModified(){return this.incomingFile?this.lastModified(this.incomingFile):null},incomingSize(){return this.incomingFile?.size??null},existingPreview(){return this.previewUrl(this.existing)},existingLastModified(){return this.lastModified(this.existing)},existingSize(){return this.existing.size??null},incomingNewer(){return this.isBigger(this.incomingLastModified?.getTime(),this.existingLastModified?.getTime())},existingNewer(){return this.isBigger(this.existingLastModified?.getTime(),this.incomingLastModified?.getTime())},incomingLarger(){return this.isBigger(this.incomingSize,this.existingSize)},existingLarger(){return this.isBigger(this.existingSize,this.incomingSize)}},watch:{incoming:{immediate:!0,async handler(){this.incoming instanceof File?this.incomingFile=this.incoming:_(this.incoming)?this.incomingFile=await new Promise((e,t)=>this.incoming.file(e,t)):this.incomingFile=null}}},methods:{isBigger(e,t){return!e||!t?!1:e>t},lastModified(e){return(e instanceof File?new Date(e.lastModified):e.mtime)??null},previewUrl(e){if(e instanceof File)return this.previewImage(e).then(t=>{this.asyncPreview=t}),null;if(e.type===p.Folder)return null;try{const t=e.attributes.previewUrl||S("/core/preview?fileId={fileid}",{fileid:e.fileid}),i=new URL(window.location.origin+t);i.searchParams.set("x",m.toString()),i.searchParams.set("y",m.toString()),i.searchParams.set("mimeFallback","true");const l=e.attributes?.etag||"";return i.searchParams.set("v",l.slice(0,6)),i.href}catch{return null}},isFolder(e){return a(e)?e.isDirectory:(e=e,e.type===p.Folder||e.type==="httpd/unix-directory")},isChecked(e,t){return t.includes(e)},onUpdateIncomingChecked(e){e?this.$emit("update:newSelected",[this.incoming,...this.newSelected]):this.$emit("update:newSelected",this.newSelected.filter(t=>t!==this.incoming))},onUpdateExistingChecked(e){e?this.$emit("update:oldSelected",[this.existing,...this.oldSelected]):this.$emit("update:oldSelected",this.oldSelected.filter(t=>t!==this.existing))},async previewImage(e){return new Promise(t=>{if(e instanceof File&&e.type.startsWith("image/")){const i=new FileReader;i.onload=async l=>{const s=l?.target?.result;if(s instanceof ArrayBuffer){const n=new Blob([s],{type:e.type}),c=URL.createObjectURL(n);t(c);return}t(null)},i.readAsArrayBuffer(e)}else t(null)})},t:r}});var W=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("fieldset",{staticClass:"node-picker__wrapper",attrs:{"data-cy-conflict-picker-fieldset":e.existing.basename}},[t("legend",[e._v(e._s(e.existing.basename))]),e.isSingle?t("NodePickerCard",{attrs:{preview:e.existingPreview,mtime:e.existingLastModified,size:e.existingSize,"is-folder":e.isFolder(e.existing),label:e.t("Existing version"),"bold-date":e.existingNewer,"bold-size":e.existingLarger}}):t("NcCheckboxRadioSwitch",{attrs:{checked:e.isChecked(e.existing,e.oldSelected),required:!e.isEnoughSelected,"data-cy-conflict-picker-input-existing":e.existing.basename},on:{"update:checked":e.onUpdateExistingChecked}},[t("NodePickerCard",{attrs:{preview:e.existingPreview,mtime:e.existingLastModified,size:e.existingSize,"is-folder":e.isFolder(e.existing),label:e.t("Existing version"),"bold-date":e.existingNewer,"bold-size":e.existingLarger}})],1),t("ArrowRight",{staticClass:"node-picker__arrow",attrs:{size:20}}),e.isSingle?t("NodePickerCard",{attrs:{preview:e.incomingPreview,mtime:e.incomingLastModified,size:e.incomingSize,"is-folder":e.isFolder(e.incoming),label:e.t("New version"),"bold-date":e.incomingNewer,"bold-size":e.incomingLarger}}):t("NcCheckboxRadioSwitch",{attrs:{checked:e.isChecked(e.incoming,e.newSelected),required:!e.isEnoughSelected,"data-cy-conflict-picker-input-incoming":e.existing.basename},on:{"update:checked":e.onUpdateIncomingChecked}},[t("NodePickerCard",{attrs:{preview:e.incomingPreview,mtime:e.incomingLastModified,size:e.incomingSize,"is-folder":e.isFolder(e.incoming),label:e.t("New version"),"bold-date":e.incomingNewer,"bold-size":e.incomingLarger}})],1)],1)},Z=[],Y=d(K,W,Z,!1,null,"dcd77f87");const G=Y.exports,J=h({name:"ConflictPicker",components:{ArrowRight:g,NcButton:x,NcCheckboxRadioSwitch:f,NcDialog:v,NodesPicker:G},props:{dirname:{type:String,default:""},content:{type:Array,required:!0},conflicts:{type:Array,required:!0},recursiveUpload:{type:Boolean,default:!1}},emits:["cancel","submit"],setup(){return{blockedTitle:r("You need to select at least one version of each file to continue.")}},data(){return{files:[],opened:!0,newSelected:[],oldSelected:[]}},computed:{name(){return this.isSingle?r("Select file to keep"):r("Select files to keep")},isSingle(){return this.conflicts.length===1},folderName(){return k(this.dirname??"")||r("All files")},descriptionParts(){const e=this.isSingle?r("An item with the same name already exists in {dirname}."):r("Items with the same name already exist in {dirname}, select which to keep."),[t,i=""]=e.split("{dirname}");return{before:t,after:i}},skipButtonLabel(){return b("Skip {count} file","Skip {count} files",this.conflicts.length,{count:this.conflicts.length})},selectAllNewBind(){const e=this.isNoneNewSelected||this.isSomeNewSelected?this.t("Select all"):this.t("Unselect all");return{"aria-label":e,checked:this.isAllNewSelected,indeterminate:this.isSomeNewSelected,title:e}},isAllNewSelected(){return this.newSelected.length===this.conflicts.length},isNoneNewSelected(){return this.newSelected.length===0},isSomeNewSelected(){return!this.isAllNewSelected&&!this.isNoneNewSelected},selectAllOldBind(){const e=this.isNoneOldSelected||this.isSomeOldSelected?this.t("Select all"):this.t("Unselect all");return{"aria-label":e,checked:this.isAllOldSelected,indeterminate:this.isSomeOldSelected,title:e}},isAllOldSelected(){return this.oldSelected.length===this.files.length},isNoneOldSelected(){return this.oldSelected.length===0},isSomeOldSelected(){return!this.isAllOldSelected&&!this.isNoneOldSelected},isEnoughSelected(){return this.isAllOldSelected||this.isAllNewSelected?!0:this.$refs?.nodesPicker?.every?.(e=>e.isEnoughSelected)}},mounted(){if(this.files=this.conflicts.map(e=>{const t=e instanceof File||a(e)?e.name:e.basename;return this.content.find(i=>i.basename===t)}).filter(Boolean),this.conflicts.length===0||this.files.length===0){const e=new Error("ConflictPicker: files and conflicts must not be empty");throw this.onCancel(e),e}if(this.conflicts.length!==this.files.length){const e=new Error("ConflictPicker: files and conflicts must have the same length. Make sure you filter out non conflicting files from the conflicts array.");throw this.onCancel(e),e}this.newSelected=this.conflicts,o.debug("ConflictPicker initialised",{files:this.files,conflicts:this.conflicts,content:this.content})},methods:{onCancel(e){this.opened=!1,this.$emit("cancel",e)},onSkip(){o.debug("Conflict skipped. Ignoring all conflicting files"),this.opened=!1,this.$emit("submit",{selected:[],renamed:[]})},onReplace(){this.newSelected=this.conflicts,this.oldSelected=[],this.onSubmit()},onKeepBoth(){this.newSelected=this.conflicts,this.oldSelected=this.files,this.onSubmit()},onSubmit(){if(!this.isEnoughSelected){this.scrollValidityInputIntoView(),this.$refs.form.reportValidity(),w(this.blockedTitle);return}const e=this.oldSelected.map(n=>n.basename),t=this.content.map(n=>n.basename),i=[],l=this.newSelected.filter(n=>{const c=n instanceof File||a(n)?n.name:n.basename;return e.includes(c)});l.length>0&&l.forEach(n=>{const c=n instanceof File||a(n)?n.name:n.basename,u=y(c,t);if(n instanceof File||a(n)){Object.defineProperty(n,"name",{value:u}),i.push(n);return}n.rename(u),i.push(n)});const s=this.newSelected.filter(n=>{const c=n instanceof File||a(n)?n.name:n.basename;return!e.includes(c)&&!l.includes(n)});o.debug("Conflict resolved",{selected:s,renamed:i}),this.opened=!1,this.$emit("submit",{selected:s,renamed:i})},scrollValidityInputIntoView(){const e='.checkbox-radio-switch input[type="checkbox"]';Array.from(this.$el.querySelectorAll(e)).forEach(i=>i?.setCustomValidity?.(""));const t=this.$el.querySelector(e+":invalid");t&&(t.setCustomValidity(this.blockedTitle),t.scrollIntoView({behavior:"instant",block:"center"}))},onSelectAllNew(e){e?(o.debug("Selected all new files"),this.newSelected=this.conflicts):(o.debug("Cleared new selection"),this.newSelected=[])},onSelectAllOld(e){e?(o.debug("Selected all existing files"),this.oldSelected=this.files):(o.debug("Cleared old selection"),this.oldSelected=[])},t:r}});var Q=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcDialog",{staticClass:"conflict-picker",attrs:{"can-close":"","data-cy-conflict-picker":"","close-on-click-outside":!1,show:e.opened,name:e.name,size:"large"},on:{closing:e.onCancel},scopedSlots:e._u([{key:"actions",fn:function(){return[t("NcButton",{attrs:{"aria-label":e.t("Cancel"),title:e.t("Cancel the entire operation"),"data-cy-conflict-picker-cancel":"",type:"tertiary"},on:{click:e.onCancel}},[e._v(" "+e._s(e.t("Cancel"))+" ")]),t("span",{staticClass:"dialog__actions-separator"}),e.isSingle?[t("NcButton",{attrs:{"aria-label":e.t("Keep both"),"data-cy-conflict-picker-keep-both":"",type:"secondary"},on:{click:e.onKeepBoth}},[e._v(" "+e._s(e.t("Keep both"))+" ")]),t("NcButton",{attrs:{"aria-label":e.t("Replace"),"data-cy-conflict-picker-submit":"",type:"primary"},on:{click:e.onReplace}},[e._v(" "+e._s(e.t("Replace"))+" ")])]:[t("NcButton",{attrs:{"aria-label":e.skipButtonLabel,"data-cy-conflict-picker-skip":""},on:{click:e.onSkip}},[e._v(" "+e._s(e.skipButtonLabel)+" ")]),t("NcButton",{class:{"button-vue--disabled":!e.isEnoughSelected},attrs:{"aria-label":e.t("Continue"),title:e.isEnoughSelected?"":e.blockedTitle,"data-cy-conflict-picker-submit":"","native-type":"submit",type:"primary"},on:{click:function(i){return i.stopPropagation(),i.preventDefault(),e.onSubmit.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowRight",{attrs:{size:20}})]},proxy:!0}])},[e._v(" "+e._s(e.t("Continue"))+" ")])]]},proxy:!0}])},[t("div",{staticClass:"conflict-picker__header"},[t("p",{staticClass:"conflict-picker__description",attrs:{id:"conflict-picker-description"}},[e._v(" "+e._s(e.descriptionParts.before)),t("strong",[e._v(e._s(e.folderName))]),e._v(e._s(e.descriptionParts.after)),t("br"),e.isSingle?e._e():[e._v(" "+e._s(e.t("Existing files and folders will be deleted if not selected. If both are chosen, they will be renamed."))),t("br")],e.recursiveUpload?[e._v(" "+e._s(e.t("When a new folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed."))+" ")]:[e._v(" "+e._s(e.t("When a new folder is selected, any conflicting files within it will also be overwritten."))+" ")]],2)]),t("form",{ref:"form",staticClass:"conflict-picker__form",attrs:{"aria-labelledby":"conflict-picker-description","data-cy-conflict-picker-form":""},on:{submit:function(i){return i.preventDefault(),i.stopPropagation(),e.onSubmit.apply(null,arguments)}}},[e.isSingle?e._e():t("fieldset",{staticClass:"conflict-picker__all",attrs:{"data-cy-conflict-picker-fieldset":"all"}},[t("legend",{staticClass:"hidden-visually"},[e._v(" "+e._s(e.t("Select all checkboxes"))+" ")]),t("NcCheckboxRadioSwitch",e._b({attrs:{"data-cy-conflict-picker-input-existing":"all"},on:{"update:checked":e.onSelectAllOld}},"NcCheckboxRadioSwitch",e.selectAllOldBind,!1),[e._v(" "+e._s(e.t("Existing files"))+" ")]),t("span"),t("NcCheckboxRadioSwitch",e._b({attrs:{"data-cy-conflict-picker-input-incoming":"all"},on:{"update:checked":e.onSelectAllNew}},"NcCheckboxRadioSwitch",e.selectAllNewBind,!1),[e._v(" "+e._s(e.t("New files"))+" ")])],1),e._l(e.files,function(i,l){return t("NodesPicker",{key:i.fileid,ref:"nodesPicker",refInFor:!0,attrs:{incoming:e.conflicts[l],existing:e.files[l],"is-single":e.isSingle,"new-selected":e.newSelected,"old-selected":e.oldSelected},on:{"update:newSelected":function(s){e.newSelected=s},"update:new-selected":function(s){e.newSelected=s},"update:oldSelected":function(s){e.oldSelected=s},"update:old-selected":function(s){e.oldSelected=s}}})})],2)])},X=[],ee=d(J,Q,X,!1,null,"4a4bdd42");const ke=ee.exports;export{ke as default};
+//# sourceMappingURL=ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs.map
diff --git a/js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs.license b/js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs.license
similarity index 100%
rename from js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs.license
rename to js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs.license
diff --git a/js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs.map b/js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs.map
similarity index 99%
rename from js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs.map
rename to js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs.map
index 5a789e8c63..1bfe147498 100644
--- a/js/ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs.map
+++ b/js/ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"ConflictPicker-BRRUCIWm-DDl3A4SF.chunk.mjs","sources":["../node_modules/@nextcloud/upload/dist/chunks/ConflictPicker-BRRUCIWm.mjs"],"sourcesContent":["import '../assets/ConflictPicker-Bf00u2Pe.css';\nimport { defineComponent } from \"vue\";\nimport { showError } from \"@nextcloud/dialogs\";\nimport { formatFileSize, FileType, getUniqueName } from \"@nextcloud/files\";\nimport { basename } from \"@nextcloud/paths\";\nimport { n as normalizeComponent, t, i as isFileSystemEntry, a as isFileSystemFileEntry, l as logger, b as n } from \"./index-SPoS3_zU.mjs\";\nimport NcCheckboxRadioSwitch from \"@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js\";\nimport NcDialog from \"@nextcloud/vue/dist/Components/NcDialog.js\";\nimport NcButton from \"@nextcloud/vue/dist/Components/NcButton.js\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport NcDateTime from \"@nextcloud/vue/dist/Components/NcDateTime.js\";\nconst _sfc_main$5 = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$5 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon arrow-right-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n null\n);\nconst ArrowRight = __component__$5.exports;\nconst _sfc_main$4 = {\n name: \"FileIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$4 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon file-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n null\n);\nconst FileSvg = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$3 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null\n);\nconst FolderSvg = __component__$3.exports;\nconst _sfc_main$2 = defineComponent({\n name: \"NodePickerCard\",\n components: {\n FileSvg,\n FolderSvg,\n NcDateTime\n },\n props: {\n /** Preview url, if any */\n preview: {\n type: String,\n default: null\n },\n /** Last modified date, if known */\n mtime: {\n type: Date,\n default: null\n },\n /** Size in bytes, if known */\n size: {\n type: Number,\n default: null\n },\n /** Use the folder icon as fallback */\n isFolder: {\n type: Boolean,\n default: false\n },\n /** Label for screen readers (\"Existing version\"/\"New version\") */\n label: {\n type: String,\n required: true\n },\n /** Highlight the date as it is the more recent one */\n boldDate: {\n type: Boolean,\n default: false\n },\n /** Highlight the size as it is the bigger one */\n boldSize: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n // Previews can 404, fall back to the icon instead of a broken image\n previewFailed: false\n };\n },\n computed: {\n showPreview() {\n return !!this.preview && !this.previewFailed;\n },\n formattedSize() {\n if (this.size) {\n return formatFileSize(this.size, true);\n }\n return t(\"Unknown size\");\n }\n },\n watch: {\n preview() {\n this.previewFailed = false;\n }\n },\n methods: {\n t\n }\n});\nvar _sfc_render$2 = function render4() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"span\", { staticClass: \"node-picker\" }, [!_vm.showPreview ? [_vm.isFolder ? _c(\"FolderSvg\", { staticClass: \"node-picker__icon\", attrs: { \"size\": 48 } }) : _c(\"FileSvg\", { staticClass: \"node-picker__icon\", attrs: { \"size\": 48 } })] : _c(\"img\", { staticClass: \"node-picker__preview\", attrs: { \"src\": _vm.preview, \"alt\": \"\", \"loading\": \"lazy\" }, on: { \"error\": function($event) {\n _vm.previewFailed = true;\n } } }), _c(\"span\", { staticClass: \"node-picker__desc\" }, [_vm.mtime ? _c(\"NcDateTime\", { staticClass: \"node-picker__mtime\", class: { \"node-picker__value--bold\": _vm.boldDate }, attrs: { \"timestamp\": _vm.mtime, \"relative-time\": false, \"format\": { timeStyle: \"short\", dateStyle: \"medium\" } } }) : _c(\"span\", { staticClass: \"node-picker__mtime\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Last modified date unknown\")) + \" \")]), _c(\"span\", { staticClass: \"node-picker__size\", class: { \"node-picker__value--bold\": _vm.boldSize } }, [_vm._v(\" \" + _vm._s(_vm.formattedSize) + \" \")]), _c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(_vm._s(_vm.label))])], 1)], 2);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"7a2b1a1d\"\n);\nconst NodePickerCard = __component__$2.exports;\nconst PREVIEW_SIZE = 64;\nconst _sfc_main$1 = defineComponent({\n name: \"NodesPicker\",\n components: {\n ArrowRight,\n NcCheckboxRadioSwitch,\n NodePickerCard\n },\n props: {\n incoming: {\n type: [File, Object],\n required: true\n },\n existing: {\n type: Object,\n required: true\n },\n newSelected: {\n type: Array,\n required: true\n },\n oldSelected: {\n type: Array,\n required: true\n },\n /**\n * Single file mode: show both versions without checkboxes.\n * The parent offers \"Keep both\" and \"Replace\" buttons instead.\n */\n isSingle: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n asyncPreview: null,\n incomingFile: null\n };\n },\n computed: {\n /**\n * Whether the incoming or existing file is selected.\n * This is used by the parent component to ensure\n * that the user has selected at least one of the two files.\n */\n isEnoughSelected() {\n return this.isChecked(this.incoming, this.newSelected) || this.isChecked(this.existing, this.oldSelected);\n },\n incomingPreview() {\n if (!this.incomingFile) {\n return null;\n }\n const preview = this.previewUrl(this.incomingFile);\n return preview ?? this.asyncPreview;\n },\n incomingLastModified() {\n if (!this.incomingFile) {\n return null;\n }\n return this.lastModified(this.incomingFile);\n },\n incomingSize() {\n return this.incomingFile?.size ?? null;\n },\n existingPreview() {\n return this.previewUrl(this.existing);\n },\n existingLastModified() {\n return this.lastModified(this.existing);\n },\n existingSize() {\n return this.existing.size ?? null;\n },\n // Highlight the more recent date and the bigger size to ease comparison\n incomingNewer() {\n return this.isBigger(this.incomingLastModified?.getTime(), this.existingLastModified?.getTime());\n },\n existingNewer() {\n return this.isBigger(this.existingLastModified?.getTime(), this.incomingLastModified?.getTime());\n },\n incomingLarger() {\n return this.isBigger(this.incomingSize, this.existingSize);\n },\n existingLarger() {\n return this.isBigger(this.existingSize, this.incomingSize);\n }\n },\n watch: {\n /**\n * Watch \"incoming\" to update \"incomingFile\"\n */\n incoming: {\n // Run the watcher also on mount with initial \"incoming\" value\n immediate: true,\n async handler() {\n if (this.incoming instanceof File) {\n this.incomingFile = this.incoming;\n } else if (isFileSystemFileEntry(this.incoming)) {\n this.incomingFile = await new Promise((resolve, reject) => this.incoming.file(resolve, reject));\n } else {\n this.incomingFile = null;\n }\n }\n }\n },\n methods: {\n /**\n * Both values need to be known, otherwise there is nothing to compare.\n * @param value the value to highlight if it is the bigger one\n * @param other the value to compare against\n */\n isBigger(value, other) {\n if (!value || !other) {\n return false;\n }\n return value > other;\n },\n lastModified(node) {\n const lastModified = node instanceof File ? new Date(node.lastModified) : node.mtime;\n return lastModified ?? null;\n },\n previewUrl(node) {\n if (node instanceof File) {\n this.previewImage(node).then((url) => {\n this.asyncPreview = url;\n });\n return null;\n }\n if (node.type === FileType.Folder) {\n return null;\n }\n try {\n const previewUrl = node.attributes.previewUrl || generateUrl(\"/core/preview?fileId={fileid}\", {\n fileid: node.fileid\n });\n const url = new URL(window.location.origin + previewUrl);\n url.searchParams.set(\"x\", PREVIEW_SIZE.toString());\n url.searchParams.set(\"y\", PREVIEW_SIZE.toString());\n url.searchParams.set(\"mimeFallback\", \"true\");\n const etag = node.attributes?.etag || \"\";\n url.searchParams.set(\"v\", etag.slice(0, 6));\n return url.href;\n } catch (e) {\n return null;\n }\n },\n isFolder(node) {\n if (isFileSystemEntry(node)) {\n return node.isDirectory;\n }\n node = node;\n return node.type === FileType.Folder || node.type === \"httpd/unix-directory\";\n },\n isChecked(node, selected) {\n return selected.includes(node);\n },\n onUpdateIncomingChecked(checked) {\n if (checked) {\n this.$emit(\"update:newSelected\", [this.incoming, ...this.newSelected]);\n } else {\n this.$emit(\"update:newSelected\", this.newSelected.filter((node) => node !== this.incoming));\n }\n },\n onUpdateExistingChecked(checked) {\n if (checked) {\n this.$emit(\"update:oldSelected\", [this.existing, ...this.oldSelected]);\n } else {\n this.$emit(\"update:oldSelected\", this.oldSelected.filter((node) => node !== this.existing));\n }\n },\n /**\n * Get the preview Image of a file\n * @param file the soon-to-be-uploaded File\n */\n async previewImage(file) {\n return new Promise((resolve) => {\n if (file instanceof File && file.type.startsWith(\"image/\")) {\n const reader = new FileReader();\n reader.onload = async (e) => {\n const result = e?.target?.result;\n if (result instanceof ArrayBuffer) {\n const blob = new Blob([result], { type: file.type });\n const url = URL.createObjectURL(blob);\n resolve(url);\n return;\n }\n resolve(null);\n };\n reader.readAsArrayBuffer(file);\n } else {\n resolve(null);\n }\n });\n },\n t\n }\n});\nvar _sfc_render$1 = function render5() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"fieldset\", { staticClass: \"node-picker__wrapper\", attrs: { \"data-cy-conflict-picker-fieldset\": _vm.existing.basename } }, [_c(\"legend\", [_vm._v(_vm._s(_vm.existing.basename))]), !_vm.isSingle ? _c(\"NcCheckboxRadioSwitch\", { attrs: { \"checked\": _vm.isChecked(_vm.existing, _vm.oldSelected), \"required\": !_vm.isEnoughSelected, \"data-cy-conflict-picker-input-existing\": _vm.existing.basename }, on: { \"update:checked\": _vm.onUpdateExistingChecked } }, [_c(\"NodePickerCard\", { attrs: { \"preview\": _vm.existingPreview, \"mtime\": _vm.existingLastModified, \"size\": _vm.existingSize, \"is-folder\": _vm.isFolder(_vm.existing), \"label\": _vm.t(\"Existing version\"), \"bold-date\": _vm.existingNewer, \"bold-size\": _vm.existingLarger } })], 1) : _c(\"NodePickerCard\", { attrs: { \"preview\": _vm.existingPreview, \"mtime\": _vm.existingLastModified, \"size\": _vm.existingSize, \"is-folder\": _vm.isFolder(_vm.existing), \"label\": _vm.t(\"Existing version\"), \"bold-date\": _vm.existingNewer, \"bold-size\": _vm.existingLarger } }), _c(\"ArrowRight\", { staticClass: \"node-picker__arrow\", attrs: { \"size\": 20 } }), !_vm.isSingle ? _c(\"NcCheckboxRadioSwitch\", { attrs: { \"checked\": _vm.isChecked(_vm.incoming, _vm.newSelected), \"required\": !_vm.isEnoughSelected, \"data-cy-conflict-picker-input-incoming\": _vm.existing.basename }, on: { \"update:checked\": _vm.onUpdateIncomingChecked } }, [_c(\"NodePickerCard\", { attrs: { \"preview\": _vm.incomingPreview, \"mtime\": _vm.incomingLastModified, \"size\": _vm.incomingSize, \"is-folder\": _vm.isFolder(_vm.incoming), \"label\": _vm.t(\"New version\"), \"bold-date\": _vm.incomingNewer, \"bold-size\": _vm.incomingLarger } })], 1) : _c(\"NodePickerCard\", { attrs: { \"preview\": _vm.incomingPreview, \"mtime\": _vm.incomingLastModified, \"size\": _vm.incomingSize, \"is-folder\": _vm.isFolder(_vm.incoming), \"label\": _vm.t(\"New version\"), \"bold-date\": _vm.incomingNewer, \"bold-size\": _vm.incomingLarger } })], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"dcd77f87\"\n);\nconst NodesPicker = __component__$1.exports;\nconst _sfc_main = defineComponent({\n name: \"ConflictPicker\",\n components: {\n ArrowRight,\n NcButton,\n NcCheckboxRadioSwitch,\n NcDialog,\n NodesPicker\n },\n props: {\n /** Directory with the conflicts, its name is shown in the description */\n dirname: {\n type: String,\n default: \"\"\n },\n /** All the existing files in the current directory */\n content: {\n type: Array,\n required: true\n },\n /** New files being moved/uploaded */\n conflicts: {\n type: Array,\n required: true\n },\n /**\n * If set to true no hint about overwriting directory content will be shown\n */\n recursiveUpload: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"cancel\", \"submit\"],\n setup() {\n return {\n blockedTitle: t(\"You need to select at least one version of each file to continue.\")\n };\n },\n data() {\n return {\n // computed list of conflicting files already present in the directory\n files: [],\n opened: true,\n newSelected: [],\n oldSelected: []\n };\n },\n computed: {\n name() {\n return this.isSingle ? t(\"Select file to keep\") : t(\"Select files to keep\");\n },\n /**\n * A single conflict does not need checkboxes,\n * \"Keep both\" and \"Replace\" cover both options.\n */\n isSingle() {\n return this.conflicts.length === 1;\n },\n // Only the folder name, the root folder is called \"All files\" in the Files app\n folderName() {\n return basename(this.dirname ?? \"\") || t(\"All files\");\n },\n // Split on the placeholder so the folder name can be shown in bold\n descriptionParts() {\n const message = this.isSingle ? t(\"An item with the same name already exists in {dirname}.\") : t(\"Items with the same name already exist in {dirname}, select which to keep.\");\n const [before, after = \"\"] = message.split(\"{dirname}\");\n return { before, after };\n },\n // Only shown for multiple conflicts, a single one is handled by \"Keep both\"/\"Replace\"\n skipButtonLabel() {\n return n(\"Skip {count} file\", \"Skip {count} files\", this.conflicts.length, { count: this.conflicts.length });\n },\n // Select all incoming files\n selectAllNewBind() {\n const label = this.isNoneNewSelected || this.isSomeNewSelected ? this.t(\"Select all\") : this.t(\"Unselect all\");\n return {\n \"aria-label\": label,\n checked: this.isAllNewSelected,\n indeterminate: this.isSomeNewSelected,\n title: label\n };\n },\n isAllNewSelected() {\n return this.newSelected.length === this.conflicts.length;\n },\n isNoneNewSelected() {\n return this.newSelected.length === 0;\n },\n isSomeNewSelected() {\n return !this.isAllNewSelected && !this.isNoneNewSelected;\n },\n // Select all existing files\n selectAllOldBind() {\n const label = this.isNoneOldSelected || this.isSomeOldSelected ? this.t(\"Select all\") : this.t(\"Unselect all\");\n return {\n \"aria-label\": label,\n checked: this.isAllOldSelected,\n indeterminate: this.isSomeOldSelected,\n title: label\n };\n },\n isAllOldSelected() {\n return this.oldSelected.length === this.files.length;\n },\n isNoneOldSelected() {\n return this.oldSelected.length === 0;\n },\n isSomeOldSelected() {\n return !this.isAllOldSelected && !this.isNoneOldSelected;\n },\n // Global handlings\n isEnoughSelected() {\n if (this.isAllOldSelected || this.isAllNewSelected) {\n return true;\n }\n return this.$refs?.nodesPicker?.every?.((picker) => picker.isEnoughSelected);\n }\n },\n mounted() {\n this.files = this.conflicts.map((conflict) => {\n const name = conflict instanceof File || isFileSystemEntry(conflict) ? conflict.name : conflict.basename;\n return this.content.find((node) => node.basename === name);\n }).filter(Boolean);\n if (this.conflicts.length === 0 || this.files.length === 0) {\n const error = new Error(\"ConflictPicker: files and conflicts must not be empty\");\n this.onCancel(error);\n throw error;\n }\n if (this.conflicts.length !== this.files.length) {\n const error = new Error(\"ConflictPicker: files and conflicts must have the same length. Make sure you filter out non conflicting files from the conflicts array.\");\n this.onCancel(error);\n throw error;\n }\n this.newSelected = this.conflicts;\n logger.debug(\"ConflictPicker initialised\", { files: this.files, conflicts: this.conflicts, content: this.content });\n },\n methods: {\n onCancel(error) {\n this.opened = false;\n this.$emit(\"cancel\", error);\n },\n onSkip() {\n logger.debug(\"Conflict skipped. Ignoring all conflicting files\");\n this.opened = false;\n this.$emit(\"submit\", {\n selected: [],\n renamed: []\n });\n },\n /**\n * Single file: only keep the new file, the existing one is overwritten.\n */\n onReplace() {\n this.newSelected = this.conflicts;\n this.oldSelected = [];\n this.onSubmit();\n },\n /**\n * Single file: keep both, so the new file is uploaded under a new name.\n */\n onKeepBoth() {\n this.newSelected = this.conflicts;\n this.oldSelected = this.files;\n this.onSubmit();\n },\n onSubmit() {\n if (!this.isEnoughSelected) {\n this.scrollValidityInputIntoView();\n this.$refs.form.reportValidity();\n showError(this.blockedTitle);\n return;\n }\n const selectedOldNames = this.oldSelected.map((node) => node.basename);\n const directoryContent = this.content.map((node) => node.basename);\n const renamed = [];\n const toRename = this.newSelected.filter((node) => {\n const name = node instanceof File || isFileSystemEntry(node) ? node.name : node.basename;\n return selectedOldNames.includes(name);\n });\n if (toRename.length > 0) {\n toRename.forEach((file) => {\n const name = file instanceof File || isFileSystemEntry(file) ? file.name : file.basename;\n const newName = getUniqueName(name, directoryContent);\n if (file instanceof File || isFileSystemEntry(file)) {\n Object.defineProperty(file, \"name\", { value: newName });\n renamed.push(file);\n return;\n }\n file.rename(newName);\n renamed.push(file);\n });\n }\n const selected = this.newSelected.filter((node) => {\n const name = node instanceof File || isFileSystemEntry(node) ? node.name : node.basename;\n return !selectedOldNames.includes(name) && !toRename.includes(node);\n });\n logger.debug(\"Conflict resolved\", { selected, renamed });\n this.opened = false;\n this.$emit(\"submit\", {\n selected,\n renamed\n });\n },\n /**\n * Scroll the first invalid input into view.\n * This is needed because the browser uses behavior: \"nearest\" by default.\n */\n scrollValidityInputIntoView() {\n const selector = '.checkbox-radio-switch input[type=\"checkbox\"]';\n const checkboxes = Array.from(this.$el.querySelectorAll(selector));\n checkboxes.forEach((input) => input?.setCustomValidity?.(\"\"));\n const invalidInput = this.$el.querySelector(selector + \":invalid\");\n if (invalidInput) {\n invalidInput.setCustomValidity(this.blockedTitle);\n invalidInput.scrollIntoView({ behavior: \"instant\", block: \"center\" });\n }\n },\n onSelectAllNew(selected) {\n if (selected) {\n logger.debug(\"Selected all new files\");\n this.newSelected = this.conflicts;\n } else {\n logger.debug(\"Cleared new selection\");\n this.newSelected = [];\n }\n },\n onSelectAllOld(selected) {\n if (selected) {\n logger.debug(\"Selected all existing files\");\n this.oldSelected = this.files;\n } else {\n logger.debug(\"Cleared old selection\");\n this.oldSelected = [];\n }\n },\n t\n }\n});\nvar _sfc_render = function render6() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"NcDialog\", { staticClass: \"conflict-picker\", attrs: { \"can-close\": \"\", \"data-cy-conflict-picker\": \"\", \"close-on-click-outside\": false, \"show\": _vm.opened, \"name\": _vm.name, \"size\": \"large\" }, on: { \"closing\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"actions\", fn: function() {\n return [_c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"Cancel\"), \"title\": _vm.t(\"Cancel the entire operation\"), \"data-cy-conflict-picker-cancel\": \"\", \"type\": \"tertiary\" }, on: { \"click\": _vm.onCancel } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Cancel\")) + \" \")]), _c(\"span\", { staticClass: \"dialog__actions-separator\" }), _vm.isSingle ? [_c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"Keep both\"), \"data-cy-conflict-picker-keep-both\": \"\", \"type\": \"secondary\" }, on: { \"click\": _vm.onKeepBoth } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Keep both\")) + \" \")]), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"Replace\"), \"data-cy-conflict-picker-submit\": \"\", \"type\": \"primary\" }, on: { \"click\": _vm.onReplace } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Replace\")) + \" \")])] : [_c(\"NcButton\", { attrs: { \"aria-label\": _vm.skipButtonLabel, \"data-cy-conflict-picker-skip\": \"\" }, on: { \"click\": _vm.onSkip } }, [_vm._v(\" \" + _vm._s(_vm.skipButtonLabel) + \" \")]), _c(\"NcButton\", { class: { \"button-vue--disabled\": !_vm.isEnoughSelected }, attrs: { \"aria-label\": _vm.t(\"Continue\"), \"title\": _vm.isEnoughSelected ? \"\" : _vm.blockedTitle, \"data-cy-conflict-picker-submit\": \"\", \"native-type\": \"submit\", \"type\": \"primary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.onSubmit.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }, [_vm._v(\" \" + _vm._s(_vm.t(\"Continue\")) + \" \")])]];\n }, proxy: true }]) }, [_c(\"div\", { staticClass: \"conflict-picker__header\" }, [_c(\"p\", { staticClass: \"conflict-picker__description\", attrs: { \"id\": \"conflict-picker-description\" } }, [_vm._v(\" \" + _vm._s(_vm.descriptionParts.before)), _c(\"strong\", [_vm._v(_vm._s(_vm.folderName))]), _vm._v(_vm._s(_vm.descriptionParts.after)), _c(\"br\"), !_vm.isSingle ? [_vm._v(\" \" + _vm._s(_vm.t(\"Existing files and folders will be deleted if not selected. If both are chosen, they will be renamed.\"))), _c(\"br\")] : _vm._e(), _vm.recursiveUpload ? [_vm._v(\" \" + _vm._s(_vm.t(\"When a new folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\")) + \" \")] : [_vm._v(\" \" + _vm._s(_vm.t(\"When a new folder is selected, any conflicting files within it will also be overwritten.\")) + \" \")]], 2)]), _c(\"form\", { ref: \"form\", staticClass: \"conflict-picker__form\", attrs: { \"aria-labelledby\": \"conflict-picker-description\", \"data-cy-conflict-picker-form\": \"\" }, on: { \"submit\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [!_vm.isSingle ? _c(\"fieldset\", { staticClass: \"conflict-picker__all\", attrs: { \"data-cy-conflict-picker-fieldset\": \"all\" } }, [_c(\"legend\", { staticClass: \"hidden-visually\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Select all checkboxes\")) + \" \")]), _c(\"NcCheckboxRadioSwitch\", _vm._b({ attrs: { \"data-cy-conflict-picker-input-existing\": \"all\" }, on: { \"update:checked\": _vm.onSelectAllOld } }, \"NcCheckboxRadioSwitch\", _vm.selectAllOldBind, false), [_vm._v(\" \" + _vm._s(_vm.t(\"Existing files\")) + \" \")]), _c(\"span\"), _c(\"NcCheckboxRadioSwitch\", _vm._b({ attrs: { \"data-cy-conflict-picker-input-incoming\": \"all\" }, on: { \"update:checked\": _vm.onSelectAllNew } }, \"NcCheckboxRadioSwitch\", _vm.selectAllNewBind, false), [_vm._v(\" \" + _vm._s(_vm.t(\"New files\")) + \" \")])], 1) : _vm._e(), _vm._l(_vm.files, function(node, index) {\n return _c(\"NodesPicker\", { key: node.fileid, ref: \"nodesPicker\", refInFor: true, attrs: { \"incoming\": _vm.conflicts[index], \"existing\": _vm.files[index], \"is-single\": _vm.isSingle, \"new-selected\": _vm.newSelected, \"old-selected\": _vm.oldSelected }, on: { \"update:newSelected\": function($event) {\n _vm.newSelected = $event;\n }, \"update:new-selected\": function($event) {\n _vm.newSelected = $event;\n }, \"update:oldSelected\": function($event) {\n _vm.oldSelected = $event;\n }, \"update:old-selected\": function($event) {\n _vm.oldSelected = $event;\n } } });\n })], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"4a4bdd42\"\n);\nconst ConflictPicker = __component__.exports;\nexport {\n ConflictPicker as default\n};\n//# sourceMappingURL=ConflictPicker-BRRUCIWm.mjs.map\n"],"names":["_sfc_main$5","_sfc_render$5","_vm","_c","$event","_sfc_staticRenderFns$5","__component__$5","normalizeComponent","ArrowRight","_sfc_main$4","_sfc_render$4","_sfc_staticRenderFns$4","__component__$4","FileSvg","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","FolderSvg","_sfc_main$2","defineComponent","NcDateTime","formatFileSize","t","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","NodePickerCard","PREVIEW_SIZE","_sfc_main$1","NcCheckboxRadioSwitch","isFileSystemFileEntry","resolve","reject","value","other","node","url","FileType","previewUrl","generateUrl","etag","isFileSystemEntry","selected","checked","file","reader","e","result","blob","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","NodesPicker","_sfc_main","NcButton","NcDialog","basename","message","before","after","n","label","picker","conflict","name","error","logger","showError","selectedOldNames","directoryContent","renamed","toRename","newName","getUniqueName","selector","input","invalidInput","_sfc_render","index","_sfc_staticRenderFns","__component__","ConflictPicker"],"mappings":"s+BAWA,MAAMA,EAAc,CAClB,KAAM,iBACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,EAAgB,UAAkB,CACpC,IAAIC,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,wCAAyC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CAC5M,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,yEAAyE,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/W,EACIG,EAAyB,CAAA,EACzBC,EAAkCC,EACpCP,EACAC,EACAI,EACA,GACA,KACA,IACF,EACA,MAAMG,EAAaF,EAAgB,QAC7BG,EAAc,CAClB,KAAM,WACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,EAAgB,UAAmB,CACrC,IAAIR,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,iCAAkC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACrM,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,uFAAuF,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7X,EACIS,EAAyB,CAAA,EACzBC,EAAkCL,EACpCE,EACAC,EACAC,EACA,GACA,KACA,IACF,EACA,MAAME,EAAUD,EAAgB,QAC1BE,EAAc,CAClB,KAAM,aACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,MAAO,CACL,KAAM,MACZ,EACI,UAAW,CACT,KAAM,OACN,QAAS,cACf,EACI,KAAM,CACJ,KAAM,OACN,QAAS,EACf,CACA,CACA,EACA,IAAIC,EAAgB,UAAmB,CACrC,IAAIb,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAOC,EAAG,OAAQD,EAAI,GAAG,CAAE,YAAa,mCAAoC,MAAO,CAAE,cAAeA,EAAI,MAAQ,KAAO,OAAQ,aAAcA,EAAI,MAAO,KAAQ,KAAK,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACvM,OAAOF,EAAI,MAAM,QAASE,CAAM,CAClC,EAAG,EAAI,OAAQF,EAAI,OAAQ,EAAK,EAAG,CAACC,EAAG,MAAO,CAAE,YAAa,4BAA6B,MAAO,CAAE,KAAQD,EAAI,UAAW,MAASA,EAAI,KAAM,OAAUA,EAAI,KAAM,QAAW,WAAW,CAAE,EAAI,CAACC,EAAG,OAAQ,CAAE,MAAO,CAAE,EAAK,+FAA+F,GAAM,CAACD,EAAI,MAAQC,EAAG,QAAS,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,EAAIA,EAAI,GAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACrY,EACIc,EAAyB,CAAA,EACzBC,EAAkCV,EACpCO,EACAC,EACAC,EACA,GACA,KACA,IACF,EACA,MAAME,EAAYD,EAAgB,QAC5BE,EAAcC,EAAgB,CAClC,KAAM,iBACN,WAAY,CACV,QAAAP,EACA,UAAAK,EACA,WAAAG,CACJ,EACE,MAAO,CAEL,QAAS,CACP,KAAM,OACN,QAAS,IACf,EAEI,MAAO,CACL,KAAM,KACN,QAAS,IACf,EAEI,KAAM,CACJ,KAAM,OACN,QAAS,IACf,EAEI,SAAU,CACR,KAAM,QACN,QAAS,EACf,EAEI,MAAO,CACL,KAAM,OACN,SAAU,EAChB,EAEI,SAAU,CACR,KAAM,QACN,QAAS,EACf,EAEI,SAAU,CACR,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAO,CACL,MAAO,CAEL,cAAe,EACrB,CACE,EACA,SAAU,CACR,aAAc,CACZ,MAAO,CAAC,CAAC,KAAK,SAAW,CAAC,KAAK,aACjC,EACA,eAAgB,CACd,OAAI,KAAK,KACAC,EAAe,KAAK,KAAM,EAAI,EAEhCC,EAAE,cAAc,CACzB,CACJ,EACE,MAAO,CACL,SAAU,CACR,KAAK,cAAgB,EACvB,CACJ,EACE,QAAS,CACP,EAAAA,CACJ,CACA,CAAC,EACD,IAAIC,EAAgB,UAAmB,CACrC,IAAItB,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAAA,EAAI,MAAM,YACHC,EAAG,OAAQ,CAAE,YAAa,aAAa,EAAI,CAAED,EAAI,YAA2LC,EAAG,MAAO,CAAE,YAAa,uBAAwB,MAAO,CAAE,IAAOD,EAAI,QAAS,IAAO,GAAI,QAAW,MAAM,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CAC/XF,EAAI,cAAgB,EACtB,CAAC,CAAE,CAAE,EAFiE,CAACA,EAAI,SAAWC,EAAG,YAAa,CAAE,YAAa,oBAAqB,MAAO,CAAE,KAAQ,GAAI,CAAE,EAAIA,EAAG,UAAW,CAAE,YAAa,oBAAqB,MAAO,CAAE,KAAQ,GAAI,CAAE,CAAC,EAEvOA,EAAG,OAAQ,CAAE,YAAa,mBAAmB,EAAI,CAACD,EAAI,MAAQC,EAAG,aAAc,CAAE,YAAa,qBAAsB,MAAO,CAAE,2BAA4BD,EAAI,QAAQ,EAAI,MAAO,CAAE,UAAaA,EAAI,MAAO,gBAAiB,GAAO,OAAU,CAAE,UAAW,QAAS,UAAW,QAAQ,CAAE,CAAE,CAAE,EAAIC,EAAG,OAAQ,CAAE,YAAa,sBAAwB,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,4BAA4B,CAAC,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,OAAQ,CAAE,YAAa,oBAAqB,MAAO,CAAE,2BAA4BD,EAAI,QAAQ,CAAE,EAAI,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,aAAa,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,OAAQ,CAAE,YAAa,iBAAiB,EAAI,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAC3oB,EACIuB,EAAyB,CAAA,EACzBC,EAAkCnB,EACpCY,EACAK,EACAC,EACA,GACA,KACA,UACF,EACA,MAAME,EAAiBD,EAAgB,QACjCE,EAAe,GACfC,EAAcT,EAAgB,CAClC,KAAM,cACN,WAAY,CACV,WAAAZ,EACA,sBAAAsB,EACA,eAAAH,CACJ,EACE,MAAO,CACL,SAAU,CACR,KAAM,CAAC,KAAM,MAAM,EACnB,SAAU,EAChB,EACI,SAAU,CACR,KAAM,OACN,SAAU,EAChB,EACI,YAAa,CACX,KAAM,MACN,SAAU,EAChB,EACI,YAAa,CACX,KAAM,MACN,SAAU,EAChB,EAKI,SAAU,CACR,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAO,CACL,MAAO,CACL,aAAc,KACd,aAAc,IACpB,CACE,EACA,SAAU,CAMR,kBAAmB,CACjB,OAAO,KAAK,UAAU,KAAK,SAAU,KAAK,WAAW,GAAK,KAAK,UAAU,KAAK,SAAU,KAAK,WAAW,CAC1G,EACA,iBAAkB,CAChB,OAAK,KAAK,aAGM,KAAK,WAAW,KAAK,YAAY,GAC/B,KAAK,aAHd,IAIX,EACA,sBAAuB,CACrB,OAAK,KAAK,aAGH,KAAK,aAAa,KAAK,YAAY,EAFjC,IAGX,EACA,cAAe,CACb,OAAO,KAAK,cAAc,MAAQ,IACpC,EACA,iBAAkB,CAChB,OAAO,KAAK,WAAW,KAAK,QAAQ,CACtC,EACA,sBAAuB,CACrB,OAAO,KAAK,aAAa,KAAK,QAAQ,CACxC,EACA,cAAe,CACb,OAAO,KAAK,SAAS,MAAQ,IAC/B,EAEA,eAAgB,CACd,OAAO,KAAK,SAAS,KAAK,sBAAsB,QAAO,EAAI,KAAK,sBAAsB,SAAS,CACjG,EACA,eAAgB,CACd,OAAO,KAAK,SAAS,KAAK,sBAAsB,QAAO,EAAI,KAAK,sBAAsB,SAAS,CACjG,EACA,gBAAiB,CACf,OAAO,KAAK,SAAS,KAAK,aAAc,KAAK,YAAY,CAC3D,EACA,gBAAiB,CACf,OAAO,KAAK,SAAS,KAAK,aAAc,KAAK,YAAY,CAC3D,CACJ,EACE,MAAO,CAIL,SAAU,CAER,UAAW,GACX,MAAM,SAAU,CACV,KAAK,oBAAoB,KAC3B,KAAK,aAAe,KAAK,SAChBI,EAAsB,KAAK,QAAQ,EAC5C,KAAK,aAAe,MAAM,IAAI,QAAQ,CAACC,EAASC,IAAW,KAAK,SAAS,KAAKD,EAASC,CAAM,CAAC,EAE9F,KAAK,aAAe,IAExB,CACN,CACA,EACE,QAAS,CAMP,SAASC,EAAOC,EAAO,CACrB,MAAI,CAACD,GAAS,CAACC,EACN,GAEFD,EAAQC,CACjB,EACA,aAAaC,EAAM,CAEjB,OADqBA,aAAgB,KAAO,IAAI,KAAKA,EAAK,YAAY,EAAIA,EAAK,QACxD,IACzB,EACA,WAAWA,EAAM,CACf,GAAIA,aAAgB,KAClB,OAAA,KAAK,aAAaA,CAAI,EAAE,KAAMC,GAAQ,CACpC,KAAK,aAAeA,CACtB,CAAC,EACM,KAET,GAAID,EAAK,OAASE,EAAS,OACzB,OAAO,KAET,GAAI,CACF,MAAMC,EAAaH,EAAK,WAAW,YAAcI,EAAY,gCAAiC,CAC5F,OAAQJ,EAAK,MACvB,CAAS,EACKC,EAAM,IAAI,IAAI,OAAO,SAAS,OAASE,CAAU,EACvDF,EAAI,aAAa,IAAI,IAAKT,EAAa,SAAQ,CAAE,EACjDS,EAAI,aAAa,IAAI,IAAKT,EAAa,SAAQ,CAAE,EACjDS,EAAI,aAAa,IAAI,eAAgB,MAAM,EAC3C,MAAMI,EAAOL,EAAK,YAAY,MAAQ,GACtC,OAAAC,EAAI,aAAa,IAAI,IAAKI,EAAK,MAAM,EAAG,CAAC,CAAC,EACnCJ,EAAI,IACb,MAAY,CACV,OAAO,IACT,CACF,EACA,SAASD,EAAM,CACb,OAAIM,EAAkBN,CAAI,EACjBA,EAAK,aAEdA,EAAOA,EACAA,EAAK,OAASE,EAAS,QAAUF,EAAK,OAAS,uBACxD,EACA,UAAUA,EAAMO,EAAU,CACxB,OAAOA,EAAS,SAASP,CAAI,CAC/B,EACA,wBAAwBQ,EAAS,CAC3BA,EACF,KAAK,MAAM,qBAAsB,CAAC,KAAK,SAAU,GAAG,KAAK,WAAW,CAAC,EAErE,KAAK,MAAM,qBAAsB,KAAK,YAAY,OAAQR,GAASA,IAAS,KAAK,QAAQ,CAAC,CAE9F,EACA,wBAAwBQ,EAAS,CAC3BA,EACF,KAAK,MAAM,qBAAsB,CAAC,KAAK,SAAU,GAAG,KAAK,WAAW,CAAC,EAErE,KAAK,MAAM,qBAAsB,KAAK,YAAY,OAAQR,GAASA,IAAS,KAAK,QAAQ,CAAC,CAE9F,EAKA,MAAM,aAAaS,EAAM,CACvB,OAAO,IAAI,QAASb,GAAY,CAC9B,GAAIa,aAAgB,MAAQA,EAAK,KAAK,WAAW,QAAQ,EAAG,CAC1D,MAAMC,EAAS,IAAI,WACnBA,EAAO,OAAS,MAAOC,GAAM,CAC3B,MAAMC,EAASD,GAAG,QAAQ,OAC1B,GAAIC,aAAkB,YAAa,CACjC,MAAMC,EAAO,IAAI,KAAK,CAACD,CAAM,EAAG,CAAE,KAAMH,EAAK,KAAM,EAC7CR,EAAM,IAAI,gBAAgBY,CAAI,EACpCjB,EAAQK,CAAG,EACX,MACF,CACAL,EAAQ,IAAI,CACd,EACAc,EAAO,kBAAkBD,CAAI,CAC/B,MACEb,EAAQ,IAAI,CAEhB,CAAC,CACH,EACA,EAAAT,CACJ,CACA,CAAC,EACD,IAAI2B,EAAgB,UAAmB,CACrC,IAAIhD,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAAA,EAAI,MAAM,YACHC,EAAG,WAAY,CAAE,YAAa,uBAAwB,MAAO,CAAE,mCAAoCD,EAAI,SAAS,QAAQ,CAAE,EAAI,CAACC,EAAG,SAAU,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAIA,EAAI,SAAiiBC,EAAG,iBAAkB,CAAE,MAAO,CAAE,QAAWD,EAAI,gBAAiB,MAASA,EAAI,qBAAsB,KAAQA,EAAI,aAAc,YAAaA,EAAI,SAASA,EAAI,QAAQ,EAAG,MAASA,EAAI,EAAE,kBAAkB,EAAG,YAAaA,EAAI,cAAe,YAAaA,EAAI,cAAc,CAAE,CAAE,EAAnyBC,EAAG,wBAAyB,CAAE,MAAO,CAAE,QAAWD,EAAI,UAAUA,EAAI,SAAUA,EAAI,WAAW,EAAG,SAAY,CAACA,EAAI,iBAAkB,yCAA0CA,EAAI,SAAS,QAAQ,EAAI,GAAI,CAAE,iBAAkBA,EAAI,uBAAuB,GAAM,CAACC,EAAG,iBAAkB,CAAE,MAAO,CAAE,QAAWD,EAAI,gBAAiB,MAASA,EAAI,qBAAsB,KAAQA,EAAI,aAAc,YAAaA,EAAI,SAASA,EAAI,QAAQ,EAAG,MAASA,EAAI,EAAE,kBAAkB,EAAG,YAAaA,EAAI,cAAe,YAAaA,EAAI,cAAc,EAAI,CAAC,EAAG,CAAC,EAAoRC,EAAG,aAAc,CAAE,YAAa,qBAAsB,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,EAAID,EAAI,SAA4hBC,EAAG,iBAAkB,CAAE,MAAO,CAAE,QAAWD,EAAI,gBAAiB,MAASA,EAAI,qBAAsB,KAAQA,EAAI,aAAc,YAAaA,EAAI,SAASA,EAAI,QAAQ,EAAG,MAASA,EAAI,EAAE,aAAa,EAAG,YAAaA,EAAI,cAAe,YAAaA,EAAI,cAAc,EAAI,EAAzxBC,EAAG,wBAAyB,CAAE,MAAO,CAAE,QAAWD,EAAI,UAAUA,EAAI,SAAUA,EAAI,WAAW,EAAG,SAAY,CAACA,EAAI,iBAAkB,yCAA0CA,EAAI,SAAS,UAAY,GAAI,CAAE,iBAAkBA,EAAI,uBAAuB,CAAE,EAAI,CAACC,EAAG,iBAAkB,CAAE,MAAO,CAAE,QAAWD,EAAI,gBAAiB,MAASA,EAAI,qBAAsB,KAAQA,EAAI,aAAc,YAAaA,EAAI,SAASA,EAAI,QAAQ,EAAG,MAASA,EAAI,EAAE,aAAa,EAAG,YAAaA,EAAI,cAAe,YAAaA,EAAI,cAAc,CAAE,CAAE,CAAC,EAAG,CAAC,CAA6Q,EAAG,CAAC,CACn3D,EACIiD,EAAyB,CAAA,EACzBC,EAAkC7C,EACpCsB,EACAqB,EACAC,EACA,GACA,KACA,UACF,EACA,MAAME,EAAcD,EAAgB,QAC9BE,EAAYlC,EAAgB,CAChC,KAAM,iBACN,WAAY,CACV,WAAAZ,EACA,SAAA+C,EACA,sBAAAzB,EACA,SAAA0B,EACA,YAAAH,CACJ,EACE,MAAO,CAEL,QAAS,CACP,KAAM,OACN,QAAS,EACf,EAEI,QAAS,CACP,KAAM,MACN,SAAU,EAChB,EAEI,UAAW,CACT,KAAM,MACN,SAAU,EAChB,EAII,gBAAiB,CACf,KAAM,QACN,QAAS,EACf,CACA,EACE,MAAO,CAAC,SAAU,QAAQ,EAC1B,OAAQ,CACN,MAAO,CACL,aAAc9B,EAAE,mEAAmE,CACzF,CACE,EACA,MAAO,CACL,MAAO,CAEL,MAAO,CAAA,EACP,OAAQ,GACR,YAAa,CAAA,EACb,YAAa,CAAA,CACnB,CACE,EACA,SAAU,CACR,MAAO,CACL,OAAO,KAAK,SAAWA,EAAE,qBAAqB,EAAIA,EAAE,sBAAsB,CAC5E,EAKA,UAAW,CACT,OAAO,KAAK,UAAU,SAAW,CACnC,EAEA,YAAa,CACX,OAAOkC,EAAS,KAAK,SAAW,EAAE,GAAKlC,EAAE,WAAW,CACtD,EAEA,kBAAmB,CACjB,MAAMmC,EAAU,KAAK,SAAWnC,EAAE,yDAAyD,EAAIA,EAAE,4EAA4E,EACvK,CAACoC,EAAQC,EAAQ,EAAE,EAAIF,EAAQ,MAAM,WAAW,EACtD,MAAO,CAAE,OAAAC,EAAQ,MAAAC,CAAK,CACxB,EAEA,iBAAkB,CAChB,OAAOC,EAAE,oBAAqB,qBAAsB,KAAK,UAAU,OAAQ,CAAE,MAAO,KAAK,UAAU,MAAM,CAAE,CAC7G,EAEA,kBAAmB,CACjB,MAAMC,EAAQ,KAAK,mBAAqB,KAAK,kBAAoB,KAAK,EAAE,YAAY,EAAI,KAAK,EAAE,cAAc,EAC7G,MAAO,CACL,aAAcA,EACd,QAAS,KAAK,iBACd,cAAe,KAAK,kBACpB,MAAOA,CACf,CACI,EACA,kBAAmB,CACjB,OAAO,KAAK,YAAY,SAAW,KAAK,UAAU,MACpD,EACA,mBAAoB,CAClB,OAAO,KAAK,YAAY,SAAW,CACrC,EACA,mBAAoB,CAClB,MAAO,CAAC,KAAK,kBAAoB,CAAC,KAAK,iBACzC,EAEA,kBAAmB,CACjB,MAAMA,EAAQ,KAAK,mBAAqB,KAAK,kBAAoB,KAAK,EAAE,YAAY,EAAI,KAAK,EAAE,cAAc,EAC7G,MAAO,CACL,aAAcA,EACd,QAAS,KAAK,iBACd,cAAe,KAAK,kBACpB,MAAOA,CACf,CACI,EACA,kBAAmB,CACjB,OAAO,KAAK,YAAY,SAAW,KAAK,MAAM,MAChD,EACA,mBAAoB,CAClB,OAAO,KAAK,YAAY,SAAW,CACrC,EACA,mBAAoB,CAClB,MAAO,CAAC,KAAK,kBAAoB,CAAC,KAAK,iBACzC,EAEA,kBAAmB,CACjB,OAAI,KAAK,kBAAoB,KAAK,iBACzB,GAEF,KAAK,OAAO,aAAa,QAASC,GAAWA,EAAO,gBAAgB,CAC7E,CACJ,EACE,SAAU,CAKR,GAJA,KAAK,MAAQ,KAAK,UAAU,IAAKC,GAAa,CAC5C,MAAMC,EAAOD,aAAoB,MAAQtB,EAAkBsB,CAAQ,EAAIA,EAAS,KAAOA,EAAS,SAChG,OAAO,KAAK,QAAQ,KAAM5B,GAASA,EAAK,WAAa6B,CAAI,CAC3D,CAAC,EAAE,OAAO,OAAO,EACb,KAAK,UAAU,SAAW,GAAK,KAAK,MAAM,SAAW,EAAG,CAC1D,MAAMC,EAAQ,IAAI,MAAM,uDAAuD,EAC/E,WAAK,SAASA,CAAK,EACbA,CACR,CACA,GAAI,KAAK,UAAU,SAAW,KAAK,MAAM,OAAQ,CAC/C,MAAMA,EAAQ,IAAI,MAAM,yIAAyI,EACjK,MAAA,KAAK,SAASA,CAAK,EACbA,CACR,CACA,KAAK,YAAc,KAAK,UACxBC,EAAO,MAAM,6BAA8B,CAAE,MAAO,KAAK,MAAO,UAAW,KAAK,UAAW,QAAS,KAAK,OAAO,CAAE,CACpH,EACA,QAAS,CACP,SAASD,EAAO,CACd,KAAK,OAAS,GACd,KAAK,MAAM,SAAUA,CAAK,CAC5B,EACA,QAAS,CACPC,EAAO,MAAM,kDAAkD,EAC/D,KAAK,OAAS,GACd,KAAK,MAAM,SAAU,CACnB,SAAU,CAAA,EACV,QAAS,CAAA,CACjB,CAAO,CACH,EAIA,WAAY,CACV,KAAK,YAAc,KAAK,UACxB,KAAK,YAAc,CAAA,EACnB,KAAK,SAAQ,CACf,EAIA,YAAa,CACX,KAAK,YAAc,KAAK,UACxB,KAAK,YAAc,KAAK,MACxB,KAAK,SAAQ,CACf,EACA,UAAW,CACT,GAAI,CAAC,KAAK,iBAAkB,CAC1B,KAAK,4BAA2B,EAChC,KAAK,MAAM,KAAK,eAAc,EAC9BC,EAAU,KAAK,YAAY,EAC3B,MACF,CACA,MAAMC,EAAmB,KAAK,YAAY,IAAKjC,GAASA,EAAK,QAAQ,EAC/DkC,EAAmB,KAAK,QAAQ,IAAKlC,GAASA,EAAK,QAAQ,EAC3DmC,EAAU,CAAA,EACVC,EAAW,KAAK,YAAY,OAAQpC,GAAS,CACjD,MAAM6B,EAAO7B,aAAgB,MAAQM,EAAkBN,CAAI,EAAIA,EAAK,KAAOA,EAAK,SAChF,OAAOiC,EAAiB,SAASJ,CAAI,CACvC,CAAC,EACGO,EAAS,OAAS,GACpBA,EAAS,QAAS3B,GAAS,CACzB,MAAMoB,EAAOpB,aAAgB,MAAQH,EAAkBG,CAAI,EAAIA,EAAK,KAAOA,EAAK,SAC1E4B,EAAUC,EAAcT,EAAMK,CAAgB,EACpD,GAAIzB,aAAgB,MAAQH,EAAkBG,CAAI,EAAG,CACnD,OAAO,eAAeA,EAAM,OAAQ,CAAE,MAAO4B,EAAS,EACtDF,EAAQ,KAAK1B,CAAI,EACjB,MACF,CACAA,EAAK,OAAO4B,CAAO,EACnBF,EAAQ,KAAK1B,CAAI,CACnB,CAAC,EAEH,MAAMF,EAAW,KAAK,YAAY,OAAQP,GAAS,CACjD,MAAM6B,EAAO7B,aAAgB,MAAQM,EAAkBN,CAAI,EAAIA,EAAK,KAAOA,EAAK,SAChF,MAAO,CAACiC,EAAiB,SAASJ,CAAI,GAAK,CAACO,EAAS,SAASpC,CAAI,CACpE,CAAC,EACD+B,EAAO,MAAM,oBAAqB,CAAE,SAAAxB,EAAU,QAAA4B,CAAO,CAAE,EACvD,KAAK,OAAS,GACd,KAAK,MAAM,SAAU,CACnB,SAAA5B,EACA,QAAA4B,CACR,CAAO,CACH,EAKA,6BAA8B,CAC5B,MAAMI,EAAW,gDACE,MAAM,KAAK,KAAK,IAAI,iBAAiBA,CAAQ,CAAC,EACtD,QAASC,GAAUA,GAAO,oBAAoB,EAAE,CAAC,EAC5D,MAAMC,EAAe,KAAK,IAAI,cAAcF,EAAW,UAAU,EAC7DE,IACFA,EAAa,kBAAkB,KAAK,YAAY,EAChDA,EAAa,eAAe,CAAE,SAAU,UAAW,MAAO,SAAU,EAExE,EACA,eAAelC,EAAU,CACnBA,GACFwB,EAAO,MAAM,wBAAwB,EACrC,KAAK,YAAc,KAAK,YAExBA,EAAO,MAAM,uBAAuB,EACpC,KAAK,YAAc,CAAA,EAEvB,EACA,eAAexB,EAAU,CACnBA,GACFwB,EAAO,MAAM,6BAA6B,EAC1C,KAAK,YAAc,KAAK,QAExBA,EAAO,MAAM,uBAAuB,EACpC,KAAK,YAAc,CAAA,EAEvB,EACA,EAAA5C,CACJ,CACA,CAAC,EACD,IAAIuD,EAAc,UAAmB,CACnC,IAAI5E,EAAM,KAAMC,EAAKD,EAAI,MAAM,GAC/B,OAAAA,EAAI,MAAM,YACHC,EAAG,WAAY,CAAE,YAAa,kBAAmB,MAAO,CAAE,YAAa,GAAI,0BAA2B,GAAI,yBAA0B,GAAO,KAAQD,EAAI,OAAQ,KAAQA,EAAI,KAAM,KAAQ,OAAO,EAAI,GAAI,CAAE,QAAWA,EAAI,QAAQ,EAAI,YAAaA,EAAI,GAAG,CAAC,CAAE,IAAK,UAAW,GAAI,UAAW,CAChS,MAAO,CAACC,EAAG,WAAY,CAAE,MAAO,CAAE,aAAcD,EAAI,EAAE,QAAQ,EAAG,MAASA,EAAI,EAAE,6BAA6B,EAAG,iCAAkC,GAAI,KAAQ,YAAc,GAAI,CAAE,MAASA,EAAI,SAAU,EAAI,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,QAAQ,CAAC,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,OAAQ,CAAE,YAAa,2BAA2B,CAAE,EAAGD,EAAI,SAAW,CAACC,EAAG,WAAY,CAAE,MAAO,CAAE,aAAcD,EAAI,EAAE,WAAW,EAAG,oCAAqC,GAAI,KAAQ,WAAW,EAAI,GAAI,CAAE,MAASA,EAAI,WAAY,EAAI,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,WAAW,CAAC,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,WAAY,CAAE,MAAO,CAAE,aAAcD,EAAI,EAAE,SAAS,EAAG,iCAAkC,GAAI,KAAQ,WAAa,GAAI,CAAE,MAASA,EAAI,UAAW,EAAI,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,SAAS,CAAC,EAAI,GAAG,CAAC,CAAC,CAAC,EAAI,CAACC,EAAG,WAAY,CAAE,MAAO,CAAE,aAAcD,EAAI,gBAAiB,+BAAgC,IAAM,GAAI,CAAE,MAASA,EAAI,MAAM,GAAM,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,eAAe,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,WAAY,CAAE,MAAO,CAAE,uBAAwB,CAACD,EAAI,gBAAgB,EAAI,MAAO,CAAE,aAAcA,EAAI,EAAE,UAAU,EAAG,MAASA,EAAI,iBAAmB,GAAKA,EAAI,aAAc,iCAAkC,GAAI,cAAe,SAAU,KAAQ,SAAS,EAAI,GAAI,CAAE,MAAS,SAASE,EAAQ,CACxrC,OAAAA,EAAO,gBAAe,EACtBA,EAAO,eAAc,EACdF,EAAI,SAAS,MAAM,KAAM,SAAS,CAC3C,CAAC,EAAI,YAAaA,EAAI,GAAG,CAAC,CAAE,IAAK,OAAQ,GAAI,UAAW,CACtD,MAAO,CAACC,EAAG,aAAc,CAAE,MAAO,CAAE,KAAQ,EAAE,CAAE,CAAE,CAAC,CACrD,EAAG,MAAO,EAAI,CAAE,CAAC,CAAC,EAAI,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,UAAU,CAAC,EAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACzE,EAAG,MAAO,GAAM,CAAC,CAAC,EAAI,CAACC,EAAG,MAAO,CAAE,YAAa,2BAA6B,CAACA,EAAG,IAAK,CAAE,YAAa,+BAAgC,MAAO,CAAE,GAAM,6BAA6B,CAAE,EAAI,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,iBAAiB,MAAM,CAAC,EAAGC,EAAG,SAAU,CAACD,EAAI,GAAGA,EAAI,GAAGA,EAAI,UAAU,CAAC,CAAC,CAAC,EAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,iBAAiB,KAAK,CAAC,EAAGC,EAAG,IAAI,EAAID,EAAI,SAA8JA,EAAI,GAAE,EAAzJ,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,uGAAuG,CAAC,CAAC,EAAGC,EAAG,IAAI,CAAC,EAAcD,EAAI,gBAAkB,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,kIAAkI,CAAC,EAAI,GAAG,CAAC,EAAI,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,0FAA0F,CAAC,EAAI,GAAG,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,EAAGC,EAAG,OAAQ,CAAE,IAAK,OAAQ,YAAa,wBAAyB,MAAO,CAAE,kBAAmB,8BAA+B,+BAAgC,EAAE,EAAI,GAAI,CAAE,OAAU,SAASC,EAAQ,CACtgC,OAAAA,EAAO,eAAc,EACrBA,EAAO,gBAAe,EACfF,EAAI,SAAS,MAAM,KAAM,SAAS,CAC3C,EAAG,EAAI,CAAEA,EAAI,SAAuvBA,EAAI,GAAE,EAAlvBC,EAAG,WAAY,CAAE,YAAa,uBAAwB,MAAO,CAAE,mCAAoC,KAAK,CAAE,EAAI,CAACA,EAAG,SAAU,CAAE,YAAa,mBAAqB,CAACD,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,uBAAuB,CAAC,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,wBAAyBD,EAAI,GAAG,CAAE,MAAO,CAAE,yCAA0C,OAAS,GAAI,CAAE,iBAAkBA,EAAI,cAAc,CAAE,EAAI,wBAAyBA,EAAI,iBAAkB,EAAK,EAAG,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,gBAAgB,CAAC,EAAI,GAAG,CAAC,CAAC,EAAGC,EAAG,MAAM,EAAGA,EAAG,wBAAyBD,EAAI,GAAG,CAAE,MAAO,CAAE,yCAA0C,KAAK,EAAI,GAAI,CAAE,iBAAkBA,EAAI,cAAc,CAAE,EAAI,wBAAyBA,EAAI,iBAAkB,EAAK,EAAG,CAACA,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,EAAE,WAAW,CAAC,EAAI,GAAG,CAAC,CAAC,CAAC,EAAG,CAAC,EAAcA,EAAI,GAAGA,EAAI,MAAO,SAASkC,EAAM2C,EAAO,CACpzB,OAAO5E,EAAG,cAAe,CAAE,IAAKiC,EAAK,OAAQ,IAAK,cAAe,SAAU,GAAM,MAAO,CAAE,SAAYlC,EAAI,UAAU6E,CAAK,EAAG,SAAY7E,EAAI,MAAM6E,CAAK,EAAG,YAAa7E,EAAI,SAAU,eAAgBA,EAAI,YAAa,eAAgBA,EAAI,WAAW,EAAI,GAAI,CAAE,qBAAsB,SAASE,EAAQ,CACpSF,EAAI,YAAcE,CACpB,EAAG,sBAAuB,SAASA,EAAQ,CACzCF,EAAI,YAAcE,CACpB,EAAG,qBAAsB,SAASA,EAAQ,CACxCF,EAAI,YAAcE,CACpB,EAAG,sBAAuB,SAASA,EAAQ,CACzCF,EAAI,YAAcE,CACpB,CAAC,CAAE,CAAE,CACP,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CACV,EACI4E,EAAuB,CAAA,EACvBC,GAAgC1E,EAClC+C,EACAwB,EACAE,EACA,GACA,KACA,UACF,EACK,MAACE,GAAiBD,GAAc","x_google_ignoreList":[0]}
\ No newline at end of file
+{"version":3,"file":"ConflictPicker-BRRUCIWm-BcEQzxy1.chunk.mjs","sources":["../node_modules/@nextcloud/upload/dist/chunks/ConflictPicker-BRRUCIWm.mjs"],"sourcesContent":["import '../assets/ConflictPicker-Bf00u2Pe.css';\nimport { defineComponent } from \"vue\";\nimport { showError } from \"@nextcloud/dialogs\";\nimport { formatFileSize, FileType, getUniqueName } from \"@nextcloud/files\";\nimport { basename } from \"@nextcloud/paths\";\nimport { n as normalizeComponent, t, i as isFileSystemEntry, a as isFileSystemFileEntry, l as logger, b as n } from \"./index-SPoS3_zU.mjs\";\nimport NcCheckboxRadioSwitch from \"@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js\";\nimport NcDialog from \"@nextcloud/vue/dist/Components/NcDialog.js\";\nimport NcButton from \"@nextcloud/vue/dist/Components/NcButton.js\";\nimport { generateUrl } from \"@nextcloud/router\";\nimport NcDateTime from \"@nextcloud/vue/dist/Components/NcDateTime.js\";\nconst _sfc_main$5 = {\n name: \"ArrowRightIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$5 = function render() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon arrow-right-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$5 = [];\nvar __component__$5 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$5,\n _sfc_render$5,\n _sfc_staticRenderFns$5,\n false,\n null,\n null\n);\nconst ArrowRight = __component__$5.exports;\nconst _sfc_main$4 = {\n name: \"FileIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$4 = function render2() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon file-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$4 = [];\nvar __component__$4 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$4,\n _sfc_render$4,\n _sfc_staticRenderFns$4,\n false,\n null,\n null\n);\nconst FileSvg = __component__$4.exports;\nconst _sfc_main$3 = {\n name: \"FolderIcon\",\n emits: [\"click\"],\n props: {\n title: {\n type: String\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n};\nvar _sfc_render$3 = function render3() {\n var _vm = this, _c = _vm._self._c;\n return _c(\"span\", _vm._b({ staticClass: \"material-design-icon folder-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n return _vm.$emit(\"click\", $event);\n } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns$3 = [];\nvar __component__$3 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$3,\n _sfc_render$3,\n _sfc_staticRenderFns$3,\n false,\n null,\n null\n);\nconst FolderSvg = __component__$3.exports;\nconst _sfc_main$2 = defineComponent({\n name: \"NodePickerCard\",\n components: {\n FileSvg,\n FolderSvg,\n NcDateTime\n },\n props: {\n /** Preview url, if any */\n preview: {\n type: String,\n default: null\n },\n /** Last modified date, if known */\n mtime: {\n type: Date,\n default: null\n },\n /** Size in bytes, if known */\n size: {\n type: Number,\n default: null\n },\n /** Use the folder icon as fallback */\n isFolder: {\n type: Boolean,\n default: false\n },\n /** Label for screen readers (\"Existing version\"/\"New version\") */\n label: {\n type: String,\n required: true\n },\n /** Highlight the date as it is the more recent one */\n boldDate: {\n type: Boolean,\n default: false\n },\n /** Highlight the size as it is the bigger one */\n boldSize: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n // Previews can 404, fall back to the icon instead of a broken image\n previewFailed: false\n };\n },\n computed: {\n showPreview() {\n return !!this.preview && !this.previewFailed;\n },\n formattedSize() {\n if (this.size) {\n return formatFileSize(this.size, true);\n }\n return t(\"Unknown size\");\n }\n },\n watch: {\n preview() {\n this.previewFailed = false;\n }\n },\n methods: {\n t\n }\n});\nvar _sfc_render$2 = function render4() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"span\", { staticClass: \"node-picker\" }, [!_vm.showPreview ? [_vm.isFolder ? _c(\"FolderSvg\", { staticClass: \"node-picker__icon\", attrs: { \"size\": 48 } }) : _c(\"FileSvg\", { staticClass: \"node-picker__icon\", attrs: { \"size\": 48 } })] : _c(\"img\", { staticClass: \"node-picker__preview\", attrs: { \"src\": _vm.preview, \"alt\": \"\", \"loading\": \"lazy\" }, on: { \"error\": function($event) {\n _vm.previewFailed = true;\n } } }), _c(\"span\", { staticClass: \"node-picker__desc\" }, [_vm.mtime ? _c(\"NcDateTime\", { staticClass: \"node-picker__mtime\", class: { \"node-picker__value--bold\": _vm.boldDate }, attrs: { \"timestamp\": _vm.mtime, \"relative-time\": false, \"format\": { timeStyle: \"short\", dateStyle: \"medium\" } } }) : _c(\"span\", { staticClass: \"node-picker__mtime\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Last modified date unknown\")) + \" \")]), _c(\"span\", { staticClass: \"node-picker__size\", class: { \"node-picker__value--bold\": _vm.boldSize } }, [_vm._v(\" \" + _vm._s(_vm.formattedSize) + \" \")]), _c(\"span\", { staticClass: \"hidden-visually\" }, [_vm._v(_vm._s(_vm.label))])], 1)], 2);\n};\nvar _sfc_staticRenderFns$2 = [];\nvar __component__$2 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$2,\n _sfc_render$2,\n _sfc_staticRenderFns$2,\n false,\n null,\n \"7a2b1a1d\"\n);\nconst NodePickerCard = __component__$2.exports;\nconst PREVIEW_SIZE = 64;\nconst _sfc_main$1 = defineComponent({\n name: \"NodesPicker\",\n components: {\n ArrowRight,\n NcCheckboxRadioSwitch,\n NodePickerCard\n },\n props: {\n incoming: {\n type: [File, Object],\n required: true\n },\n existing: {\n type: Object,\n required: true\n },\n newSelected: {\n type: Array,\n required: true\n },\n oldSelected: {\n type: Array,\n required: true\n },\n /**\n * Single file mode: show both versions without checkboxes.\n * The parent offers \"Keep both\" and \"Replace\" buttons instead.\n */\n isSingle: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n asyncPreview: null,\n incomingFile: null\n };\n },\n computed: {\n /**\n * Whether the incoming or existing file is selected.\n * This is used by the parent component to ensure\n * that the user has selected at least one of the two files.\n */\n isEnoughSelected() {\n return this.isChecked(this.incoming, this.newSelected) || this.isChecked(this.existing, this.oldSelected);\n },\n incomingPreview() {\n if (!this.incomingFile) {\n return null;\n }\n const preview = this.previewUrl(this.incomingFile);\n return preview ?? this.asyncPreview;\n },\n incomingLastModified() {\n if (!this.incomingFile) {\n return null;\n }\n return this.lastModified(this.incomingFile);\n },\n incomingSize() {\n return this.incomingFile?.size ?? null;\n },\n existingPreview() {\n return this.previewUrl(this.existing);\n },\n existingLastModified() {\n return this.lastModified(this.existing);\n },\n existingSize() {\n return this.existing.size ?? null;\n },\n // Highlight the more recent date and the bigger size to ease comparison\n incomingNewer() {\n return this.isBigger(this.incomingLastModified?.getTime(), this.existingLastModified?.getTime());\n },\n existingNewer() {\n return this.isBigger(this.existingLastModified?.getTime(), this.incomingLastModified?.getTime());\n },\n incomingLarger() {\n return this.isBigger(this.incomingSize, this.existingSize);\n },\n existingLarger() {\n return this.isBigger(this.existingSize, this.incomingSize);\n }\n },\n watch: {\n /**\n * Watch \"incoming\" to update \"incomingFile\"\n */\n incoming: {\n // Run the watcher also on mount with initial \"incoming\" value\n immediate: true,\n async handler() {\n if (this.incoming instanceof File) {\n this.incomingFile = this.incoming;\n } else if (isFileSystemFileEntry(this.incoming)) {\n this.incomingFile = await new Promise((resolve, reject) => this.incoming.file(resolve, reject));\n } else {\n this.incomingFile = null;\n }\n }\n }\n },\n methods: {\n /**\n * Both values need to be known, otherwise there is nothing to compare.\n * @param value the value to highlight if it is the bigger one\n * @param other the value to compare against\n */\n isBigger(value, other) {\n if (!value || !other) {\n return false;\n }\n return value > other;\n },\n lastModified(node) {\n const lastModified = node instanceof File ? new Date(node.lastModified) : node.mtime;\n return lastModified ?? null;\n },\n previewUrl(node) {\n if (node instanceof File) {\n this.previewImage(node).then((url) => {\n this.asyncPreview = url;\n });\n return null;\n }\n if (node.type === FileType.Folder) {\n return null;\n }\n try {\n const previewUrl = node.attributes.previewUrl || generateUrl(\"/core/preview?fileId={fileid}\", {\n fileid: node.fileid\n });\n const url = new URL(window.location.origin + previewUrl);\n url.searchParams.set(\"x\", PREVIEW_SIZE.toString());\n url.searchParams.set(\"y\", PREVIEW_SIZE.toString());\n url.searchParams.set(\"mimeFallback\", \"true\");\n const etag = node.attributes?.etag || \"\";\n url.searchParams.set(\"v\", etag.slice(0, 6));\n return url.href;\n } catch (e) {\n return null;\n }\n },\n isFolder(node) {\n if (isFileSystemEntry(node)) {\n return node.isDirectory;\n }\n node = node;\n return node.type === FileType.Folder || node.type === \"httpd/unix-directory\";\n },\n isChecked(node, selected) {\n return selected.includes(node);\n },\n onUpdateIncomingChecked(checked) {\n if (checked) {\n this.$emit(\"update:newSelected\", [this.incoming, ...this.newSelected]);\n } else {\n this.$emit(\"update:newSelected\", this.newSelected.filter((node) => node !== this.incoming));\n }\n },\n onUpdateExistingChecked(checked) {\n if (checked) {\n this.$emit(\"update:oldSelected\", [this.existing, ...this.oldSelected]);\n } else {\n this.$emit(\"update:oldSelected\", this.oldSelected.filter((node) => node !== this.existing));\n }\n },\n /**\n * Get the preview Image of a file\n * @param file the soon-to-be-uploaded File\n */\n async previewImage(file) {\n return new Promise((resolve) => {\n if (file instanceof File && file.type.startsWith(\"image/\")) {\n const reader = new FileReader();\n reader.onload = async (e) => {\n const result = e?.target?.result;\n if (result instanceof ArrayBuffer) {\n const blob = new Blob([result], { type: file.type });\n const url = URL.createObjectURL(blob);\n resolve(url);\n return;\n }\n resolve(null);\n };\n reader.readAsArrayBuffer(file);\n } else {\n resolve(null);\n }\n });\n },\n t\n }\n});\nvar _sfc_render$1 = function render5() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"fieldset\", { staticClass: \"node-picker__wrapper\", attrs: { \"data-cy-conflict-picker-fieldset\": _vm.existing.basename } }, [_c(\"legend\", [_vm._v(_vm._s(_vm.existing.basename))]), !_vm.isSingle ? _c(\"NcCheckboxRadioSwitch\", { attrs: { \"checked\": _vm.isChecked(_vm.existing, _vm.oldSelected), \"required\": !_vm.isEnoughSelected, \"data-cy-conflict-picker-input-existing\": _vm.existing.basename }, on: { \"update:checked\": _vm.onUpdateExistingChecked } }, [_c(\"NodePickerCard\", { attrs: { \"preview\": _vm.existingPreview, \"mtime\": _vm.existingLastModified, \"size\": _vm.existingSize, \"is-folder\": _vm.isFolder(_vm.existing), \"label\": _vm.t(\"Existing version\"), \"bold-date\": _vm.existingNewer, \"bold-size\": _vm.existingLarger } })], 1) : _c(\"NodePickerCard\", { attrs: { \"preview\": _vm.existingPreview, \"mtime\": _vm.existingLastModified, \"size\": _vm.existingSize, \"is-folder\": _vm.isFolder(_vm.existing), \"label\": _vm.t(\"Existing version\"), \"bold-date\": _vm.existingNewer, \"bold-size\": _vm.existingLarger } }), _c(\"ArrowRight\", { staticClass: \"node-picker__arrow\", attrs: { \"size\": 20 } }), !_vm.isSingle ? _c(\"NcCheckboxRadioSwitch\", { attrs: { \"checked\": _vm.isChecked(_vm.incoming, _vm.newSelected), \"required\": !_vm.isEnoughSelected, \"data-cy-conflict-picker-input-incoming\": _vm.existing.basename }, on: { \"update:checked\": _vm.onUpdateIncomingChecked } }, [_c(\"NodePickerCard\", { attrs: { \"preview\": _vm.incomingPreview, \"mtime\": _vm.incomingLastModified, \"size\": _vm.incomingSize, \"is-folder\": _vm.isFolder(_vm.incoming), \"label\": _vm.t(\"New version\"), \"bold-date\": _vm.incomingNewer, \"bold-size\": _vm.incomingLarger } })], 1) : _c(\"NodePickerCard\", { attrs: { \"preview\": _vm.incomingPreview, \"mtime\": _vm.incomingLastModified, \"size\": _vm.incomingSize, \"is-folder\": _vm.isFolder(_vm.incoming), \"label\": _vm.t(\"New version\"), \"bold-date\": _vm.incomingNewer, \"bold-size\": _vm.incomingLarger } })], 1);\n};\nvar _sfc_staticRenderFns$1 = [];\nvar __component__$1 = /* @__PURE__ */ normalizeComponent(\n _sfc_main$1,\n _sfc_render$1,\n _sfc_staticRenderFns$1,\n false,\n null,\n \"dcd77f87\"\n);\nconst NodesPicker = __component__$1.exports;\nconst _sfc_main = defineComponent({\n name: \"ConflictPicker\",\n components: {\n ArrowRight,\n NcButton,\n NcCheckboxRadioSwitch,\n NcDialog,\n NodesPicker\n },\n props: {\n /** Directory with the conflicts, its name is shown in the description */\n dirname: {\n type: String,\n default: \"\"\n },\n /** All the existing files in the current directory */\n content: {\n type: Array,\n required: true\n },\n /** New files being moved/uploaded */\n conflicts: {\n type: Array,\n required: true\n },\n /**\n * If set to true no hint about overwriting directory content will be shown\n */\n recursiveUpload: {\n type: Boolean,\n default: false\n }\n },\n emits: [\"cancel\", \"submit\"],\n setup() {\n return {\n blockedTitle: t(\"You need to select at least one version of each file to continue.\")\n };\n },\n data() {\n return {\n // computed list of conflicting files already present in the directory\n files: [],\n opened: true,\n newSelected: [],\n oldSelected: []\n };\n },\n computed: {\n name() {\n return this.isSingle ? t(\"Select file to keep\") : t(\"Select files to keep\");\n },\n /**\n * A single conflict does not need checkboxes,\n * \"Keep both\" and \"Replace\" cover both options.\n */\n isSingle() {\n return this.conflicts.length === 1;\n },\n // Only the folder name, the root folder is called \"All files\" in the Files app\n folderName() {\n return basename(this.dirname ?? \"\") || t(\"All files\");\n },\n // Split on the placeholder so the folder name can be shown in bold\n descriptionParts() {\n const message = this.isSingle ? t(\"An item with the same name already exists in {dirname}.\") : t(\"Items with the same name already exist in {dirname}, select which to keep.\");\n const [before, after = \"\"] = message.split(\"{dirname}\");\n return { before, after };\n },\n // Only shown for multiple conflicts, a single one is handled by \"Keep both\"/\"Replace\"\n skipButtonLabel() {\n return n(\"Skip {count} file\", \"Skip {count} files\", this.conflicts.length, { count: this.conflicts.length });\n },\n // Select all incoming files\n selectAllNewBind() {\n const label = this.isNoneNewSelected || this.isSomeNewSelected ? this.t(\"Select all\") : this.t(\"Unselect all\");\n return {\n \"aria-label\": label,\n checked: this.isAllNewSelected,\n indeterminate: this.isSomeNewSelected,\n title: label\n };\n },\n isAllNewSelected() {\n return this.newSelected.length === this.conflicts.length;\n },\n isNoneNewSelected() {\n return this.newSelected.length === 0;\n },\n isSomeNewSelected() {\n return !this.isAllNewSelected && !this.isNoneNewSelected;\n },\n // Select all existing files\n selectAllOldBind() {\n const label = this.isNoneOldSelected || this.isSomeOldSelected ? this.t(\"Select all\") : this.t(\"Unselect all\");\n return {\n \"aria-label\": label,\n checked: this.isAllOldSelected,\n indeterminate: this.isSomeOldSelected,\n title: label\n };\n },\n isAllOldSelected() {\n return this.oldSelected.length === this.files.length;\n },\n isNoneOldSelected() {\n return this.oldSelected.length === 0;\n },\n isSomeOldSelected() {\n return !this.isAllOldSelected && !this.isNoneOldSelected;\n },\n // Global handlings\n isEnoughSelected() {\n if (this.isAllOldSelected || this.isAllNewSelected) {\n return true;\n }\n return this.$refs?.nodesPicker?.every?.((picker) => picker.isEnoughSelected);\n }\n },\n mounted() {\n this.files = this.conflicts.map((conflict) => {\n const name = conflict instanceof File || isFileSystemEntry(conflict) ? conflict.name : conflict.basename;\n return this.content.find((node) => node.basename === name);\n }).filter(Boolean);\n if (this.conflicts.length === 0 || this.files.length === 0) {\n const error = new Error(\"ConflictPicker: files and conflicts must not be empty\");\n this.onCancel(error);\n throw error;\n }\n if (this.conflicts.length !== this.files.length) {\n const error = new Error(\"ConflictPicker: files and conflicts must have the same length. Make sure you filter out non conflicting files from the conflicts array.\");\n this.onCancel(error);\n throw error;\n }\n this.newSelected = this.conflicts;\n logger.debug(\"ConflictPicker initialised\", { files: this.files, conflicts: this.conflicts, content: this.content });\n },\n methods: {\n onCancel(error) {\n this.opened = false;\n this.$emit(\"cancel\", error);\n },\n onSkip() {\n logger.debug(\"Conflict skipped. Ignoring all conflicting files\");\n this.opened = false;\n this.$emit(\"submit\", {\n selected: [],\n renamed: []\n });\n },\n /**\n * Single file: only keep the new file, the existing one is overwritten.\n */\n onReplace() {\n this.newSelected = this.conflicts;\n this.oldSelected = [];\n this.onSubmit();\n },\n /**\n * Single file: keep both, so the new file is uploaded under a new name.\n */\n onKeepBoth() {\n this.newSelected = this.conflicts;\n this.oldSelected = this.files;\n this.onSubmit();\n },\n onSubmit() {\n if (!this.isEnoughSelected) {\n this.scrollValidityInputIntoView();\n this.$refs.form.reportValidity();\n showError(this.blockedTitle);\n return;\n }\n const selectedOldNames = this.oldSelected.map((node) => node.basename);\n const directoryContent = this.content.map((node) => node.basename);\n const renamed = [];\n const toRename = this.newSelected.filter((node) => {\n const name = node instanceof File || isFileSystemEntry(node) ? node.name : node.basename;\n return selectedOldNames.includes(name);\n });\n if (toRename.length > 0) {\n toRename.forEach((file) => {\n const name = file instanceof File || isFileSystemEntry(file) ? file.name : file.basename;\n const newName = getUniqueName(name, directoryContent);\n if (file instanceof File || isFileSystemEntry(file)) {\n Object.defineProperty(file, \"name\", { value: newName });\n renamed.push(file);\n return;\n }\n file.rename(newName);\n renamed.push(file);\n });\n }\n const selected = this.newSelected.filter((node) => {\n const name = node instanceof File || isFileSystemEntry(node) ? node.name : node.basename;\n return !selectedOldNames.includes(name) && !toRename.includes(node);\n });\n logger.debug(\"Conflict resolved\", { selected, renamed });\n this.opened = false;\n this.$emit(\"submit\", {\n selected,\n renamed\n });\n },\n /**\n * Scroll the first invalid input into view.\n * This is needed because the browser uses behavior: \"nearest\" by default.\n */\n scrollValidityInputIntoView() {\n const selector = '.checkbox-radio-switch input[type=\"checkbox\"]';\n const checkboxes = Array.from(this.$el.querySelectorAll(selector));\n checkboxes.forEach((input) => input?.setCustomValidity?.(\"\"));\n const invalidInput = this.$el.querySelector(selector + \":invalid\");\n if (invalidInput) {\n invalidInput.setCustomValidity(this.blockedTitle);\n invalidInput.scrollIntoView({ behavior: \"instant\", block: \"center\" });\n }\n },\n onSelectAllNew(selected) {\n if (selected) {\n logger.debug(\"Selected all new files\");\n this.newSelected = this.conflicts;\n } else {\n logger.debug(\"Cleared new selection\");\n this.newSelected = [];\n }\n },\n onSelectAllOld(selected) {\n if (selected) {\n logger.debug(\"Selected all existing files\");\n this.oldSelected = this.files;\n } else {\n logger.debug(\"Cleared old selection\");\n this.oldSelected = [];\n }\n },\n t\n }\n});\nvar _sfc_render = function render6() {\n var _vm = this, _c = _vm._self._c;\n _vm._self._setupProxy;\n return _c(\"NcDialog\", { staticClass: \"conflict-picker\", attrs: { \"can-close\": \"\", \"data-cy-conflict-picker\": \"\", \"close-on-click-outside\": false, \"show\": _vm.opened, \"name\": _vm.name, \"size\": \"large\" }, on: { \"closing\": _vm.onCancel }, scopedSlots: _vm._u([{ key: \"actions\", fn: function() {\n return [_c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"Cancel\"), \"title\": _vm.t(\"Cancel the entire operation\"), \"data-cy-conflict-picker-cancel\": \"\", \"type\": \"tertiary\" }, on: { \"click\": _vm.onCancel } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Cancel\")) + \" \")]), _c(\"span\", { staticClass: \"dialog__actions-separator\" }), _vm.isSingle ? [_c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"Keep both\"), \"data-cy-conflict-picker-keep-both\": \"\", \"type\": \"secondary\" }, on: { \"click\": _vm.onKeepBoth } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Keep both\")) + \" \")]), _c(\"NcButton\", { attrs: { \"aria-label\": _vm.t(\"Replace\"), \"data-cy-conflict-picker-submit\": \"\", \"type\": \"primary\" }, on: { \"click\": _vm.onReplace } }, [_vm._v(\" \" + _vm._s(_vm.t(\"Replace\")) + \" \")])] : [_c(\"NcButton\", { attrs: { \"aria-label\": _vm.skipButtonLabel, \"data-cy-conflict-picker-skip\": \"\" }, on: { \"click\": _vm.onSkip } }, [_vm._v(\" \" + _vm._s(_vm.skipButtonLabel) + \" \")]), _c(\"NcButton\", { class: { \"button-vue--disabled\": !_vm.isEnoughSelected }, attrs: { \"aria-label\": _vm.t(\"Continue\"), \"title\": _vm.isEnoughSelected ? \"\" : _vm.blockedTitle, \"data-cy-conflict-picker-submit\": \"\", \"native-type\": \"submit\", \"type\": \"primary\" }, on: { \"click\": function($event) {\n $event.stopPropagation();\n $event.preventDefault();\n return _vm.onSubmit.apply(null, arguments);\n } }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n return [_c(\"ArrowRight\", { attrs: { \"size\": 20 } })];\n }, proxy: true }]) }, [_vm._v(\" \" + _vm._s(_vm.t(\"Continue\")) + \" \")])]];\n }, proxy: true }]) }, [_c(\"div\", { staticClass: \"conflict-picker__header\" }, [_c(\"p\", { staticClass: \"conflict-picker__description\", attrs: { \"id\": \"conflict-picker-description\" } }, [_vm._v(\" \" + _vm._s(_vm.descriptionParts.before)), _c(\"strong\", [_vm._v(_vm._s(_vm.folderName))]), _vm._v(_vm._s(_vm.descriptionParts.after)), _c(\"br\"), !_vm.isSingle ? [_vm._v(\" \" + _vm._s(_vm.t(\"Existing files and folders will be deleted if not selected. If both are chosen, they will be renamed.\"))), _c(\"br\")] : _vm._e(), _vm.recursiveUpload ? [_vm._v(\" \" + _vm._s(_vm.t(\"When a new folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.\")) + \" \")] : [_vm._v(\" \" + _vm._s(_vm.t(\"When a new folder is selected, any conflicting files within it will also be overwritten.\")) + \" \")]], 2)]), _c(\"form\", { ref: \"form\", staticClass: \"conflict-picker__form\", attrs: { \"aria-labelledby\": \"conflict-picker-description\", \"data-cy-conflict-picker-form\": \"\" }, on: { \"submit\": function($event) {\n $event.preventDefault();\n $event.stopPropagation();\n return _vm.onSubmit.apply(null, arguments);\n } } }, [!_vm.isSingle ? _c(\"fieldset\", { staticClass: \"conflict-picker__all\", attrs: { \"data-cy-conflict-picker-fieldset\": \"all\" } }, [_c(\"legend\", { staticClass: \"hidden-visually\" }, [_vm._v(\" \" + _vm._s(_vm.t(\"Select all checkboxes\")) + \" \")]), _c(\"NcCheckboxRadioSwitch\", _vm._b({ attrs: { \"data-cy-conflict-picker-input-existing\": \"all\" }, on: { \"update:checked\": _vm.onSelectAllOld } }, \"NcCheckboxRadioSwitch\", _vm.selectAllOldBind, false), [_vm._v(\" \" + _vm._s(_vm.t(\"Existing files\")) + \" \")]), _c(\"span\"), _c(\"NcCheckboxRadioSwitch\", _vm._b({ attrs: { \"data-cy-conflict-picker-input-incoming\": \"all\" }, on: { \"update:checked\": _vm.onSelectAllNew } }, \"NcCheckboxRadioSwitch\", _vm.selectAllNewBind, false), [_vm._v(\" \" + _vm._s(_vm.t(\"New files\")) + \" \")])], 1) : _vm._e(), _vm._l(_vm.files, function(node, index) {\n return _c(\"NodesPicker\", { key: node.fileid, ref: \"nodesPicker\", refInFor: true, attrs: { \"incoming\": _vm.conflicts[index], \"existing\": _vm.files[index], \"is-single\": _vm.isSingle, \"new-selected\": _vm.newSelected, \"old-selected\": _vm.oldSelected }, on: { \"update:newSelected\": function($event) {\n _vm.newSelected = $event;\n }, \"update:new-selected\": function($event) {\n _vm.newSelected = $event;\n }, \"update:oldSelected\": function($event) {\n _vm.oldSelected = $event;\n }, \"update:old-selected\": function($event) {\n _vm.oldSelected = $event;\n } } });\n })], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"4a4bdd42\"\n);\nconst ConflictPicker = __component__.exports;\nexport {\n ConflictPicker as default\n};\n//# sourceMappingURL=ConflictPicker-BRRUCIWm.mjs.map\n"],"names":["_sfc_main$5","_sfc_render$5","_vm","_c","$event","_sfc_staticRenderFns$5","__component__$5","normalizeComponent","ArrowRight","_sfc_main$4","_sfc_render$4","_sfc_staticRenderFns$4","__component__$4","FileSvg","_sfc_main$3","_sfc_render$3","_sfc_staticRenderFns$3","__component__$3","FolderSvg","_sfc_main$2","defineComponent","NcDateTime","formatFileSize","t","_sfc_render$2","_sfc_staticRenderFns$2","__component__$2","NodePickerCard","PREVIEW_SIZE","_sfc_main$1","NcCheckboxRadioSwitch","isFileSystemFileEntry","resolve","reject","value","other","node","url","FileType","previewUrl","generateUrl","etag","isFileSystemEntry","selected","checked","file","reader","e","result","blob","_sfc_render$1","_sfc_staticRenderFns$1","__component__$1","NodesPicker","_sfc_main","NcButton","NcDialog","basename","message","before","after","n","label","picker","conflict","name","error","logger","showError","selectedOldNames","directoryContent","renamed","toRename","newName","getUniqueName","selector","input","invalidInput","_sfc_render","index","_sfc_staticRenderFns","__component__","ConflictPicker"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/js/FaceContent-BydkYtW1.chunk.mjs b/js/FaceContent-B8vxOfAI.chunk.mjs
similarity index 89%
rename from js/FaceContent-BydkYtW1.chunk.mjs
rename to js/FaceContent-B8vxOfAI.chunk.mjs
index 59ef5f8385..32fbc00eb2 100644
--- a/js/FaceContent-BydkYtW1.chunk.mjs
+++ b/js/FaceContent-B8vxOfAI.chunk.mjs
@@ -1,2 +1,2 @@
-import{k as n,a as i,V as c}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as l,b as r}from"./NcActions-CX1MSord-CCHAduKQ.chunk.mjs";import{N as f,l as s,x as a}from"./index-2aJ7z47o.chunk.mjs";import{N as d}from"./NcDialog-DoGsI2_6-DCU3yxJO.chunk.mjs";import{N as h}from"./NcEmptyContent-DeR1PNM8.chunk.mjs";import{N as u}from"./NcLoadingIcon-TqAOhPV7.chunk.mjs";import{f as m,g as p,e as F,h as v,i as g,A as _,C as y,j as N,S as w,a as C,c as M,n as k}from"./icons-Du8Q1knx.chunk.mjs";import{F as S}from"./FaceMergeForm-BKwqHXIS.chunk.mjs";import{F as I}from"./FileComponent-BzXldsWp.chunk.mjs";import{F as A,a as $}from"./FilesSelectionMixin-DYjC4BAj.chunk.mjs";import{F as x}from"./FaceCover-869vDESh.chunk.mjs";import{F as R}from"./FetchFilesMixin-c0Z5MKs1.chunk.mjs";import"./video-BfiJ2KTq.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./NcModal-Ds-BuEsJ.chunk.mjs";import"./NcCheckboxRadioSwitch-BAjRm8PQ-brzt9pFn.chunk.mjs";import"./NcIconToggleSwitch-B19dt_oD-CXYKENkX.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./fileFetcher-VV-8Iome.chunk.mjs";import"./he-Bvc8k_P7.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";import"./PhotoSearch-DSVNhvLT.chunk.mjs";const B={name:"FaceContent",components:{PencilOutline:M,Star:C,StarOutline:w,Download:N,Close:y,AlertCircleOutline:_,SendOutline:g,Merge:v,ArrowLeft:F,AccountBoxMultipleOutline:p,FaceMergeForm:S,FilesListViewer:$,FileComponent:I,NcLoadingIcon:u,NcEmptyContent:h,NcActions:r,NcActionButton:l,NcDialog:d,NcButton:f,AccountSwitchOutline:m},directives:{focus(e){c.nextTick(()=>e.focus())}},mixins:[x,R,A],props:{faceName:{type:String,default:"/"}},data(){return{showMoveModal:!1,showMergeModal:!1,showRenameModal:!1,loadingCount:0,appContent:document.getElementById("app-content-vue")}},computed:{files(){return this.$store.state.files.files},facesFiles(){return this.$store.state.faces.facesFiles},face(){return this.faces[this.faceName]},faceFileIds(){return this.facesFiles[this.faceName]||[]},shouldFavoriteSelection(){return this.selectedFileIds.some(e=>this.$store.state.files.files[e].attributes.favorite===0)}},watch:{face(){this.face&&this.fetchFaceContent(this.faceName)}},mounted(){this.fetchFaceContent(this.faceName)},methods:{openViewer(e){window.OCA.Viewer.open({fileInfo:a(this.files[e]),list:this.faceFileIds.map(t=>a(this.files[t]))})},async handleRemoveFilesFromFace(e){try{this.loadingCount++,await this.$store.dispatch("removeFilesFromFace",{faceName:this.faceName,fileIdsToRemove:e}),this.resetSelection()}catch(t){s.error(t)}finally{this.loadingCount--}},async handleDeleteFace(){try{this.loadingCount++,await this.$store.dispatch("deleteFace",{faceName:this.faceName}),this.$router.push("/faces")}catch(e){s.error(e)}finally{this.loadingCount--}},async handleRenameFace(e){try{this.loadingCount++,this.showRenameModal=!1;const t=this.faceName;await this.$store.dispatch("renameFace",{oldName:t,faceName:e}),this.$router.push({name:"facecontent",params:{faceName:e}})}catch(t){s.error(t)}finally{this.loadingCount--}},async handleMerge(e){try{this.loadingCount++,await this.$store.dispatch("moveFilesToFace",{oldFace:this.faceName,faceName:e,fileIdsToMove:this.facesFiles[this.faceName]}),await this.$store.dispatch("deleteFace",{faceName:this.faceName}),this.showMergeModal=!1,this.$router.push({name:"facecontent",params:{faceName:e}})}catch(t){s.error(t)}finally{this.loadingCount--}},async handleMove(e,t){try{this.loadingCount++,await this.$store.dispatch("moveFilesToFace",{oldFace:this.faceName,faceName:e,fileIdsToMove:t}),this.showMoveModal=!1}catch(o){s.error(o)}finally{this.loadingCount--}},async favoriteSelection(){try{this.loadingCount++,await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:!0})}catch(e){s.error(e)}finally{this.loadingCount--}},async unFavoriteSelection(){try{this.loadingCount++,await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:!1})}catch(e){s.error(e)}finally{this.loadingCount--}},async downloadSelection(){try{this.loadingCount++,await this.$store.dispatch("downloadFiles",this.selectedFileIds)}catch(e){s.error(e)}finally{this.loadingCount--}},t:i,n}};var O=function(){var e=this,t=e._self._c;return e.face===void 0&&!e.loadingFiles&&!e.loadingFaces?t("NcEmptyContent",{staticClass:"empty-content-with-illustration",scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountBoxMultipleOutline")]},proxy:!0}],null,!1,2861705255)},[e._v(" "+e._s(e.t("photos","This person could not be found"))+" ")]):e.errorFetchingFiles||e.errorFetchingFaces?t("NcEmptyContent",{scopedSlots:e._u([{key:"icon",fn:function(){return[t("AlertCircleOutline")]},proxy:!0}])},[e._v(" "+e._s(e.t("photos","An error occurred"))+" ")]):t("div",{staticClass:"face"},[t("div",{staticClass:"face__header"},[t("div",{staticClass:"face__header__left"},[t("NcActions",[t("NcActionButton",{on:{click:function(o){return e.$router.push("/faces/")}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowLeft")]},proxy:!0}])},[e._v(e._s(e.t("photos","Back"))+" ")])],1),t("div",{staticClass:"face__header__title"},[e.face!==void 0?t("h2",{staticClass:"face-name",class:{"hidden-visually":e.face.basename.match(/^[0-9]+$/)}},[e._v(" "+e._s(e.face.basename)+" ")]):e._e()]),e.loadingCount>0||e.loadingFaces?t("NcLoadingIcon"):e._e()],1),e.face!==void 0?t("div",{staticClass:"face__header__actions"},[t("NcActions",[t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Rename person")},on:{click:function(o){e.showRenameModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("PencilOutline")]},proxy:!0}],null,!1,347985790)},[e._v(" "+e._s(e.t("photos","Rename person"))+" ")])],1),t("NcActions",{attrs:{"force-menu":!0}},[Object.keys(e.faces).length>1?t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Merge with different person")},on:{click:function(o){e.showMergeModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Merge")]},proxy:!0}],null,!1,3117189691)},[e._v(" "+e._s(e.t("photos","Merge with different person"))+" ")]):e._e(),e.selectedFileIds.length?[t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Download selected files")},on:{click:e.downloadSelection}},[t("Download",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Download selected photos"))+" ")],1),e.shouldFavoriteSelection?t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Mark selection as favorite")},on:{click:e.favoriteSelection}},[t("StarOutline",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Favorite"))+" ")],1):t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Remove selection from favorites")},on:{click:e.unFavoriteSelection}},[t("Star",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Remove from favorites"))+" ")],1),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(o){e.showMoveModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountSwitchOutline")]},proxy:!0}],null,!1,1476410576)},[e._v(" "+e._s(e.n("photos","Move photo to a different person","Move photos to a different person",e.selectedFileIds.length))+" ")]),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(o){return e.handleRemoveFilesFromFace(e.selectedFileIds)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close")]},proxy:!0}],null,!1,1051939733)},[e._v(" "+e._s(e.n("photos","Remove photo from person","Remove photos from person",e.selectedFileIds.length))+" ")])]:e._e(),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:e.handleDeleteFace},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close")]},proxy:!0}],null,!1,1051939733)},[e._v(" "+e._s(e.t("photos","Remove person"))+" ")])],2)],1):e._e()]),e.face!==void 0?t("FilesListViewer",{staticClass:"face__photos",attrs:{"container-element":e.appContent,"file-ids":e.faceFileIds,loading:e.loadingFiles||e.loadingFaces},scopedSlots:e._u([{key:"default",fn:function({file:o}){return t("FileComponent",{attrs:{file:e.files[o.id],"allow-selection":!0,selected:e.selection[o.id]===!0},on:{click:e.openViewer,"select-toggled":e.onFileSelectToggle}})}}],null,!1,3208665420)}):e._e(),e.showRenameModal?t("NcDialog",{attrs:{name:e.t("photos","Rename person"),"close-on-click-outside":"",size:"small"},on:{closing:function(o){e.showRenameModal=!1}},scopedSlots:e._u([{key:"actions",fn:function(){return[t("NcButton",{attrs:{"aria-label":e.t("photos","Save."),variant:"primary",disabled:e.$refs.nameInput&&e.$refs.nameInput.value.trim()===""},on:{click:function(o){return e.handleRenameFace(e.$refs.nameInput.value)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.loadingCount?t("NcLoadingIcon"):t("SendOutline")]},proxy:!0}],null,!1,4093389955)},[e._v(" "+e._s(e.t("photos","Save"))+" ")])]},proxy:!0}],null,!1,1503261394)},[t("div",{staticClass:"rename-form"},[t("input",{directives:[{name:"focus",rawName:"v-focus"}],ref:"nameInput",attrs:{type:"text",name:"name",required:"",placeholder:e.t("photos","Name of this person")},domProps:{value:e.faceName},on:{keydown:function(o){return!o.type.indexOf("key")&&e._k(o.keyCode,"enter",13,o.key,"Enter")?null:e.handleRenameFace(e.$refs.nameInput.value)}}})])]):e._e(),e.showMergeModal?t("NcDialog",{attrs:{name:e.t("photos","Merge person"),"close-on-click-outside":"",size:"normal"},on:{closing:function(o){e.showMergeModal=!1}}},[t("FaceMergeForm",{attrs:{"first-face":e.faceName},on:{select:function(o){return e.handleMerge(o)}}})],1):e._e(),e.showMoveModal?t("NcDialog",{attrs:{name:e.t("photos","Move to different person"),"close-on-click-outside":"",size:"normal"},on:{closing:function(o){e.showMoveModal=!1}}},[t("FaceMergeForm",{attrs:{"first-face":e.faceName},on:{select:function(o){return e.handleMove(o,e.selectedFileIds)}}})],1):e._e()],1)},b=[],D=k(B,O,b,!1,null,"e7556087");const ne=D.exports;export{ne as default};
-//# sourceMappingURL=FaceContent-BydkYtW1.chunk.mjs.map
+import{k as n,a as i,V as c}from"./preload-helper-DenR1iTd.chunk.mjs";import{N as l,b as r}from"./NcActions-CX1MSord-BRkkH9EI.chunk.mjs";import{N as f,l as s,x as a}from"./index-CiNJWU5O.chunk.mjs";import{N as d}from"./NcDialog-DoGsI2_6-CL18WLkD.chunk.mjs";import{N as h}from"./NcEmptyContent-HahlduMT.chunk.mjs";import{N as u}from"./NcLoadingIcon-e2aOocUH.chunk.mjs";import{f as m,g as p,e as F,h as v,i as g,A as _,C as y,j as N,S as w,a as C,c as M,n as k}from"./icons-Du8Q1knx.chunk.mjs";import{F as S}from"./FaceMergeForm-BKDR51Ah.chunk.mjs";import{F as I}from"./FileComponent-egEQikjb.chunk.mjs";import{F as A,a as $}from"./FilesSelectionMixin-SO2iJyJI.chunk.mjs";import{F as x}from"./FaceCover-pTkvCmy_.chunk.mjs";import{F as R}from"./FetchFilesMixin-BR630ez8.chunk.mjs";import"./video-DOsUo6T9.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./GenRandomId-F5ebeBB_-ChRgegHZ.chunk.mjs";import"./NcModal-DZaxRMd3.chunk.mjs";import"./NcCheckboxRadioSwitch-BAjRm8PQ-D6NIuIHu.chunk.mjs";import"./NcIconToggleSwitch-B19dt_oD-BS5yGCpi.chunk.mjs";import"./useModelMigration-EhAWvqDD-B-9oN-sg.chunk.mjs";import"./fileFetcher-07GqI905.chunk.mjs";import"./he-Bvc8k_P7.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";import"./PhotoSearch-B5ZDc_D4.chunk.mjs";const B={name:"FaceContent",components:{PencilOutline:M,Star:C,StarOutline:w,Download:N,Close:y,AlertCircleOutline:_,SendOutline:g,Merge:v,ArrowLeft:F,AccountBoxMultipleOutline:p,FaceMergeForm:S,FilesListViewer:$,FileComponent:I,NcLoadingIcon:u,NcEmptyContent:h,NcActions:r,NcActionButton:l,NcDialog:d,NcButton:f,AccountSwitchOutline:m},directives:{focus(e){c.nextTick(()=>e.focus())}},mixins:[x,R,A],props:{faceName:{type:String,default:"/"}},data(){return{showMoveModal:!1,showMergeModal:!1,showRenameModal:!1,loadingCount:0,appContent:document.getElementById("app-content-vue")}},computed:{files(){return this.$store.state.files.files},facesFiles(){return this.$store.state.faces.facesFiles},face(){return this.faces[this.faceName]},faceFileIds(){return this.facesFiles[this.faceName]||[]},shouldFavoriteSelection(){return this.selectedFileIds.some(e=>this.$store.state.files.files[e].attributes.favorite===0)}},watch:{face(){this.face&&this.fetchFaceContent(this.faceName)}},mounted(){this.fetchFaceContent(this.faceName)},methods:{openViewer(e){window.OCA.Viewer.open({fileInfo:a(this.files[e]),list:this.faceFileIds.map(t=>a(this.files[t]))})},async handleRemoveFilesFromFace(e){try{this.loadingCount++,await this.$store.dispatch("removeFilesFromFace",{faceName:this.faceName,fileIdsToRemove:e}),this.resetSelection()}catch(t){s.error(t)}finally{this.loadingCount--}},async handleDeleteFace(){try{this.loadingCount++,await this.$store.dispatch("deleteFace",{faceName:this.faceName}),this.$router.push("/faces")}catch(e){s.error(e)}finally{this.loadingCount--}},async handleRenameFace(e){try{this.loadingCount++,this.showRenameModal=!1;const t=this.faceName;await this.$store.dispatch("renameFace",{oldName:t,faceName:e}),this.$router.push({name:"facecontent",params:{faceName:e}})}catch(t){s.error(t)}finally{this.loadingCount--}},async handleMerge(e){try{this.loadingCount++,await this.$store.dispatch("moveFilesToFace",{oldFace:this.faceName,faceName:e,fileIdsToMove:this.facesFiles[this.faceName]}),await this.$store.dispatch("deleteFace",{faceName:this.faceName}),this.showMergeModal=!1,this.$router.push({name:"facecontent",params:{faceName:e}})}catch(t){s.error(t)}finally{this.loadingCount--}},async handleMove(e,t){try{this.loadingCount++,await this.$store.dispatch("moveFilesToFace",{oldFace:this.faceName,faceName:e,fileIdsToMove:t}),this.showMoveModal=!1}catch(o){s.error(o)}finally{this.loadingCount--}},async favoriteSelection(){try{this.loadingCount++,await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:!0})}catch(e){s.error(e)}finally{this.loadingCount--}},async unFavoriteSelection(){try{this.loadingCount++,await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:!1})}catch(e){s.error(e)}finally{this.loadingCount--}},async downloadSelection(){try{this.loadingCount++,await this.$store.dispatch("downloadFiles",this.selectedFileIds)}catch(e){s.error(e)}finally{this.loadingCount--}},t:i,n}};var O=function(){var e=this,t=e._self._c;return e.face===void 0&&!e.loadingFiles&&!e.loadingFaces?t("NcEmptyContent",{staticClass:"empty-content-with-illustration",scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountBoxMultipleOutline")]},proxy:!0}],null,!1,2861705255)},[e._v(" "+e._s(e.t("photos","This person could not be found"))+" ")]):e.errorFetchingFiles||e.errorFetchingFaces?t("NcEmptyContent",{scopedSlots:e._u([{key:"icon",fn:function(){return[t("AlertCircleOutline")]},proxy:!0}])},[e._v(" "+e._s(e.t("photos","An error occurred"))+" ")]):t("div",{staticClass:"face"},[t("div",{staticClass:"face__header"},[t("div",{staticClass:"face__header__left"},[t("NcActions",[t("NcActionButton",{on:{click:function(o){return e.$router.push("/faces/")}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowLeft")]},proxy:!0}])},[e._v(e._s(e.t("photos","Back"))+" ")])],1),t("div",{staticClass:"face__header__title"},[e.face!==void 0?t("h2",{staticClass:"face-name",class:{"hidden-visually":e.face.basename.match(/^[0-9]+$/)}},[e._v(" "+e._s(e.face.basename)+" ")]):e._e()]),e.loadingCount>0||e.loadingFaces?t("NcLoadingIcon"):e._e()],1),e.face!==void 0?t("div",{staticClass:"face__header__actions"},[t("NcActions",[t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Rename person")},on:{click:function(o){e.showRenameModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("PencilOutline")]},proxy:!0}],null,!1,347985790)},[e._v(" "+e._s(e.t("photos","Rename person"))+" ")])],1),t("NcActions",{attrs:{"force-menu":!0}},[Object.keys(e.faces).length>1?t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Merge with different person")},on:{click:function(o){e.showMergeModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Merge")]},proxy:!0}],null,!1,3117189691)},[e._v(" "+e._s(e.t("photos","Merge with different person"))+" ")]):e._e(),e.selectedFileIds.length?[t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Download selected files")},on:{click:e.downloadSelection}},[t("Download",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Download selected photos"))+" ")],1),e.shouldFavoriteSelection?t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Mark selection as favorite")},on:{click:e.favoriteSelection}},[t("StarOutline",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Favorite"))+" ")],1):t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Remove selection from favorites")},on:{click:e.unFavoriteSelection}},[t("Star",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Remove from favorites"))+" ")],1),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(o){e.showMoveModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountSwitchOutline")]},proxy:!0}],null,!1,1476410576)},[e._v(" "+e._s(e.n("photos","Move photo to a different person","Move photos to a different person",e.selectedFileIds.length))+" ")]),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(o){return e.handleRemoveFilesFromFace(e.selectedFileIds)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close")]},proxy:!0}],null,!1,1051939733)},[e._v(" "+e._s(e.n("photos","Remove photo from person","Remove photos from person",e.selectedFileIds.length))+" ")])]:e._e(),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:e.handleDeleteFace},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close")]},proxy:!0}],null,!1,1051939733)},[e._v(" "+e._s(e.t("photos","Remove person"))+" ")])],2)],1):e._e()]),e.face!==void 0?t("FilesListViewer",{staticClass:"face__photos",attrs:{"container-element":e.appContent,"file-ids":e.faceFileIds,loading:e.loadingFiles||e.loadingFaces},scopedSlots:e._u([{key:"default",fn:function({file:o}){return t("FileComponent",{attrs:{file:e.files[o.id],"allow-selection":!0,selected:e.selection[o.id]===!0},on:{click:e.openViewer,"select-toggled":e.onFileSelectToggle}})}}],null,!1,3208665420)}):e._e(),e.showRenameModal?t("NcDialog",{attrs:{name:e.t("photos","Rename person"),"close-on-click-outside":"",size:"small"},on:{closing:function(o){e.showRenameModal=!1}},scopedSlots:e._u([{key:"actions",fn:function(){return[t("NcButton",{attrs:{"aria-label":e.t("photos","Save."),variant:"primary",disabled:e.$refs.nameInput&&e.$refs.nameInput.value.trim()===""},on:{click:function(o){return e.handleRenameFace(e.$refs.nameInput.value)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.loadingCount?t("NcLoadingIcon"):t("SendOutline")]},proxy:!0}],null,!1,4093389955)},[e._v(" "+e._s(e.t("photos","Save"))+" ")])]},proxy:!0}],null,!1,1503261394)},[t("div",{staticClass:"rename-form"},[t("input",{directives:[{name:"focus",rawName:"v-focus"}],ref:"nameInput",attrs:{type:"text",name:"name",required:"",placeholder:e.t("photos","Name of this person")},domProps:{value:e.faceName},on:{keydown:function(o){return!o.type.indexOf("key")&&e._k(o.keyCode,"enter",13,o.key,"Enter")?null:e.handleRenameFace(e.$refs.nameInput.value)}}})])]):e._e(),e.showMergeModal?t("NcDialog",{attrs:{name:e.t("photos","Merge person"),"close-on-click-outside":"",size:"normal"},on:{closing:function(o){e.showMergeModal=!1}}},[t("FaceMergeForm",{attrs:{"first-face":e.faceName},on:{select:function(o){return e.handleMerge(o)}}})],1):e._e(),e.showMoveModal?t("NcDialog",{attrs:{name:e.t("photos","Move to different person"),"close-on-click-outside":"",size:"normal"},on:{closing:function(o){e.showMoveModal=!1}}},[t("FaceMergeForm",{attrs:{"first-face":e.faceName},on:{select:function(o){return e.handleMove(o,e.selectedFileIds)}}})],1):e._e()],1)},b=[],D=k(B,O,b,!1,null,"e7556087");const ne=D.exports;export{ne as default};
+//# sourceMappingURL=FaceContent-B8vxOfAI.chunk.mjs.map
diff --git a/js/FaceContent-BydkYtW1.chunk.mjs.license b/js/FaceContent-B8vxOfAI.chunk.mjs.license
similarity index 100%
rename from js/FaceContent-BydkYtW1.chunk.mjs.license
rename to js/FaceContent-B8vxOfAI.chunk.mjs.license
diff --git a/js/FaceContent-BydkYtW1.chunk.mjs.map b/js/FaceContent-B8vxOfAI.chunk.mjs.map
similarity index 99%
rename from js/FaceContent-BydkYtW1.chunk.mjs.map
rename to js/FaceContent-B8vxOfAI.chunk.mjs.map
index a4e19eaf77..a38b449de3 100644
--- a/js/FaceContent-BydkYtW1.chunk.mjs.map
+++ b/js/FaceContent-B8vxOfAI.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FaceContent-BydkYtW1.chunk.mjs","sources":["../src/views/FaceContent.vue"],"sourcesContent":["\n\n\t\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t{{ t('photos', 'This person could not be found') }}\n\t\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t{{ t('photos', 'An error occurred') }}\n\t\n\n\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Rename person') }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t 1\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:aria-label=\"t('photos', 'Merge with different person')\"\n\t\t\t\t\t\t@click=\"showMergeModal = true\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Merge with different person') }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Download selected photos') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Favorite') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Remove from favorites') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ n('photos', 'Move photo to a different person', 'Move photos to a different person', selectedFileIds.length) }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ n('photos', 'Remove photo from person', 'Remove photos from person', selectedFileIds.length) }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Remove person') }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\n\n\n\n"],"names":["_sfc_main","PencilOutline","Star","StarOutline","Download","Close","AlertCircleOutline","SendOutline","Merge","ArrowLeft","AccountBoxMultipleOutline","FaceMergeForm","FilesListViewer","FileComponent","NcLoadingIcon","NcEmptyContent","NcActions","NcActionButton","NcDialog","NcButton","AccountSwitchOutline","el","Vue","FetchFacesMixin","FetchFilesMixin","FilesSelectionMixin","fileId","toViewerFileInfo","fileIds","error","logger","faceName","oldName","t","i"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"FaceContent-B8vxOfAI.chunk.mjs","sources":["../src/views/FaceContent.vue"],"sourcesContent":["\n\n\t\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t{{ t('photos', 'This person could not be found') }}\n\t\n\t\n\t\t\n\t\t\t\n\t\t\n\t\t{{ t('photos', 'An error occurred') }}\n\t\n\n\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Rename person') }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t 1\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:aria-label=\"t('photos', 'Merge with different person')\"\n\t\t\t\t\t\t@click=\"showMergeModal = true\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Merge with different person') }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Download selected photos') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Favorite') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ t('photos', 'Remove from favorites') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ n('photos', 'Move photo to a different person', 'Move photos to a different person', selectedFileIds.length) }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ n('photos', 'Remove photo from person', 'Remove photos from person', selectedFileIds.length) }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{{ t('photos', 'Remove person') }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\n\n\n\n\n"],"names":["FaceCoverMixin","defineComponent","faceName","he","cover","detection","zoom","horizontalCenterOfFace","verticalCenterOfFace","recognizeDAVProps","FetchFacesMixin","AbortControllerMixin","fetchedRawFaces","davClient","getCurrentUser","getPropFind","fetchedFace","file","resultToNode","logger","error","t","showError","force","fetchedRawFiles","fetchedFiles","node","fileIds","unassignedFacesRoot","count","_sfc_main","generateUrl","n"],"mappings":"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"}
\ No newline at end of file
diff --git a/js/FaceMergeForm-BKwqHXIS.chunk.mjs b/js/FaceMergeForm-BKDR51Ah.chunk.mjs
similarity index 89%
rename from js/FaceMergeForm-BKwqHXIS.chunk.mjs
rename to js/FaceMergeForm-BKDR51Ah.chunk.mjs
index 3a175080aa..4992afd7c5 100644
--- a/js/FaceMergeForm-BKwqHXIS.chunk.mjs
+++ b/js/FaceMergeForm-BKDR51Ah.chunk.mjs
@@ -1,2 +1,2 @@
-import{a,F as r,b as i}from"./FaceCover-869vDESh.chunk.mjs";import{n}from"./icons-Du8Q1knx.chunk.mjs";const c={name:"FaceMergeForm",components:{FaceCover:i},mixins:[a,r],props:{firstFace:{type:String,required:!0}},data(){return{loading:!1}},computed:{files(){return this.$store.state.files.files},faces(){return this.$store.state.faces.faces},facesFiles(){return this.$store.getters.facesFiles},filteredFaces(){return Object.values(this.faces).filter(e=>e.basename!==this.firstFace).sort((e,s)=>e.attributes.nbItems&&s.attributes.nbItems?s.attributes.nbItems-e.attributes.nbItems:!this.facesFiles[s.basename]||!this.facesFiles[e.basename]?0:this.facesFiles[s.basename].length-this.facesFiles[e.basename].length)}},methods:{handleSelect(e){this.$emit("select",e),this.loading=!0}}};var l=function(){var e=this,s=e._self._c;return s("div",{staticClass:"merge-form face-list"},e._l(e.filteredFaces,function(t){return s("FaceCover",{key:t.basename,attrs:{"base-name":t.basename,small:""},on:{click:function(m){return e.handleSelect(t.basename)}}})}),1)},o=[],f=n(c,l,o,!1,null,"b48e014f");const h=f.exports;export{h as F};
-//# sourceMappingURL=FaceMergeForm-BKwqHXIS.chunk.mjs.map
+import{a,F as r,b as i}from"./FaceCover-pTkvCmy_.chunk.mjs";import{n}from"./icons-Du8Q1knx.chunk.mjs";const c={name:"FaceMergeForm",components:{FaceCover:i},mixins:[a,r],props:{firstFace:{type:String,required:!0}},data(){return{loading:!1}},computed:{files(){return this.$store.state.files.files},faces(){return this.$store.state.faces.faces},facesFiles(){return this.$store.getters.facesFiles},filteredFaces(){return Object.values(this.faces).filter(e=>e.basename!==this.firstFace).sort((e,s)=>e.attributes.nbItems&&s.attributes.nbItems?s.attributes.nbItems-e.attributes.nbItems:!this.facesFiles[s.basename]||!this.facesFiles[e.basename]?0:this.facesFiles[s.basename].length-this.facesFiles[e.basename].length)}},methods:{handleSelect(e){this.$emit("select",e),this.loading=!0}}};var l=function(){var e=this,s=e._self._c;return s("div",{staticClass:"merge-form face-list"},e._l(e.filteredFaces,function(t){return s("FaceCover",{key:t.basename,attrs:{"base-name":t.basename,small:""},on:{click:function(m){return e.handleSelect(t.basename)}}})}),1)},o=[],f=n(c,l,o,!1,null,"b48e014f");const h=f.exports;export{h as F};
+//# sourceMappingURL=FaceMergeForm-BKDR51Ah.chunk.mjs.map
diff --git a/js/FaceMergeForm-BKwqHXIS.chunk.mjs.license b/js/FaceMergeForm-BKDR51Ah.chunk.mjs.license
similarity index 100%
rename from js/FaceMergeForm-BKwqHXIS.chunk.mjs.license
rename to js/FaceMergeForm-BKDR51Ah.chunk.mjs.license
diff --git a/js/FaceMergeForm-BKwqHXIS.chunk.mjs.map b/js/FaceMergeForm-BKDR51Ah.chunk.mjs.map
similarity index 97%
rename from js/FaceMergeForm-BKwqHXIS.chunk.mjs.map
rename to js/FaceMergeForm-BKDR51Ah.chunk.mjs.map
index 1953c8cd8a..a8c4737849 100644
--- a/js/FaceMergeForm-BKwqHXIS.chunk.mjs.map
+++ b/js/FaceMergeForm-BKDR51Ah.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FaceMergeForm-BKwqHXIS.chunk.mjs","sources":["../src/components/Faces/FaceMergeForm.vue"],"sourcesContent":["\n\n\t
\n\t\t\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","FaceCover","FaceCoverMixin","FetchFacesMixin","face","a","b","faceName"],"mappings":"sGAoBA,MAAAA,EAAA,CACA,KAAA,gBACA,WAAA,CAAA,UAAAC,CAAA,EACA,OAAA,CACAC,EACAC,CAAA,EAGA,MAAA,CACA,UAAA,CACA,KAAA,OACA,SAAA,EAAA,CACA,EAGA,MAAA,CACA,MAAA,CACA,QAAA,EAAA,CAEA,EAEA,SAAA,CACA,OAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,KACA,EAEA,OAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,KACA,EAEA,YAAA,CACA,OAAA,KAAA,OAAA,QAAA,UACA,EAEA,eAAA,CACA,OAAA,OAAA,OAAA,KAAA,KAAA,EACA,OAAAC,GAAAA,EAAA,WAAA,KAAA,SAAA,EACA,KAAA,CAAAC,EAAAC,IACAD,EAAA,WAAA,SAAAC,EAAA,WAAA,QACAA,EAAA,WAAA,QAAAD,EAAA,WAAA,QAEA,CAAA,KAAA,WAAAC,EAAA,QAAA,GAAA,CAAA,KAAA,WAAAD,EAAA,QAAA,EACA,EAEA,KAAA,WAAAC,EAAA,QAAA,EAAA,OAAA,KAAA,WAAAD,EAAA,QAAA,EAAA,MACA,CACA,CAAA,EAGA,QAAA,CACA,aAAAE,EAAA,CACA,KAAA,MAAA,SAAAA,CAAA,EACA,KAAA,QAAA,EACA,CAAA,CAEA"}
\ No newline at end of file
+{"version":3,"file":"FaceMergeForm-BKDR51Ah.chunk.mjs","sources":["../src/components/Faces/FaceMergeForm.vue"],"sourcesContent":["\n\n\t
\n\t\t\n\t
\n\n\n\n\n\n"],"names":["_sfc_main","FaceCover","FaceCoverMixin","FetchFacesMixin","face","a","b","faceName"],"mappings":"sGAoBA,MAAAA,EAAA,CACA,KAAA,gBACA,WAAA,CAAA,UAAAC,CAAA,EACA,OAAA,CACAC,EACAC,CAAA,EAGA,MAAA,CACA,UAAA,CACA,KAAA,OACA,SAAA,EAAA,CACA,EAGA,MAAA,CACA,MAAA,CACA,QAAA,EAAA,CAEA,EAEA,SAAA,CACA,OAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,KACA,EAEA,OAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,KACA,EAEA,YAAA,CACA,OAAA,KAAA,OAAA,QAAA,UACA,EAEA,eAAA,CACA,OAAA,OAAA,OAAA,KAAA,KAAA,EACA,OAAAC,GAAAA,EAAA,WAAA,KAAA,SAAA,EACA,KAAA,CAAAC,EAAAC,IACAD,EAAA,WAAA,SAAAC,EAAA,WAAA,QACAA,EAAA,WAAA,QAAAD,EAAA,WAAA,QAEA,CAAA,KAAA,WAAAC,EAAA,QAAA,GAAA,CAAA,KAAA,WAAAD,EAAA,QAAA,EACA,EAEA,KAAA,WAAAC,EAAA,QAAA,EAAA,OAAA,KAAA,WAAAD,EAAA,QAAA,EAAA,MACA,CACA,CAAA,EAGA,QAAA,CACA,aAAAE,EAAA,CACA,KAAA,MAAA,SAAAA,CAAA,EACA,KAAA,QAAA,EACA,CAAA,CAEA"}
\ No newline at end of file
diff --git a/js/FacesView-BQtrxdHX.chunk.mjs b/js/FacesView-D8xwgqNo.chunk.mjs
similarity index 88%
rename from js/FacesView-BQtrxdHX.chunk.mjs
rename to js/FacesView-D8xwgqNo.chunk.mjs
index f169e87cc6..9f302a9603 100644
--- a/js/FacesView-BQtrxdHX.chunk.mjs
+++ b/js/FacesView-D8xwgqNo.chunk.mjs
@@ -1,2 +1,2 @@
-import{k as a,a as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{L as c}from"./video-BfiJ2KTq.chunk.mjs";import{N as r}from"./NcEmptyContent-DeR1PNM8.chunk.mjs";import{N as l}from"./NcLoadingIcon-TqAOhPV7.chunk.mjs";import{l as u,n,g as m}from"./icons-Du8Q1knx.chunk.mjs";import{F as o,a as d,b as f}from"./FaceCover-869vDESh.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./index-2aJ7z47o.chunk.mjs";import"./he-Bvc8k_P7.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const p={name:"UnassignedFacesCover",components:{AccountOffOutlineIcon:u},mixins:[o,d],props:{small:{type:Boolean,default:!1}},computed:{unassignedFilesCount(){return this.$store.state.faces.unassignedFilesCount},colorMainBackground(){return getComputedStyle(document.documentElement).getPropertyValue("--color-main-background")}},async mounted(){await this.fetchUnassignedFacesCount()},methods:{n:a}};var h=function(){var e=this,s=e._self._c;return s("div",{staticClass:"face-cover",class:[e.small&&"face-cover--small"],on:{click:function(t){return e.$emit("click")}}},[s("div",{staticClass:"face-cover__crop-container"},[s("AccountOffOutlineIcon",{attrs:{size:128,"fill-color":e.colorMainBackground}})],1),s("div",{staticClass:"face-cover__details"},[e.small?e._e():s("div",{staticClass:"face-cover__details__second-line"},[e._v(" "+e._s(e.n("photos","%n unassigned photo","%n unassigned photos",e.unassignedFilesCount))+" ")])])])},g=[],_=n(p,h,g,!1,null,"80561ccf");const F=_.exports,v={name:"FacesView",components:{UnassignedFacesCover:F,FaceCover:f,NcEmptyContent:r,NcLoadingIcon:l,RouterLink:c,AccountBoxMultipleOutline:m},mixins:[o],computed:{facesFiles(){return this.$store.state.faces.facesFiles},unassignedFilesCount(){return this.$store.state.faces.unassignedFilesCount},noFaces(){return Object.keys(this.faces).length===0},orderedFaces(){return Object.values(this.faces).sort((e,s)=>e.attributes.nbItems&&s.attributes.nbItems?s.attributes.nbItems-e.attributes.nbItems:!this.facesFiles[s.basename]||!this.facesFiles[e.basename]?0:this.facesFiles[s.basename].length-this.facesFiles[e.basename].length)}},methods:{t:i}};var C=function(){var e=this,s=e._self._c;return e.errorFetchingFaces?s("NcEmptyContent",[e._v(" "+e._s(e.t("photos","An error occurred"))+" ")]):s("div",{staticClass:"faces"},[e.loadingFaces?s("NcLoadingIcon"):e._e(),e.noFaces&&!e.loadingFaces?s("div",{staticClass:"faces__empty"},[s("NcEmptyContent",{staticClass:"empty-content-with-illustration",scopedSlots:e._u([{key:"icon",fn:function(){return[s("AccountBoxMultipleOutline")]},proxy:!0},{key:"desc",fn:function(){return[e._v(" "+e._s(e.t("photos","This might take some time depending on the size of your photo library."))+" ")]},proxy:!0}],null,!1,149048332)},[e._v(" "+e._s(e.t("photos","Recognized people will show up here"))+" ")])],1):e.noFaces?e._e():s("div",{staticClass:"faces__list"},[e._l(e.orderedFaces,function(t){return s("RouterLink",{key:t.basename,attrs:{to:`/faces/${encodeURIComponent(t.basename)}`}},[s("FaceCover",{attrs:{"base-name":t.basename}})],1)}),s("RouterLink",{key:"unassigned",attrs:{to:"/faces/unassigned"}},[s("UnassignedFacesCover")],1)],2)],1)},b=[],y=n(v,C,b,!1,null,"d27b108f");const R=y.exports;export{R as default};
-//# sourceMappingURL=FacesView-BQtrxdHX.chunk.mjs.map
+import{k as a,a as i}from"./preload-helper-DenR1iTd.chunk.mjs";import{L as c}from"./video-DOsUo6T9.chunk.mjs";import{N as r}from"./NcEmptyContent-HahlduMT.chunk.mjs";import{N as l}from"./NcLoadingIcon-e2aOocUH.chunk.mjs";import{l as u,n,g as m}from"./icons-Du8Q1knx.chunk.mjs";import{F as o,a as d,b as f}from"./FaceCover-pTkvCmy_.chunk.mjs";import"./index-CPw5H2i_.chunk.mjs";import"./index-CiNJWU5O.chunk.mjs";import"./he-Bvc8k_P7.chunk.mjs";import"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const p={name:"UnassignedFacesCover",components:{AccountOffOutlineIcon:u},mixins:[o,d],props:{small:{type:Boolean,default:!1}},computed:{unassignedFilesCount(){return this.$store.state.faces.unassignedFilesCount},colorMainBackground(){return getComputedStyle(document.documentElement).getPropertyValue("--color-main-background")}},async mounted(){await this.fetchUnassignedFacesCount()},methods:{n:a}};var h=function(){var e=this,s=e._self._c;return s("div",{staticClass:"face-cover",class:[e.small&&"face-cover--small"],on:{click:function(t){return e.$emit("click")}}},[s("div",{staticClass:"face-cover__crop-container"},[s("AccountOffOutlineIcon",{attrs:{size:128,"fill-color":e.colorMainBackground}})],1),s("div",{staticClass:"face-cover__details"},[e.small?e._e():s("div",{staticClass:"face-cover__details__second-line"},[e._v(" "+e._s(e.n("photos","%n unassigned photo","%n unassigned photos",e.unassignedFilesCount))+" ")])])])},g=[],_=n(p,h,g,!1,null,"80561ccf");const F=_.exports,v={name:"FacesView",components:{UnassignedFacesCover:F,FaceCover:f,NcEmptyContent:r,NcLoadingIcon:l,RouterLink:c,AccountBoxMultipleOutline:m},mixins:[o],computed:{facesFiles(){return this.$store.state.faces.facesFiles},unassignedFilesCount(){return this.$store.state.faces.unassignedFilesCount},noFaces(){return Object.keys(this.faces).length===0},orderedFaces(){return Object.values(this.faces).sort((e,s)=>e.attributes.nbItems&&s.attributes.nbItems?s.attributes.nbItems-e.attributes.nbItems:!this.facesFiles[s.basename]||!this.facesFiles[e.basename]?0:this.facesFiles[s.basename].length-this.facesFiles[e.basename].length)}},methods:{t:i}};var C=function(){var e=this,s=e._self._c;return e.errorFetchingFaces?s("NcEmptyContent",[e._v(" "+e._s(e.t("photos","An error occurred"))+" ")]):s("div",{staticClass:"faces"},[e.loadingFaces?s("NcLoadingIcon"):e._e(),e.noFaces&&!e.loadingFaces?s("div",{staticClass:"faces__empty"},[s("NcEmptyContent",{staticClass:"empty-content-with-illustration",scopedSlots:e._u([{key:"icon",fn:function(){return[s("AccountBoxMultipleOutline")]},proxy:!0},{key:"desc",fn:function(){return[e._v(" "+e._s(e.t("photos","This might take some time depending on the size of your photo library."))+" ")]},proxy:!0}],null,!1,149048332)},[e._v(" "+e._s(e.t("photos","Recognized people will show up here"))+" ")])],1):e.noFaces?e._e():s("div",{staticClass:"faces__list"},[e._l(e.orderedFaces,function(t){return s("RouterLink",{key:t.basename,attrs:{to:`/faces/${encodeURIComponent(t.basename)}`}},[s("FaceCover",{attrs:{"base-name":t.basename}})],1)}),s("RouterLink",{key:"unassigned",attrs:{to:"/faces/unassigned"}},[s("UnassignedFacesCover")],1)],2)],1)},b=[],y=n(v,C,b,!1,null,"d27b108f");const R=y.exports;export{R as default};
+//# sourceMappingURL=FacesView-D8xwgqNo.chunk.mjs.map
diff --git a/js/FacesView-BQtrxdHX.chunk.mjs.license b/js/FacesView-D8xwgqNo.chunk.mjs.license
similarity index 100%
rename from js/FacesView-BQtrxdHX.chunk.mjs.license
rename to js/FacesView-D8xwgqNo.chunk.mjs.license
diff --git a/js/FacesView-BQtrxdHX.chunk.mjs.map b/js/FacesView-D8xwgqNo.chunk.mjs.map
similarity index 99%
rename from js/FacesView-BQtrxdHX.chunk.mjs.map
rename to js/FacesView-D8xwgqNo.chunk.mjs.map
index 311e74fe71..330d25d9af 100644
--- a/js/FacesView-BQtrxdHX.chunk.mjs.map
+++ b/js/FacesView-D8xwgqNo.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FacesView-BQtrxdHX.chunk.mjs","sources":["../src/components/Faces/UnassignedFacesCover.vue","../src/views/FacesView.vue"],"sourcesContent":["\n\n\n\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('photos', 'This might take some time depending on the size of your photo library.') }}\n\t\t\t\t\n\t\t\t\t{{ t('photos', 'Recognized people will show up here') }}\n\t\t\t\n\t\t
\n\n\n\n\n\n"],"names":["_sfc_main$1","AccountOffOutlineIcon","FetchFacesMixin","FaceCoverMixin","n","_sfc_main","UnassignedFacesCover","FaceCover","NcEmptyContent","NcLoadingIcon","RouterLink","AccountBoxMultipleOutline","a","b","t"],"mappings":"8eAwBA,MAAAA,EAAA,CACA,KAAA,uBAEA,WAAA,CAAA,sBAAAC,CAAA,EAEA,OAAA,CACAC,EACAC,CAAA,EAGA,MAAA,CACA,MAAA,CACA,KAAA,QACA,QAAA,EAAA,CACA,EAGA,SAAA,CACA,sBAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,oBACA,EAEA,qBAAA,CACA,OAAA,iBAAA,SAAA,eAAA,EAAA,iBAAA,yBAAA,CACA,CAAA,EAGA,MAAA,SAAA,CACA,MAAA,KAAA,0BAAA,CACA,EAEA,QAAA,CAAA,EACAC,CAAA,CAEA,4kBCHAC,EAAA,CACA,KAAA,YACA,WAAA,CACA,qBAAAC,EACA,UAAAC,EACA,eAAAC,EACA,cAAAC,EAAA,WACAC,EACA,0BAAAC,CAAA,EAGA,OAAA,CAAAT,CAAA,EAEA,SAAA,CACA,YAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,UACA,EAEA,sBAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,oBACA,EAEA,SAAA,CACA,OAAA,OAAA,KAAA,KAAA,KAAA,EAAA,SAAA,CACA,EAEA,cAAA,CACA,OAAA,OAAA,OAAA,KAAA,KAAA,EAAA,KAAA,CAAAU,EAAAC,IACAD,EAAA,WAAA,SAAAC,EAAA,WAAA,QACAA,EAAA,WAAA,QAAAD,EAAA,WAAA,QAEA,CAAA,KAAA,WAAAC,EAAA,QAAA,GAAA,CAAA,KAAA,WAAAD,EAAA,QAAA,EACA,EAEA,KAAA,WAAAC,EAAA,QAAA,EAAA,OAAA,KAAA,WAAAD,EAAA,QAAA,EAAA,MACA,CACA,CAAA,EAGA,QAAA,CAAA,EACAE,CAAA,CAEA"}
\ No newline at end of file
+{"version":3,"file":"FacesView-D8xwgqNo.chunk.mjs","sources":["../src/components/Faces/UnassignedFacesCover.vue","../src/views/FacesView.vue"],"sourcesContent":["\n\n\n\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ t('photos', 'This might take some time depending on the size of your photo library.') }}\n\t\t\t\t\n\t\t\t\t{{ t('photos', 'Recognized people will show up here') }}\n\t\t\t\n\t\t
\n\n\n\n\n\n"],"names":["_sfc_main$1","AccountOffOutlineIcon","FetchFacesMixin","FaceCoverMixin","n","_sfc_main","UnassignedFacesCover","FaceCover","NcEmptyContent","NcLoadingIcon","RouterLink","AccountBoxMultipleOutline","a","b","t"],"mappings":"8eAwBA,MAAAA,EAAA,CACA,KAAA,uBAEA,WAAA,CAAA,sBAAAC,CAAA,EAEA,OAAA,CACAC,EACAC,CAAA,EAGA,MAAA,CACA,MAAA,CACA,KAAA,QACA,QAAA,EAAA,CACA,EAGA,SAAA,CACA,sBAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,oBACA,EAEA,qBAAA,CACA,OAAA,iBAAA,SAAA,eAAA,EAAA,iBAAA,yBAAA,CACA,CAAA,EAGA,MAAA,SAAA,CACA,MAAA,KAAA,0BAAA,CACA,EAEA,QAAA,CAAA,EACAC,CAAA,CAEA,4kBCHAC,EAAA,CACA,KAAA,YACA,WAAA,CACA,qBAAAC,EACA,UAAAC,EACA,eAAAC,EACA,cAAAC,EAAA,WACAC,EACA,0BAAAC,CAAA,EAGA,OAAA,CAAAT,CAAA,EAEA,SAAA,CACA,YAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,UACA,EAEA,sBAAA,CACA,OAAA,KAAA,OAAA,MAAA,MAAA,oBACA,EAEA,SAAA,CACA,OAAA,OAAA,KAAA,KAAA,KAAA,EAAA,SAAA,CACA,EAEA,cAAA,CACA,OAAA,OAAA,OAAA,KAAA,KAAA,EAAA,KAAA,CAAAU,EAAAC,IACAD,EAAA,WAAA,SAAAC,EAAA,WAAA,QACAA,EAAA,WAAA,QAAAD,EAAA,WAAA,QAEA,CAAA,KAAA,WAAAC,EAAA,QAAA,GAAA,CAAA,KAAA,WAAAD,EAAA,QAAA,EACA,EAEA,KAAA,WAAAC,EAAA,QAAA,EAAA,OAAA,KAAA,WAAAD,EAAA,QAAA,EAAA,MACA,CACA,CAAA,EAGA,QAAA,CAAA,EACAE,CAAA,CAEA"}
\ No newline at end of file
diff --git a/js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs b/js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs
similarity index 89%
rename from js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs
rename to js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs
index 3f54c9a865..cd9e5d54bd 100644
--- a/js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs
+++ b/js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs
@@ -1,2 +1,2 @@
-import{c as h,s as n,l as r,S as C}from"./index-2aJ7z47o.chunk.mjs";import{d as F,a as s}from"./preload-helper-DenR1iTd.chunk.mjs";import{a as g,b as f}from"./collectionFetcher-Bz3LAv8s.chunk.mjs";import{A as u}from"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const b=F({name:"FetchCollectionContentMixin",data(){return{fetchSemaphore:new C(1),loadingCollection:!1,loadingCollectionFiles:!1,errorFetchingCollection:null,errorFetchingCollectionFiles:null}},mixins:[u],methods:{async fetchCollection(l,i,e){if(this.loadingCollection)return null;try{this.loadingCollection=!0,this.errorFetchingCollection=null;const t=await f(l,{signal:this.abortController.signal},i,e);return this.$store.dispatch("addCollections",{collections:[t]}),t}catch(t){if(t.response?.status===404)return this.errorFetchingCollection=404,null;this.errorFetchingCollection=t,r.error("[PublicCollectionContent] Error fetching collection",{error:t}),n(s("photos","Failed to fetch collection."))}finally{this.loadingCollection=!1}return null},async fetchCollectionFiles(l,i=[],e){if(this.loadingCollectionFiles)return[];i=[...i,...h];const t=await this.fetchSemaphore.acquire();try{this.errorFetchingCollectionFiles=null,this.loadingCollectionFiles=!0;const o=await g(l,{signal:this.abortController.signal},i,e),c=o.map(a=>a.fileid?.toString());return this.$store.dispatch("appendFiles",o),await this.$store.commit("setCollectionFiles",{collectionFileName:l,fileIds:c}),o}catch(o){if(o.response?.status===404)return this.errorFetchingCollectionFiles=404,[];this.errorFetchingCollectionFiles=o,n(s("photos","Failed to fetch collections list.")),r.error("[PublicCollectionContent] Error fetching collection files",{error:o})}finally{this.loadingCollectionFiles=!1,this.fetchSemaphore.release(t)}return[]}}});export{b as F};
-//# sourceMappingURL=FetchCollectionContentMixin-d-kkPnMO.chunk.mjs.map
+import{c as h,s as n,l as r,S as C}from"./index-CiNJWU5O.chunk.mjs";import{d as F,a as s}from"./preload-helper-DenR1iTd.chunk.mjs";import{a as g,b as f}from"./collectionFetcher-DoWmhuFQ.chunk.mjs";import{A as u}from"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const b=F({name:"FetchCollectionContentMixin",data(){return{fetchSemaphore:new C(1),loadingCollection:!1,loadingCollectionFiles:!1,errorFetchingCollection:null,errorFetchingCollectionFiles:null}},mixins:[u],methods:{async fetchCollection(l,i,e){if(this.loadingCollection)return null;try{this.loadingCollection=!0,this.errorFetchingCollection=null;const t=await f(l,{signal:this.abortController.signal},i,e);return this.$store.dispatch("addCollections",{collections:[t]}),t}catch(t){if(t.response?.status===404)return this.errorFetchingCollection=404,null;this.errorFetchingCollection=t,r.error("[PublicCollectionContent] Error fetching collection",{error:t}),n(s("photos","Failed to fetch collection."))}finally{this.loadingCollection=!1}return null},async fetchCollectionFiles(l,i=[],e){if(this.loadingCollectionFiles)return[];i=[...i,...h];const t=await this.fetchSemaphore.acquire();try{this.errorFetchingCollectionFiles=null,this.loadingCollectionFiles=!0;const o=await g(l,{signal:this.abortController.signal},i,e),c=o.map(a=>a.fileid?.toString());return this.$store.dispatch("appendFiles",o),await this.$store.commit("setCollectionFiles",{collectionFileName:l,fileIds:c}),o}catch(o){if(o.response?.status===404)return this.errorFetchingCollectionFiles=404,[];this.errorFetchingCollectionFiles=o,n(s("photos","Failed to fetch collections list.")),r.error("[PublicCollectionContent] Error fetching collection files",{error:o})}finally{this.loadingCollectionFiles=!1,this.fetchSemaphore.release(t)}return[]}}});export{b as F};
+//# sourceMappingURL=FetchCollectionContentMixin-b6TNwZVw.chunk.mjs.map
diff --git a/js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs.license b/js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs.license
similarity index 100%
rename from js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs.license
rename to js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs.license
diff --git a/js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs.map b/js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs.map
similarity index 98%
rename from js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs.map
rename to js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs.map
index e51c0f6ee2..18add3ea1c 100644
--- a/js/FetchCollectionContentMixin-d-kkPnMO.chunk.mjs.map
+++ b/js/FetchCollectionContentMixin-b6TNwZVw.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FetchCollectionContentMixin-d-kkPnMO.chunk.mjs","sources":["../src/mixins/FetchCollectionContentMixin.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { File } from '@nextcloud/files'\nimport type { WebDAVClient } from 'webdav'\nimport type { Collection } from '../services/collectionFetcher.js'\n\nimport { showError } from '@nextcloud/dialogs'\nimport { t } from '@nextcloud/l10n'\nimport { defineComponent } from 'vue'\nimport {\n\tfetchCollection,\n\tfetchCollectionFiles,\n} from '../services/collectionFetcher.js'\nimport logger from '../services/logger.js'\nimport { collectionFilesExtraProps } from '../store/collections.js'\nimport SemaphoreWithPriority from '../utils/semaphoreWithPriority.js'\nimport AbortControllerMixin from './AbortControllerMixin.js'\n\nexport default defineComponent({\n\tname: 'FetchCollectionContentMixin',\n\n\tdata() {\n\t\treturn {\n\t\t\tfetchSemaphore: new SemaphoreWithPriority(1),\n\t\t\tloadingCollection: false,\n\t\t\tloadingCollectionFiles: false,\n\t\t\terrorFetchingCollection: null as null | number | Error | unknown,\n\t\t\terrorFetchingCollectionFiles: null as null | number | Error | unknown,\n\t\t}\n\t},\n\n\tmixins: [AbortControllerMixin],\n\n\tmethods: {\n\t\tasync fetchCollection(collectionFileName: string, extraProps: string[], client?: WebDAVClient): Promise {\n\t\t\tif (this.loadingCollection) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingCollection = true\n\t\t\t\tthis.errorFetchingCollection = null\n\n\t\t\t\tconst collection = await fetchCollection(collectionFileName, { signal: this.abortController.signal }, extraProps, client)\n\t\t\t\tthis.$store.dispatch('addCollections', { collections: [collection] })\n\t\t\t\treturn collection\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingCollection = 404\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingCollection = error\n\t\t\t\tlogger.error('[PublicCollectionContent] Error fetching collection', { error })\n\t\t\t\tshowError(t('photos', 'Failed to fetch collection.'))\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollection = false\n\t\t\t}\n\n\t\t\treturn null\n\t\t},\n\n\t\tasync fetchCollectionFiles(collectionFileName: string, extraProps: string[] = [], client?: WebDAVClient): Promise {\n\t\t\tif (this.loadingCollectionFiles) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\textraProps = [...extraProps, ...collectionFilesExtraProps]\n\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingCollectionFiles = null\n\t\t\t\tthis.loadingCollectionFiles = true\n\n\t\t\t\tconst fetchedFiles = await fetchCollectionFiles(collectionFileName, { signal: this.abortController.signal }, extraProps, client)\n\t\t\t\tconst fileIds = fetchedFiles.map((file) => file.fileid?.toString())\n\n\t\t\t\tthis.$store.dispatch('appendFiles', fetchedFiles)\n\n\t\t\t\tawait this.$store.commit('setCollectionFiles', { collectionFileName, fileIds })\n\n\t\t\t\treturn fetchedFiles\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingCollectionFiles = 404\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingCollectionFiles = error\n\n\t\t\t\tshowError(t('photos', 'Failed to fetch collections list.'))\n\t\t\t\tlogger.error('[PublicCollectionContent] Error fetching collection files', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollectionFiles = false\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\t},\n})\n"],"names":["FetchCollectionContentMixin","defineComponent","SemaphoreWithPriority","AbortControllerMixin","collectionFileName","extraProps","client","collection","fetchCollection","error","logger","showError","t","collectionFilesExtraProps","fetchSemaphoreSymbol","fetchedFiles","fetchCollectionFiles","fileIds","file"],"mappings":"mQAqBA,MAAAA,EAAeC,EAAgB,CAC9B,KAAM,8BAEN,MAAO,CACN,MAAO,CACN,eAAgB,IAAIC,EAAsB,CAAC,EAC3C,kBAAmB,GACnB,uBAAwB,GACxB,wBAAyB,KACzB,6BAA8B,IAAA,CAEhC,EAEA,OAAQ,CAACC,CAAoB,EAE7B,QAAS,CACR,MAAM,gBAAgBC,EAA4BC,EAAsBC,EAAmD,CAC1H,GAAI,KAAK,kBACR,OAAO,KAGR,GAAI,CACH,KAAK,kBAAoB,GACzB,KAAK,wBAA0B,KAE/B,MAAMC,EAAa,MAAMC,EAAgBJ,EAAoB,CAAE,OAAQ,KAAK,gBAAgB,QAAUC,EAAYC,CAAM,EACxH,OAAA,KAAK,OAAO,SAAS,iBAAkB,CAAE,YAAa,CAACC,CAAU,EAAG,EAC7DA,CACR,OAASE,EAAO,CACf,GAAIA,EAAM,UAAU,SAAW,IAC9B,YAAK,wBAA0B,IACxB,KAGR,KAAK,wBAA0BA,EAC/BC,EAAO,MAAM,sDAAuD,CAAE,MAAAD,CAAA,CAAO,EAC7EE,EAAUC,EAAE,SAAU,6BAA6B,CAAC,CACrD,QAAA,CACC,KAAK,kBAAoB,EAC1B,CAEA,OAAO,IACR,EAEA,MAAM,qBAAqBR,EAA4BC,EAAuB,CAAA,EAAIC,EAAwC,CACzH,GAAI,KAAK,uBACR,MAAO,CAAA,EAGRD,EAAa,CAAC,GAAGA,EAAY,GAAGQ,CAAyB,EAEzD,MAAMC,EAAuB,MAAM,KAAK,eAAe,QAAA,EAEvD,GAAI,CACH,KAAK,6BAA+B,KACpC,KAAK,uBAAyB,GAE9B,MAAMC,EAAe,MAAMC,EAAqBZ,EAAoB,CAAE,OAAQ,KAAK,gBAAgB,QAAUC,EAAYC,CAAM,EACzHW,EAAUF,EAAa,IAAKG,GAASA,EAAK,QAAQ,UAAU,EAElE,OAAA,KAAK,OAAO,SAAS,cAAeH,CAAY,EAEhD,MAAM,KAAK,OAAO,OAAO,qBAAsB,CAAE,mBAAAX,EAAoB,QAAAa,EAAS,EAEvEF,CACR,OAASN,EAAO,CACf,GAAIA,EAAM,UAAU,SAAW,IAC9B,OAAA,KAAK,6BAA+B,IAC7B,CAAA,EAGR,KAAK,6BAA+BA,EAEpCE,EAAUC,EAAE,SAAU,mCAAmC,CAAC,EAC1DF,EAAO,MAAM,4DAA6D,CAAE,MAAAD,CAAA,CAAO,CACpF,SACC,KAAK,uBAAyB,GAC9B,KAAK,eAAe,QAAQK,CAAoB,CACjD,CAEA,MAAO,CAAA,CACR,CAAA,CAEF,CAAC"}
\ No newline at end of file
+{"version":3,"file":"FetchCollectionContentMixin-b6TNwZVw.chunk.mjs","sources":["../src/mixins/FetchCollectionContentMixin.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { File } from '@nextcloud/files'\nimport type { WebDAVClient } from 'webdav'\nimport type { Collection } from '../services/collectionFetcher.js'\n\nimport { showError } from '@nextcloud/dialogs'\nimport { t } from '@nextcloud/l10n'\nimport { defineComponent } from 'vue'\nimport {\n\tfetchCollection,\n\tfetchCollectionFiles,\n} from '../services/collectionFetcher.js'\nimport logger from '../services/logger.js'\nimport { collectionFilesExtraProps } from '../store/collections.js'\nimport SemaphoreWithPriority from '../utils/semaphoreWithPriority.js'\nimport AbortControllerMixin from './AbortControllerMixin.js'\n\nexport default defineComponent({\n\tname: 'FetchCollectionContentMixin',\n\n\tdata() {\n\t\treturn {\n\t\t\tfetchSemaphore: new SemaphoreWithPriority(1),\n\t\t\tloadingCollection: false,\n\t\t\tloadingCollectionFiles: false,\n\t\t\terrorFetchingCollection: null as null | number | Error | unknown,\n\t\t\terrorFetchingCollectionFiles: null as null | number | Error | unknown,\n\t\t}\n\t},\n\n\tmixins: [AbortControllerMixin],\n\n\tmethods: {\n\t\tasync fetchCollection(collectionFileName: string, extraProps: string[], client?: WebDAVClient): Promise {\n\t\t\tif (this.loadingCollection) {\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingCollection = true\n\t\t\t\tthis.errorFetchingCollection = null\n\n\t\t\t\tconst collection = await fetchCollection(collectionFileName, { signal: this.abortController.signal }, extraProps, client)\n\t\t\t\tthis.$store.dispatch('addCollections', { collections: [collection] })\n\t\t\t\treturn collection\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingCollection = 404\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingCollection = error\n\t\t\t\tlogger.error('[PublicCollectionContent] Error fetching collection', { error })\n\t\t\t\tshowError(t('photos', 'Failed to fetch collection.'))\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollection = false\n\t\t\t}\n\n\t\t\treturn null\n\t\t},\n\n\t\tasync fetchCollectionFiles(collectionFileName: string, extraProps: string[] = [], client?: WebDAVClient): Promise {\n\t\t\tif (this.loadingCollectionFiles) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\textraProps = [...extraProps, ...collectionFilesExtraProps]\n\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingCollectionFiles = null\n\t\t\t\tthis.loadingCollectionFiles = true\n\n\t\t\t\tconst fetchedFiles = await fetchCollectionFiles(collectionFileName, { signal: this.abortController.signal }, extraProps, client)\n\t\t\t\tconst fileIds = fetchedFiles.map((file) => file.fileid?.toString())\n\n\t\t\t\tthis.$store.dispatch('appendFiles', fetchedFiles)\n\n\t\t\t\tawait this.$store.commit('setCollectionFiles', { collectionFileName, fileIds })\n\n\t\t\t\treturn fetchedFiles\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingCollectionFiles = 404\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tthis.errorFetchingCollectionFiles = error\n\n\t\t\t\tshowError(t('photos', 'Failed to fetch collections list.'))\n\t\t\t\tlogger.error('[PublicCollectionContent] Error fetching collection files', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollectionFiles = false\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\t},\n})\n"],"names":["FetchCollectionContentMixin","defineComponent","SemaphoreWithPriority","AbortControllerMixin","collectionFileName","extraProps","client","collection","fetchCollection","error","logger","showError","t","collectionFilesExtraProps","fetchSemaphoreSymbol","fetchedFiles","fetchCollectionFiles","fileIds","file"],"mappings":"mQAqBA,MAAAA,EAAeC,EAAgB,CAC9B,KAAM,8BAEN,MAAO,CACN,MAAO,CACN,eAAgB,IAAIC,EAAsB,CAAC,EAC3C,kBAAmB,GACnB,uBAAwB,GACxB,wBAAyB,KACzB,6BAA8B,IAAA,CAEhC,EAEA,OAAQ,CAACC,CAAoB,EAE7B,QAAS,CACR,MAAM,gBAAgBC,EAA4BC,EAAsBC,EAAmD,CAC1H,GAAI,KAAK,kBACR,OAAO,KAGR,GAAI,CACH,KAAK,kBAAoB,GACzB,KAAK,wBAA0B,KAE/B,MAAMC,EAAa,MAAMC,EAAgBJ,EAAoB,CAAE,OAAQ,KAAK,gBAAgB,QAAUC,EAAYC,CAAM,EACxH,OAAA,KAAK,OAAO,SAAS,iBAAkB,CAAE,YAAa,CAACC,CAAU,EAAG,EAC7DA,CACR,OAASE,EAAO,CACf,GAAIA,EAAM,UAAU,SAAW,IAC9B,YAAK,wBAA0B,IACxB,KAGR,KAAK,wBAA0BA,EAC/BC,EAAO,MAAM,sDAAuD,CAAE,MAAAD,CAAA,CAAO,EAC7EE,EAAUC,EAAE,SAAU,6BAA6B,CAAC,CACrD,QAAA,CACC,KAAK,kBAAoB,EAC1B,CAEA,OAAO,IACR,EAEA,MAAM,qBAAqBR,EAA4BC,EAAuB,CAAA,EAAIC,EAAwC,CACzH,GAAI,KAAK,uBACR,MAAO,CAAA,EAGRD,EAAa,CAAC,GAAGA,EAAY,GAAGQ,CAAyB,EAEzD,MAAMC,EAAuB,MAAM,KAAK,eAAe,QAAA,EAEvD,GAAI,CACH,KAAK,6BAA+B,KACpC,KAAK,uBAAyB,GAE9B,MAAMC,EAAe,MAAMC,EAAqBZ,EAAoB,CAAE,OAAQ,KAAK,gBAAgB,QAAUC,EAAYC,CAAM,EACzHW,EAAUF,EAAa,IAAKG,GAASA,EAAK,QAAQ,UAAU,EAElE,OAAA,KAAK,OAAO,SAAS,cAAeH,CAAY,EAEhD,MAAM,KAAK,OAAO,OAAO,qBAAsB,CAAE,mBAAAX,EAAoB,QAAAa,EAAS,EAEvEF,CACR,OAASN,EAAO,CACf,GAAIA,EAAM,UAAU,SAAW,IAC9B,OAAA,KAAK,6BAA+B,IAC7B,CAAA,EAGR,KAAK,6BAA+BA,EAEpCE,EAAUC,EAAE,SAAU,mCAAmC,CAAC,EAC1DF,EAAO,MAAM,4DAA6D,CAAE,MAAAD,CAAA,CAAO,CACpF,SACC,KAAK,uBAAyB,GAC9B,KAAK,eAAe,QAAQK,CAAoB,CACjD,CAEA,MAAO,CAAA,CACR,CAAA,CAEF,CAAC"}
\ No newline at end of file
diff --git a/js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs b/js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs
similarity index 78%
rename from js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs
rename to js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs
index 7255fd5636..5943f7c830 100644
--- a/js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs
+++ b/js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs
@@ -1,2 +1,2 @@
-import{d as s}from"./preload-helper-DenR1iTd.chunk.mjs";import{f as l}from"./collectionFetcher-Bz3LAv8s.chunk.mjs";import{d as n,l as e}from"./index-2aJ7z47o.chunk.mjs";import{A as c}from"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const g=s({name:"FetchCollectionsMixin",data(){return{errorFetchingCollections:null,loadingCollections:!1}},mixins:[c],methods:{async fetchCollections(t,r=[],i=n){if(this.loadingCollections)return[];try{this.loadingCollections=!0,this.errorFetchingCollections=null;const o=await l(t,{signal:this.abortController.signal},r,i);return this.$store.dispatch("addCollections",{collections:o}),o}catch(o){o.response?.status===404?this.errorFetchingCollections=404:this.errorFetchingCollections=o,e.error("Error fetching collections:",{error:o})}finally{this.loadingCollections=!1}return[]}}});export{g as F};
-//# sourceMappingURL=FetchCollectionsMixin-D0ITOoVD.chunk.mjs.map
+import{d as s}from"./preload-helper-DenR1iTd.chunk.mjs";import{f as l}from"./collectionFetcher-DoWmhuFQ.chunk.mjs";import{d as n,l as e}from"./index-CiNJWU5O.chunk.mjs";import{A as c}from"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";const g=s({name:"FetchCollectionsMixin",data(){return{errorFetchingCollections:null,loadingCollections:!1}},mixins:[c],methods:{async fetchCollections(t,r=[],i=n){if(this.loadingCollections)return[];try{this.loadingCollections=!0,this.errorFetchingCollections=null;const o=await l(t,{signal:this.abortController.signal},r,i);return this.$store.dispatch("addCollections",{collections:o}),o}catch(o){o.response?.status===404?this.errorFetchingCollections=404:this.errorFetchingCollections=o,e.error("Error fetching collections:",{error:o})}finally{this.loadingCollections=!1}return[]}}});export{g as F};
+//# sourceMappingURL=FetchCollectionsMixin-BmLPGCMT.chunk.mjs.map
diff --git a/js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs.license b/js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs.license
similarity index 100%
rename from js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs.license
rename to js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs.license
diff --git a/js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs.map b/js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs.map
similarity index 97%
rename from js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs.map
rename to js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs.map
index e0f71a6789..0f47b933de 100644
--- a/js/FetchCollectionsMixin-D0ITOoVD.chunk.mjs.map
+++ b/js/FetchCollectionsMixin-BmLPGCMT.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FetchCollectionsMixin-D0ITOoVD.chunk.mjs","sources":["../src/mixins/FetchCollectionsMixin.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { WebDAVClient } from 'webdav'\nimport type { Collection } from '../services/collectionFetcher.js'\n\nimport { defineComponent } from 'vue'\nimport {\n\tfetchCollections,\n} from '../services/collectionFetcher.js'\nimport { davClient } from '../services/DavClient.ts'\nimport logger from '../services/logger.js'\nimport AbortControllerMixin from './AbortControllerMixin.js'\n\nexport default defineComponent({\n\tname: 'FetchCollectionsMixin',\n\n\tdata() {\n\t\treturn {\n\t\t\terrorFetchingCollections: null as null | number | Error | unknown,\n\t\t\tloadingCollections: false,\n\t\t}\n\t},\n\n\tmixins: [AbortControllerMixin],\n\n\tmethods: {\n\t\tasync fetchCollections(collectionHome: string, extraProps: string[] = [], client: WebDAVClient = davClient): Promise {\n\t\t\tif (this.loadingCollections) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingCollections = true\n\t\t\t\tthis.errorFetchingCollections = null\n\n\t\t\t\tconst collections = await fetchCollections(collectionHome, { signal: this.abortController.signal }, extraProps, client)\n\n\t\t\t\tthis.$store.dispatch('addCollections', { collections })\n\n\t\t\t\treturn collections\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingCollections = 404\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorFetchingCollections = error\n\t\t\t\t}\n\t\t\t\tlogger.error('Error fetching collections:', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollections = false\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\t},\n})\n"],"names":["FetchCollectionsMixin","defineComponent","AbortControllerMixin","collectionHome","extraProps","client","davClient","collections","fetchCollections","error","logger"],"mappings":"uOAgBA,MAAAA,EAAeC,EAAgB,CAC9B,KAAM,wBAEN,MAAO,CACN,MAAO,CACN,yBAA0B,KAC1B,mBAAoB,EAAA,CAEtB,EAEA,OAAQ,CAACC,CAAoB,EAE7B,QAAS,CACR,MAAM,iBAAiBC,EAAwBC,EAAuB,CAAA,EAAIC,EAAuBC,EAAkC,CAClI,GAAI,KAAK,mBACR,MAAO,CAAA,EAGR,GAAI,CACH,KAAK,mBAAqB,GAC1B,KAAK,yBAA2B,KAEhC,MAAMC,EAAc,MAAMC,EAAiBL,EAAgB,CAAE,OAAQ,KAAK,gBAAgB,QAAUC,EAAYC,CAAM,EAEtH,OAAA,KAAK,OAAO,SAAS,iBAAkB,CAAE,YAAAE,EAAa,EAE/CA,CACR,OAASE,EAAO,CACXA,EAAM,UAAU,SAAW,IAC9B,KAAK,yBAA2B,IAEhC,KAAK,yBAA2BA,EAEjCC,EAAO,MAAM,8BAA+B,CAAE,MAAAD,CAAA,CAAO,CACtD,QAAA,CACC,KAAK,mBAAqB,EAC3B,CAEA,MAAO,CAAA,CACR,CAAA,CAEF,CAAC"}
\ No newline at end of file
+{"version":3,"file":"FetchCollectionsMixin-BmLPGCMT.chunk.mjs","sources":["../src/mixins/FetchCollectionsMixin.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { WebDAVClient } from 'webdav'\nimport type { Collection } from '../services/collectionFetcher.js'\n\nimport { defineComponent } from 'vue'\nimport {\n\tfetchCollections,\n} from '../services/collectionFetcher.js'\nimport { davClient } from '../services/DavClient.ts'\nimport logger from '../services/logger.js'\nimport AbortControllerMixin from './AbortControllerMixin.js'\n\nexport default defineComponent({\n\tname: 'FetchCollectionsMixin',\n\n\tdata() {\n\t\treturn {\n\t\t\terrorFetchingCollections: null as null | number | Error | unknown,\n\t\t\tloadingCollections: false,\n\t\t}\n\t},\n\n\tmixins: [AbortControllerMixin],\n\n\tmethods: {\n\t\tasync fetchCollections(collectionHome: string, extraProps: string[] = [], client: WebDAVClient = davClient): Promise {\n\t\t\tif (this.loadingCollections) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingCollections = true\n\t\t\t\tthis.errorFetchingCollections = null\n\n\t\t\t\tconst collections = await fetchCollections(collectionHome, { signal: this.abortController.signal }, extraProps, client)\n\n\t\t\t\tthis.$store.dispatch('addCollections', { collections })\n\n\t\t\t\treturn collections\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingCollections = 404\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorFetchingCollections = error\n\t\t\t\t}\n\t\t\t\tlogger.error('Error fetching collections:', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingCollections = false\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\t},\n})\n"],"names":["FetchCollectionsMixin","defineComponent","AbortControllerMixin","collectionHome","extraProps","client","davClient","collections","fetchCollections","error","logger"],"mappings":"uOAgBA,MAAAA,EAAeC,EAAgB,CAC9B,KAAM,wBAEN,MAAO,CACN,MAAO,CACN,yBAA0B,KAC1B,mBAAoB,EAAA,CAEtB,EAEA,OAAQ,CAACC,CAAoB,EAE7B,QAAS,CACR,MAAM,iBAAiBC,EAAwBC,EAAuB,CAAA,EAAIC,EAAuBC,EAAkC,CAClI,GAAI,KAAK,mBACR,MAAO,CAAA,EAGR,GAAI,CACH,KAAK,mBAAqB,GAC1B,KAAK,yBAA2B,KAEhC,MAAMC,EAAc,MAAMC,EAAiBL,EAAgB,CAAE,OAAQ,KAAK,gBAAgB,QAAUC,EAAYC,CAAM,EAEtH,OAAA,KAAK,OAAO,SAAS,iBAAkB,CAAE,YAAAE,EAAa,EAE/CA,CACR,OAASE,EAAO,CACXA,EAAM,UAAU,SAAW,IAC9B,KAAK,yBAA2B,IAEhC,KAAK,yBAA2BA,EAEjCC,EAAO,MAAM,8BAA+B,CAAE,MAAAD,CAAA,CAAO,CACtD,QAAA,CACC,KAAK,mBAAqB,EAC3B,CAEA,MAAO,CAAA,CACR,CAAA,CAEF,CAAC"}
\ No newline at end of file
diff --git a/js/FetchFilesMixin-c0Z5MKs1.chunk.mjs b/js/FetchFilesMixin-BR630ez8.chunk.mjs
similarity index 89%
rename from js/FetchFilesMixin-c0Z5MKs1.chunk.mjs
rename to js/FetchFilesMixin-BR630ez8.chunk.mjs
index 2870388572..950d34ead3 100644
--- a/js/FetchFilesMixin-c0Z5MKs1.chunk.mjs
+++ b/js/FetchFilesMixin-BR630ez8.chunk.mjs
@@ -1,2 +1,2 @@
-import{l as r,p as u,d as g,j as p,s as c,S as m}from"./index-2aJ7z47o.chunk.mjs";import{d as y,b as w,a}from"./preload-helper-DenR1iTd.chunk.mjs";import{g as x}from"./PhotoSearch-DSVNhvLT.chunk.mjs";import{A as b}from"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";async function S(h){try{return await h.response?.text?.()??""}catch(n){return r.debug("Could not read the body of the failed request",{error:n}),""}}const T=y({name:"FetchFilesMixin",mixins:[b],data(){return{errorFetchingFiles:null,loadingFiles:!1,doneFetchingFiles:!1,fetchSemaphore:new m(1),fetchedFileIds:[]}},watch:{"$route.path":function(){this.resetFetchFilesState()}},methods:{async fetchFiles(h={},n,d=!1){if(this.doneFetchingFiles&&!d||this.loadingFiles)return[];const F=this.abortController.signal,f=await this.fetchSemaphore.acquire();try{this.errorFetchingFiles=null,this.loadingFiles=!0;const e=200;let t=await x({firstResult:this.fetchedFileIds.length,nbResults:e,...h,signal:F});t.length!==e&&(this.doneFetchingFiles=!0),n!==void 0&&(t=t.filter(n));const i=t.map(o=>o.fileid).filter(o=>!this.fetchedFileIds.includes(o));return this.fetchedFileIds.push(...i),this.$store.dispatch("appendFiles",t),r.debug(`[FetchFilesMixin] Fetched ${i.length} new files: `,{fileIds:i}),i}catch(e){if(e.response?.status===404){const{photosLocation:t,photosSourceFolders:i}=u.state.userConfig,o=await S(e),s=i.find(l=>o.includes(`File with name ${l} could not be located`));if(s!==void 0)if(s===t){r.debug(`The ${s} folder does not exist, creating it.`);try{return await g.createDirectory(p(w,s)),this.resetFetchFilesState(),[]}catch(l){this.errorFetchingFiles=404,r.error("Fail to create source directory",{error:l})}}else return this.errorFetchingFiles=404,r.error(`The ${s} media folder does not exist.`,{error:e}),c(a("photos","The folder {folder} does not exist anymore. You can remove it from your media folders in the Photos settings.",{folder:s})),[];else this.errorFetchingFiles=e}else{if(e instanceof DOMException&&e.code===e.ABORT_ERR)return[];this.errorFetchingFiles=e}c(a("photos","Error fetching files")),r.error(a("photos","Error fetching files"),{error:e})}finally{this.loadingFiles=!1,this.fetchSemaphore.release(f)}return[]},resetFetchFilesState(){this.abortPendingRequest(),this.doneFetchingFiles=!1,this.errorFetchingFiles=null,this.loadingFiles=!1,this.fetchedFileIds=[]}}});export{T as F};
-//# sourceMappingURL=FetchFilesMixin-c0Z5MKs1.chunk.mjs.map
+import{l as r,p as u,d as g,j as p,s as c,S as m}from"./index-CiNJWU5O.chunk.mjs";import{d as y,b as w,a}from"./preload-helper-DenR1iTd.chunk.mjs";import{g as x}from"./PhotoSearch-B5ZDc_D4.chunk.mjs";import{A as b}from"./AbortControllerMixin-DLCgRWRQ.chunk.mjs";async function S(h){try{return await h.response?.text?.()??""}catch(n){return r.debug("Could not read the body of the failed request",{error:n}),""}}const T=y({name:"FetchFilesMixin",mixins:[b],data(){return{errorFetchingFiles:null,loadingFiles:!1,doneFetchingFiles:!1,fetchSemaphore:new m(1),fetchedFileIds:[]}},watch:{"$route.path":function(){this.resetFetchFilesState()}},methods:{async fetchFiles(h={},n,d=!1){if(this.doneFetchingFiles&&!d||this.loadingFiles)return[];const F=this.abortController.signal,f=await this.fetchSemaphore.acquire();try{this.errorFetchingFiles=null,this.loadingFiles=!0;const e=200;let t=await x({firstResult:this.fetchedFileIds.length,nbResults:e,...h,signal:F});t.length!==e&&(this.doneFetchingFiles=!0),n!==void 0&&(t=t.filter(n));const i=t.map(o=>o.fileid).filter(o=>!this.fetchedFileIds.includes(o));return this.fetchedFileIds.push(...i),this.$store.dispatch("appendFiles",t),r.debug(`[FetchFilesMixin] Fetched ${i.length} new files: `,{fileIds:i}),i}catch(e){if(e.response?.status===404){const{photosLocation:t,photosSourceFolders:i}=u.state.userConfig,o=await S(e),s=i.find(l=>o.includes(`File with name ${l} could not be located`));if(s!==void 0)if(s===t){r.debug(`The ${s} folder does not exist, creating it.`);try{return await g.createDirectory(p(w,s)),this.resetFetchFilesState(),[]}catch(l){this.errorFetchingFiles=404,r.error("Fail to create source directory",{error:l})}}else return this.errorFetchingFiles=404,r.error(`The ${s} media folder does not exist.`,{error:e}),c(a("photos","The folder {folder} does not exist anymore. You can remove it from your media folders in the Photos settings.",{folder:s})),[];else this.errorFetchingFiles=e}else{if(e instanceof DOMException&&e.code===e.ABORT_ERR)return[];this.errorFetchingFiles=e}c(a("photos","Error fetching files")),r.error(a("photos","Error fetching files"),{error:e})}finally{this.loadingFiles=!1,this.fetchSemaphore.release(f)}return[]},resetFetchFilesState(){this.abortPendingRequest(),this.doneFetchingFiles=!1,this.errorFetchingFiles=null,this.loadingFiles=!1,this.fetchedFileIds=[]}}});export{T as F};
+//# sourceMappingURL=FetchFilesMixin-BR630ez8.chunk.mjs.map
diff --git a/js/FetchFilesMixin-c0Z5MKs1.chunk.mjs.license b/js/FetchFilesMixin-BR630ez8.chunk.mjs.license
similarity index 100%
rename from js/FetchFilesMixin-c0Z5MKs1.chunk.mjs.license
rename to js/FetchFilesMixin-BR630ez8.chunk.mjs.license
diff --git a/js/FetchFilesMixin-c0Z5MKs1.chunk.mjs.map b/js/FetchFilesMixin-BR630ez8.chunk.mjs.map
similarity index 99%
rename from js/FetchFilesMixin-c0Z5MKs1.chunk.mjs.map
rename to js/FetchFilesMixin-BR630ez8.chunk.mjs.map
index 51536bf5da..7580e7f984 100644
--- a/js/FetchFilesMixin-c0Z5MKs1.chunk.mjs.map
+++ b/js/FetchFilesMixin-BR630ez8.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FetchFilesMixin-c0Z5MKs1.chunk.mjs","sources":["../src/services/DavResponse.ts","../src/mixins/FetchFilesMixin.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport logger from './logger.js'\n\n/**\n * Read the body of a failed dav request.\n * The dav client rejects with the raw fetch Response, whose body is not consumed yet.\n *\n * @param error - The error thrown by the dav client.\n */\nexport async function getErrorBody(error): Promise {\n\ttry {\n\t\treturn await error.response?.text?.() ?? ''\n\t} catch (error) {\n\t\tlogger.debug('Could not read the body of the failed request', { error })\n\t\treturn ''\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { File } from '@nextcloud/files'\nimport type { PhotoSearchOptions } from '../services/PhotoSearch.js'\n\nimport { showError } from '@nextcloud/dialogs'\nimport { defaultRootPath } from '@nextcloud/files/dav'\nimport { t } from '@nextcloud/l10n'\nimport { joinPaths } from '@nextcloud/paths'\nimport { defineComponent } from 'vue'\nimport { davClient } from '../services/DavClient.ts'\nimport { getErrorBody } from '../services/DavResponse.ts'\nimport logger from '../services/logger.js'\nimport getPhotos from '../services/PhotoSearch.js'\nimport store from '../store/index.js'\nimport SemaphoreWithPriority from '../utils/semaphoreWithPriority.js'\nimport AbortControllerMixin from './AbortControllerMixin.js'\n\nexport default defineComponent({\n\tname: 'FetchFilesMixin',\n\n\tmixins: [AbortControllerMixin],\n\n\tdata() {\n\t\treturn {\n\t\t\terrorFetchingFiles: null as null | number | Error | unknown,\n\t\t\tloadingFiles: false,\n\t\t\tdoneFetchingFiles: false,\n\t\t\tfetchSemaphore: new SemaphoreWithPriority(1),\n\t\t\tfetchedFileIds: [] as number[],\n\t\t}\n\t},\n\n\twatch: {\n\t\t'$route.path': function() {\n\t\t\tthis.resetFetchFilesState()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * @param options - Options to pass to getPhotos.\n\t\t * @param filter - Function to filter out some files.\n\t\t * @param force - Force fetching even if doneFetchingFiles is true\n\t\t * @return The next batch of data depending on global offset.\n\t\t */\n\t\tasync fetchFiles(options: Partial = {}, filter?: (file: File) => boolean, force: boolean = false): Promise {\n\t\t\tif ((this.doneFetchingFiles && !force) || this.loadingFiles) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\tconst signal = this.abortController.signal\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingFiles = null\n\t\t\t\tthis.loadingFiles = true\n\n\t\t\t\tconst numberOfImagesPerBatch = 200\n\n\t\t\t\t// Load next batch of images\n\t\t\t\tlet fetchedFiles = await getPhotos({\n\t\t\t\t\tfirstResult: this.fetchedFileIds.length,\n\t\t\t\t\tnbResults: numberOfImagesPerBatch,\n\t\t\t\t\t...options,\n\t\t\t\t\tsignal,\n\t\t\t\t})\n\n\t\t\t\t// If we get less files than requested that means we got to the end\n\t\t\t\tif (fetchedFiles.length !== numberOfImagesPerBatch) {\n\t\t\t\t\tthis.doneFetchingFiles = true\n\t\t\t\t}\n\n\t\t\t\tif (filter !== undefined) {\n\t\t\t\t\tfetchedFiles = fetchedFiles.filter(filter)\n\t\t\t\t}\n\n\t\t\t\tconst fileIds = fetchedFiles\n\t\t\t\t\t.map((file) => file.fileid as number)\n\t\t\t\t\t.filter((fileId) => !this.fetchedFileIds.includes(fileId)) // Filter to prevent duplicate fileIds.\n\n\t\t\t\tthis.fetchedFileIds.push(...fileIds)\n\n\t\t\t\tthis.$store.dispatch('appendFiles', fetchedFiles)\n\n\t\t\t\tlogger.debug(`[FetchFilesMixin] Fetched ${fileIds.length} new files: `, { fileIds })\n\n\t\t\t\treturn fileIds\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tconst { photosLocation, photosSourceFolders } = store.state.userConfig\n\t\t\t\t\tconst errorBody = await getErrorBody(error)\n\t\t\t\t\tconst missingFolder = photosSourceFolders\n\t\t\t\t\t\t.find((source) => errorBody.includes(`File with name ${source} could not be located`))\n\n\t\t\t\t\tif (missingFolder !== undefined) {\n\t\t\t\t\t\tif (missingFolder === photosLocation) {\n\t\t\t\t\t\t\tlogger.debug(`The ${missingFolder} folder does not exist, creating it.`)\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait davClient.createDirectory(joinPaths(defaultRootPath, missingFolder))\n\t\t\t\t\t\t\t\tthis.resetFetchFilesState()\n\t\t\t\t\t\t\t\treturn []\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tthis.errorFetchingFiles = 404\n\t\t\t\t\t\t\t\tlogger.error('Fail to create source directory', { error })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.errorFetchingFiles = 404\n\t\t\t\t\t\t\tlogger.error(`The ${missingFolder} media folder does not exist.`, { error })\n\t\t\t\t\t\t\tshowError(t('photos', 'The folder {folder} does not exist anymore. You can remove it from your media folders in the Photos settings.', { folder: missingFolder }))\n\t\t\t\t\t\t\treturn []\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.errorFetchingFiles = error\n\t\t\t\t\t}\n\t\t\t\t} else if (error instanceof DOMException && error.code === error.ABORT_ERR) {\n\t\t\t\t\treturn []\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorFetchingFiles = error\n\t\t\t\t}\n\n\t\t\t\t// cancelled request, moving on...\n\t\t\t\tshowError(t('photos', 'Error fetching files'))\n\t\t\t\tlogger.error(t('photos', 'Error fetching files'), { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingFiles = false\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\n\t\tresetFetchFilesState() {\n\t\t\tthis.abortPendingRequest()\n\t\t\tthis.doneFetchingFiles = false\n\t\t\tthis.errorFetchingFiles = null\n\t\t\tthis.loadingFiles = false\n\t\t\tthis.fetchedFileIds = []\n\t\t},\n\t},\n})\n"],"names":["getErrorBody","error","logger","FetchFilesMixin","defineComponent","AbortControllerMixin","SemaphoreWithPriority","options","filter","force","signal","fetchSemaphoreSymbol","numberOfImagesPerBatch","fetchedFiles","getPhotos","fileIds","file","fileId","photosLocation","photosSourceFolders","store","errorBody","missingFolder","source","davClient","joinPaths","defaultRootPath","showError","t"],"mappings":"sQAaA,eAAsBA,EAAaC,EAAwB,CAC1D,GAAI,CACH,OAAO,MAAMA,EAAM,UAAU,OAAA,GAAY,EAC1C,OAASA,EAAO,CACf,OAAAC,EAAO,MAAM,gDAAiD,CAAE,MAAAD,EAAO,EAChE,EACR,CACD,CCCA,MAAAE,EAAeC,EAAgB,CAC9B,KAAM,kBAEN,OAAQ,CAACC,CAAoB,EAE7B,MAAO,CACN,MAAO,CACN,mBAAoB,KACpB,aAAc,GACd,kBAAmB,GACnB,eAAgB,IAAIC,EAAsB,CAAC,EAC3C,eAAgB,CAAA,CAAC,CAEnB,EAEA,MAAO,CACN,cAAe,UAAW,CACzB,KAAK,qBAAA,CACN,CAAA,EAGD,QAAS,CAOR,MAAM,WAAWC,EAAuC,CAAA,EAAIC,EAAkCC,EAAiB,GAA0B,CACxI,GAAK,KAAK,mBAAqB,CAACA,GAAU,KAAK,aAC9C,MAAO,CAAA,EAGR,MAAMC,EAAS,KAAK,gBAAgB,OAC9BC,EAAuB,MAAM,KAAK,eAAe,QAAA,EAEvD,GAAI,CACH,KAAK,mBAAqB,KAC1B,KAAK,aAAe,GAEpB,MAAMC,EAAyB,IAG/B,IAAIC,EAAe,MAAMC,EAAU,CAClC,YAAa,KAAK,eAAe,OACjC,UAAWF,EACX,GAAGL,EACH,OAAAG,CAAA,CACA,EAGGG,EAAa,SAAWD,IAC3B,KAAK,kBAAoB,IAGtBJ,IAAW,SACdK,EAAeA,EAAa,OAAOL,CAAM,GAG1C,MAAMO,EAAUF,EACd,IAAKG,GAASA,EAAK,MAAgB,EACnC,OAAQC,GAAW,CAAC,KAAK,eAAe,SAASA,CAAM,CAAC,EAE1D,OAAA,KAAK,eAAe,KAAK,GAAGF,CAAO,EAEnC,KAAK,OAAO,SAAS,cAAeF,CAAY,EAEhDX,EAAO,MAAM,6BAA6Ba,EAAQ,MAAM,eAAgB,CAAE,QAAAA,EAAS,EAE5EA,CACR,OAASd,EAAO,CACf,GAAIA,EAAM,UAAU,SAAW,IAAK,CACnC,KAAM,CAAE,eAAAiB,EAAgB,oBAAAC,CAAA,EAAwBC,EAAM,MAAM,WACtDC,EAAY,MAAMrB,EAAaC,CAAK,EACpCqB,EAAgBH,EACpB,KAAMI,GAAWF,EAAU,SAAS,kBAAkBE,CAAM,uBAAuB,CAAC,EAEtF,GAAID,IAAkB,OACrB,GAAIA,IAAkBJ,EAAgB,CACrChB,EAAO,MAAM,OAAOoB,CAAa,sCAAsC,EACvE,GAAI,CACH,OAAA,MAAME,EAAU,gBAAgBC,EAAUC,EAAiBJ,CAAa,CAAC,EACzE,KAAK,qBAAA,EACE,CAAA,CACR,OAASrB,EAAO,CACf,KAAK,mBAAqB,IAC1BC,EAAO,MAAM,kCAAmC,CAAE,MAAAD,EAAO,CAC1D,CACD,kBACM,mBAAqB,IAC1BC,EAAO,MAAM,OAAOoB,CAAa,gCAAiC,CAAE,MAAArB,EAAO,EAC3E0B,EAAUC,EAAE,SAAU,gHAAiH,CAAE,OAAQN,CAAA,CAAe,CAAC,EAC1J,CAAA,OAGR,KAAK,mBAAqBrB,CAE5B,SAAWA,aAAiB,cAAgBA,EAAM,OAASA,EAAM,UAChE,MAAO,CAAA,EAEP,KAAK,mBAAqBA,CAAAA,CAI3B0B,EAAUC,EAAE,SAAU,sBAAsB,CAAC,EAC7C1B,EAAO,MAAM0B,EAAE,SAAU,sBAAsB,EAAG,CAAE,MAAA3B,EAAO,CAC5D,QAAA,CACC,KAAK,aAAe,GACpB,KAAK,eAAe,QAAQU,CAAoB,CACjD,CAEA,MAAO,CAAA,CACR,EAEA,sBAAuB,CACtB,KAAK,oBAAA,EACL,KAAK,kBAAoB,GACzB,KAAK,mBAAqB,KAC1B,KAAK,aAAe,GACpB,KAAK,eAAiB,CAAA,CACvB,CAAA,CAEF,CAAC"}
\ No newline at end of file
+{"version":3,"file":"FetchFilesMixin-BR630ez8.chunk.mjs","sources":["../src/services/DavResponse.ts","../src/mixins/FetchFilesMixin.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport logger from './logger.js'\n\n/**\n * Read the body of a failed dav request.\n * The dav client rejects with the raw fetch Response, whose body is not consumed yet.\n *\n * @param error - The error thrown by the dav client.\n */\nexport async function getErrorBody(error): Promise {\n\ttry {\n\t\treturn await error.response?.text?.() ?? ''\n\t} catch (error) {\n\t\tlogger.debug('Could not read the body of the failed request', { error })\n\t\treturn ''\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { File } from '@nextcloud/files'\nimport type { PhotoSearchOptions } from '../services/PhotoSearch.js'\n\nimport { showError } from '@nextcloud/dialogs'\nimport { defaultRootPath } from '@nextcloud/files/dav'\nimport { t } from '@nextcloud/l10n'\nimport { joinPaths } from '@nextcloud/paths'\nimport { defineComponent } from 'vue'\nimport { davClient } from '../services/DavClient.ts'\nimport { getErrorBody } from '../services/DavResponse.ts'\nimport logger from '../services/logger.js'\nimport getPhotos from '../services/PhotoSearch.js'\nimport store from '../store/index.js'\nimport SemaphoreWithPriority from '../utils/semaphoreWithPriority.js'\nimport AbortControllerMixin from './AbortControllerMixin.js'\n\nexport default defineComponent({\n\tname: 'FetchFilesMixin',\n\n\tmixins: [AbortControllerMixin],\n\n\tdata() {\n\t\treturn {\n\t\t\terrorFetchingFiles: null as null | number | Error | unknown,\n\t\t\tloadingFiles: false,\n\t\t\tdoneFetchingFiles: false,\n\t\t\tfetchSemaphore: new SemaphoreWithPriority(1),\n\t\t\tfetchedFileIds: [] as number[],\n\t\t}\n\t},\n\n\twatch: {\n\t\t'$route.path': function() {\n\t\t\tthis.resetFetchFilesState()\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * @param options - Options to pass to getPhotos.\n\t\t * @param filter - Function to filter out some files.\n\t\t * @param force - Force fetching even if doneFetchingFiles is true\n\t\t * @return The next batch of data depending on global offset.\n\t\t */\n\t\tasync fetchFiles(options: Partial = {}, filter?: (file: File) => boolean, force: boolean = false): Promise {\n\t\t\tif ((this.doneFetchingFiles && !force) || this.loadingFiles) {\n\t\t\t\treturn []\n\t\t\t}\n\n\t\t\tconst signal = this.abortController.signal\n\t\t\tconst fetchSemaphoreSymbol = await this.fetchSemaphore.acquire()\n\n\t\t\ttry {\n\t\t\t\tthis.errorFetchingFiles = null\n\t\t\t\tthis.loadingFiles = true\n\n\t\t\t\tconst numberOfImagesPerBatch = 200\n\n\t\t\t\t// Load next batch of images\n\t\t\t\tlet fetchedFiles = await getPhotos({\n\t\t\t\t\tfirstResult: this.fetchedFileIds.length,\n\t\t\t\t\tnbResults: numberOfImagesPerBatch,\n\t\t\t\t\t...options,\n\t\t\t\t\tsignal,\n\t\t\t\t})\n\n\t\t\t\t// If we get less files than requested that means we got to the end\n\t\t\t\tif (fetchedFiles.length !== numberOfImagesPerBatch) {\n\t\t\t\t\tthis.doneFetchingFiles = true\n\t\t\t\t}\n\n\t\t\t\tif (filter !== undefined) {\n\t\t\t\t\tfetchedFiles = fetchedFiles.filter(filter)\n\t\t\t\t}\n\n\t\t\t\tconst fileIds = fetchedFiles\n\t\t\t\t\t.map((file) => file.fileid as number)\n\t\t\t\t\t.filter((fileId) => !this.fetchedFileIds.includes(fileId)) // Filter to prevent duplicate fileIds.\n\n\t\t\t\tthis.fetchedFileIds.push(...fileIds)\n\n\t\t\t\tthis.$store.dispatch('appendFiles', fetchedFiles)\n\n\t\t\t\tlogger.debug(`[FetchFilesMixin] Fetched ${fileIds.length} new files: `, { fileIds })\n\n\t\t\t\treturn fileIds\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tconst { photosLocation, photosSourceFolders } = store.state.userConfig\n\t\t\t\t\tconst errorBody = await getErrorBody(error)\n\t\t\t\t\tconst missingFolder = photosSourceFolders\n\t\t\t\t\t\t.find((source) => errorBody.includes(`File with name ${source} could not be located`))\n\n\t\t\t\t\tif (missingFolder !== undefined) {\n\t\t\t\t\t\tif (missingFolder === photosLocation) {\n\t\t\t\t\t\t\tlogger.debug(`The ${missingFolder} folder does not exist, creating it.`)\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait davClient.createDirectory(joinPaths(defaultRootPath, missingFolder))\n\t\t\t\t\t\t\t\tthis.resetFetchFilesState()\n\t\t\t\t\t\t\t\treturn []\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tthis.errorFetchingFiles = 404\n\t\t\t\t\t\t\t\tlogger.error('Fail to create source directory', { error })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.errorFetchingFiles = 404\n\t\t\t\t\t\t\tlogger.error(`The ${missingFolder} media folder does not exist.`, { error })\n\t\t\t\t\t\t\tshowError(t('photos', 'The folder {folder} does not exist anymore. You can remove it from your media folders in the Photos settings.', { folder: missingFolder }))\n\t\t\t\t\t\t\treturn []\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.errorFetchingFiles = error\n\t\t\t\t\t}\n\t\t\t\t} else if (error instanceof DOMException && error.code === error.ABORT_ERR) {\n\t\t\t\t\treturn []\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorFetchingFiles = error\n\t\t\t\t}\n\n\t\t\t\t// cancelled request, moving on...\n\t\t\t\tshowError(t('photos', 'Error fetching files'))\n\t\t\t\tlogger.error(t('photos', 'Error fetching files'), { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingFiles = false\n\t\t\t\tthis.fetchSemaphore.release(fetchSemaphoreSymbol)\n\t\t\t}\n\n\t\t\treturn []\n\t\t},\n\n\t\tresetFetchFilesState() {\n\t\t\tthis.abortPendingRequest()\n\t\t\tthis.doneFetchingFiles = false\n\t\t\tthis.errorFetchingFiles = null\n\t\t\tthis.loadingFiles = false\n\t\t\tthis.fetchedFileIds = []\n\t\t},\n\t},\n})\n"],"names":["getErrorBody","error","logger","FetchFilesMixin","defineComponent","AbortControllerMixin","SemaphoreWithPriority","options","filter","force","signal","fetchSemaphoreSymbol","numberOfImagesPerBatch","fetchedFiles","getPhotos","fileIds","file","fileId","photosLocation","photosSourceFolders","store","errorBody","missingFolder","source","davClient","joinPaths","defaultRootPath","showError","t"],"mappings":"sQAaA,eAAsBA,EAAaC,EAAwB,CAC1D,GAAI,CACH,OAAO,MAAMA,EAAM,UAAU,OAAA,GAAY,EAC1C,OAASA,EAAO,CACf,OAAAC,EAAO,MAAM,gDAAiD,CAAE,MAAAD,EAAO,EAChE,EACR,CACD,CCCA,MAAAE,EAAeC,EAAgB,CAC9B,KAAM,kBAEN,OAAQ,CAACC,CAAoB,EAE7B,MAAO,CACN,MAAO,CACN,mBAAoB,KACpB,aAAc,GACd,kBAAmB,GACnB,eAAgB,IAAIC,EAAsB,CAAC,EAC3C,eAAgB,CAAA,CAAC,CAEnB,EAEA,MAAO,CACN,cAAe,UAAW,CACzB,KAAK,qBAAA,CACN,CAAA,EAGD,QAAS,CAOR,MAAM,WAAWC,EAAuC,CAAA,EAAIC,EAAkCC,EAAiB,GAA0B,CACxI,GAAK,KAAK,mBAAqB,CAACA,GAAU,KAAK,aAC9C,MAAO,CAAA,EAGR,MAAMC,EAAS,KAAK,gBAAgB,OAC9BC,EAAuB,MAAM,KAAK,eAAe,QAAA,EAEvD,GAAI,CACH,KAAK,mBAAqB,KAC1B,KAAK,aAAe,GAEpB,MAAMC,EAAyB,IAG/B,IAAIC,EAAe,MAAMC,EAAU,CAClC,YAAa,KAAK,eAAe,OACjC,UAAWF,EACX,GAAGL,EACH,OAAAG,CAAA,CACA,EAGGG,EAAa,SAAWD,IAC3B,KAAK,kBAAoB,IAGtBJ,IAAW,SACdK,EAAeA,EAAa,OAAOL,CAAM,GAG1C,MAAMO,EAAUF,EACd,IAAKG,GAASA,EAAK,MAAgB,EACnC,OAAQC,GAAW,CAAC,KAAK,eAAe,SAASA,CAAM,CAAC,EAE1D,OAAA,KAAK,eAAe,KAAK,GAAGF,CAAO,EAEnC,KAAK,OAAO,SAAS,cAAeF,CAAY,EAEhDX,EAAO,MAAM,6BAA6Ba,EAAQ,MAAM,eAAgB,CAAE,QAAAA,EAAS,EAE5EA,CACR,OAASd,EAAO,CACf,GAAIA,EAAM,UAAU,SAAW,IAAK,CACnC,KAAM,CAAE,eAAAiB,EAAgB,oBAAAC,CAAA,EAAwBC,EAAM,MAAM,WACtDC,EAAY,MAAMrB,EAAaC,CAAK,EACpCqB,EAAgBH,EACpB,KAAMI,GAAWF,EAAU,SAAS,kBAAkBE,CAAM,uBAAuB,CAAC,EAEtF,GAAID,IAAkB,OACrB,GAAIA,IAAkBJ,EAAgB,CACrChB,EAAO,MAAM,OAAOoB,CAAa,sCAAsC,EACvE,GAAI,CACH,OAAA,MAAME,EAAU,gBAAgBC,EAAUC,EAAiBJ,CAAa,CAAC,EACzE,KAAK,qBAAA,EACE,CAAA,CACR,OAASrB,EAAO,CACf,KAAK,mBAAqB,IAC1BC,EAAO,MAAM,kCAAmC,CAAE,MAAAD,EAAO,CAC1D,CACD,kBACM,mBAAqB,IAC1BC,EAAO,MAAM,OAAOoB,CAAa,gCAAiC,CAAE,MAAArB,EAAO,EAC3E0B,EAAUC,EAAE,SAAU,gHAAiH,CAAE,OAAQN,CAAA,CAAe,CAAC,EAC1J,CAAA,OAGR,KAAK,mBAAqBrB,CAE5B,SAAWA,aAAiB,cAAgBA,EAAM,OAASA,EAAM,UAChE,MAAO,CAAA,EAEP,KAAK,mBAAqBA,CAAAA,CAI3B0B,EAAUC,EAAE,SAAU,sBAAsB,CAAC,EAC7C1B,EAAO,MAAM0B,EAAE,SAAU,sBAAsB,EAAG,CAAE,MAAA3B,EAAO,CAC5D,QAAA,CACC,KAAK,aAAe,GACpB,KAAK,eAAe,QAAQU,CAAoB,CACjD,CAEA,MAAO,CAAA,CACR,EAEA,sBAAuB,CACtB,KAAK,oBAAA,EACL,KAAK,kBAAoB,GACzB,KAAK,mBAAqB,KAC1B,KAAK,aAAe,GACpB,KAAK,eAAiB,CAAA,CACvB,CAAA,CAEF,CAAC"}
\ No newline at end of file
diff --git a/js/FileComponent-BzXldsWp.chunk.mjs b/js/FileComponent-egEQikjb.chunk.mjs
similarity index 97%
rename from js/FileComponent-BzXldsWp.chunk.mjs
rename to js/FileComponent-egEQikjb.chunk.mjs
index 801c9aa548..488cb05b35 100644
--- a/js/FileComponent-BzXldsWp.chunk.mjs
+++ b/js/FileComponent-egEQikjb.chunk.mjs
@@ -1,2 +1,2 @@
-import{d as P,a as g,n as M}from"./preload-helper-DenR1iTd.chunk.mjs";import{k as F,v as N}from"./index-2aJ7z47o.chunk.mjs";import{N as O}from"./NcCheckboxRadioSwitch-BAjRm8PQ-brzt9pFn.chunk.mjs";import{n as k,r as R,V as T}from"./icons-Du8Q1knx.chunk.mjs";var U=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","#","$","%","*","+",",","-",".",":",";","=","?","@","[","]","^","_","{","|","}","~"],h=e=>{let t=0;for(let a=0;a{let t=e/255;return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},L=e=>{let t=Math.max(0,Math.min(1,e));return t<=.0031308?Math.trunc(t*12.92*255+.5):Math.trunc((1.055*Math.pow(t,.4166666666666667)-.055)*255+.5)},q=e=>e<0?-1:1,b=(e,t)=>q(e)*Math.pow(Math.abs(e),t),x=class extends Error{constructor(e){super(e),this.name="ValidationError",this.message=e}},A=e=>{if(!e||e.length<6)throw new x("The blurhash string must be at least 6 characters");let t=h(e[0]),a=Math.floor(t/9)+1,r=t%9+1;if(e.length!==4+2*r*a)throw new x(`blurhash length mismatch: length is ${e.length} but it should be ${4+2*r*a}`)},D=e=>{let t=e>>16,a=e>>8&255,r=e&255;return[v(t),v(a),v(r)]},V=(e,t)=>{let a=Math.floor(e/361),r=Math.floor(e/19)%19,l=e%19;return[b((a-9)/9,2)*t,b((r-9)/9,2)*t,b((l-9)/9,2)*t]},W=(e,t,a,r)=>{A(e),r=r|1;let l=h(e[0]),S=Math.floor(l/9)+1,f=l%9+1,I=(h(e[1])+1)/166,c=new Array(f*S);for(let i=0;i{this.$el.querySelector("svg")?.setAttribute?.("viewBox","-4 -4 30 30")})},methods:{t:g}});var H=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcIconSvgWrapper",{staticClass:"favorite-marker-icon",attrs:{name:e.t("photos","Favorite"),svg:e.StarSvg}})},J=[],K=k(G,H,J,!1,null,"38da3233");const Q=K.exports,X="images",w=[];async function C(e){try{if(!w[e]){const t=await(await window.caches?.open(X))?.match(e);w[e]=t!==void 0}return w[e]}catch{return!1}}const Y={name:"FileComponent",components:{FavoriteIcon:Q,NcCheckboxRadioSwitch:O,VideoOutline:T,PlayCircleOutlineIcon:R},inheritAttrs:!1,props:{file:{type:Object,required:!0},selected:{type:Boolean,default:!1},allowSelection:{type:Boolean,default:!0}},data(){return{initialized:!1,loadedSmall:!1,errorSmall:!1,loadedLarge:!1,errorLarge:!1,isMobile:N()}},computed:{ariaLabel(){return this.file.attributes.favorite?g("photos",'Favorite image, open the full size "{name}" image',{name:this.file.basename}):g("photos",'Open the full size "{name}" image',{name:this.file.basename})},isImage(){return this.file.mime?.startsWith("image")??!1},decodedEtag(){return this.file.attributes.etag.replace(""","").replace(""","")},srcLarge(){return this.isMobile?this.getItemURL(256):this.getItemURL(1024)},srcSmall(){return this.getItemURL(64)},hasBlurhash(){return this.file.attributes["metadata-blurhash"]!==void 0}},watch:{async file(){this.initialized=!1,this.loadedSmall=!1,this.errorSmall=!1,this.loadedLarge=!1,this.errorLarge=!1,await this.init()}},async mounted(){await this.init()},beforeDestroy(){this.$refs.imgSmall!==void 0&&(this.$refs.imgSmall.src=""),this.$refs.srcLarge!==void 0&&(this.$refs.srcLarge.src="")},methods:{async init(){[this.loadedSmall,this.loadedLarge]=await Promise.all([await C(this.srcSmall),await C(this.srcLarge)]),this.initialized=!0,await this.$nextTick(),this.drawBlurhash()},emitClick(){this.$emit("click",this.file.fileid)},onLoadSmall(){this.loadedSmall=!0},onLoadLarge(){this.loadedLarge=!0},onErrorSmall(){this.errorSmall=!0},onErrorLarge(){this.errorLarge=!0},onToggle(e){this.$emit("select-toggled",{id:this.file.fileid,value:e})},getItemURL(e){const t=this.$route?.params.token;return t?M(`/apps/photos/api/v1/publicPreview/${this.file.fileid}?etag=${this.decodedEtag}&x=${e}&y=${e}&token=${t}`):M(`/apps/photos/api/v1/preview/${this.file.fileid}?etag=${this.decodedEtag}&x=${e}&y=${e}`)},drawBlurhash(){if(!this.hasBlurhash||!this.$refs.canvas)return;const e=this.$refs.canvas.width,t=this.$refs.canvas.height,a=j(this.file.attributes["metadata-blurhash"],e,t),r=this.$refs.canvas.getContext("2d"),l=r.createImageData(e,t);l.data.set(a),r.putImageData(l,0,0)},t:g}};var ee=function(){var e=this,t=e._self._c;return t("div",{staticClass:"file-container",class:{selected:e.selected},attrs:{"data-test":"media"}},[t("a",{staticClass:"file",attrs:{href:e.file.source,"aria-label":e.ariaLabel},on:{click:function(a){return a.stopPropagation(),a.preventDefault(),e.emitClick.apply(null,arguments)}}},[t("div",{staticClass:"file__images"},[e.file.mime?.includes("video")?t("VideoOutline",{staticClass:"icon-overlay",attrs:{size:64}}):e.file.attributes["metadata-files-live-photo"]!==void 0?t("PlayCircleOutlineIcon",{staticClass:"icon-overlay",attrs:{size:64}}):e._e(),e.initialized?[e.hasBlurhash&&!e.loadedLarge?t("canvas",{ref:"canvas",staticClass:"file__blurhash",attrs:{"aria-hidden":"true"}}):e._e(),!e.hasBlurhash&&!e.loadedLarge&&(e.loadedSmall||!e.errorSmall)?t("img",{key:`${e.file.basename}-small`,ref:"imgSmall",attrs:{src:e.srcSmall,alt:e.file.basename,decoding:e.loadedSmall?"sync":"async",fetchpriority:e.loadedSmall?"high":"low",loading:e.loadedSmall?"eager":void 0},on:{load:e.onLoadSmall,error:e.onErrorSmall}}):e._e(),e.loadedLarge||(e.hasBlurhash||e.loadedSmall||e.errorSmall)&&!e.errorLarge?t("img",{key:`${e.file.basename}-large`,ref:"imgLarge",attrs:{src:e.srcLarge,alt:e.file.basename,decoding:e.loadedLarge?"sync":"async",fetchpriority:e.loadedLarge?"high":"low",loading:e.loadedLarge?void 0:"lazy"},on:{load:e.onLoadLarge,error:e.onErrorLarge}}):e._e()]:e._e()],2)]),e.allowSelection?t("NcCheckboxRadioSwitch",{staticClass:"selection-checkbox",attrs:{"aria-label":e.t("photos","Select image {imageName}",{imageName:e.file.basename}),"model-value":e.selected},on:{"update:checked":e.onToggle}}):e._e(),e.file.attributes.favorite===1?e._m(0):e._e()],1)},te=[function(){var e=this,t=e._self._c;return t("FavoriteIcon",{staticClass:"favorite-state"})}],ae=k(Y,ee,te,!1,null,"37f60bf9");const oe=ae.exports;export{oe as F};
-//# sourceMappingURL=FileComponent-BzXldsWp.chunk.mjs.map
+import{d as P,a as g,n as M}from"./preload-helper-DenR1iTd.chunk.mjs";import{k as F,v as N}from"./index-CiNJWU5O.chunk.mjs";import{N as O}from"./NcCheckboxRadioSwitch-BAjRm8PQ-D6NIuIHu.chunk.mjs";import{n as k,r as R,V as T}from"./icons-Du8Q1knx.chunk.mjs";var U=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","#","$","%","*","+",",","-",".",":",";","=","?","@","[","]","^","_","{","|","}","~"],h=e=>{let t=0;for(let a=0;a{let t=e/255;return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},L=e=>{let t=Math.max(0,Math.min(1,e));return t<=.0031308?Math.trunc(t*12.92*255+.5):Math.trunc((1.055*Math.pow(t,.4166666666666667)-.055)*255+.5)},q=e=>e<0?-1:1,b=(e,t)=>q(e)*Math.pow(Math.abs(e),t),x=class extends Error{constructor(e){super(e),this.name="ValidationError",this.message=e}},A=e=>{if(!e||e.length<6)throw new x("The blurhash string must be at least 6 characters");let t=h(e[0]),a=Math.floor(t/9)+1,r=t%9+1;if(e.length!==4+2*r*a)throw new x(`blurhash length mismatch: length is ${e.length} but it should be ${4+2*r*a}`)},D=e=>{let t=e>>16,a=e>>8&255,r=e&255;return[v(t),v(a),v(r)]},V=(e,t)=>{let a=Math.floor(e/361),r=Math.floor(e/19)%19,l=e%19;return[b((a-9)/9,2)*t,b((r-9)/9,2)*t,b((l-9)/9,2)*t]},W=(e,t,a,r)=>{A(e),r=r|1;let l=h(e[0]),S=Math.floor(l/9)+1,f=l%9+1,I=(h(e[1])+1)/166,c=new Array(f*S);for(let i=0;i{this.$el.querySelector("svg")?.setAttribute?.("viewBox","-4 -4 30 30")})},methods:{t:g}});var H=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcIconSvgWrapper",{staticClass:"favorite-marker-icon",attrs:{name:e.t("photos","Favorite"),svg:e.StarSvg}})},J=[],K=k(G,H,J,!1,null,"38da3233");const Q=K.exports,X="images",w=[];async function C(e){try{if(!w[e]){const t=await(await window.caches?.open(X))?.match(e);w[e]=t!==void 0}return w[e]}catch{return!1}}const Y={name:"FileComponent",components:{FavoriteIcon:Q,NcCheckboxRadioSwitch:O,VideoOutline:T,PlayCircleOutlineIcon:R},inheritAttrs:!1,props:{file:{type:Object,required:!0},selected:{type:Boolean,default:!1},allowSelection:{type:Boolean,default:!0}},data(){return{initialized:!1,loadedSmall:!1,errorSmall:!1,loadedLarge:!1,errorLarge:!1,isMobile:N()}},computed:{ariaLabel(){return this.file.attributes.favorite?g("photos",'Favorite image, open the full size "{name}" image',{name:this.file.basename}):g("photos",'Open the full size "{name}" image',{name:this.file.basename})},isImage(){return this.file.mime?.startsWith("image")??!1},decodedEtag(){return this.file.attributes.etag.replace(""","").replace(""","")},srcLarge(){return this.isMobile?this.getItemURL(256):this.getItemURL(1024)},srcSmall(){return this.getItemURL(64)},hasBlurhash(){return this.file.attributes["metadata-blurhash"]!==void 0}},watch:{async file(){this.initialized=!1,this.loadedSmall=!1,this.errorSmall=!1,this.loadedLarge=!1,this.errorLarge=!1,await this.init()}},async mounted(){await this.init()},beforeDestroy(){this.$refs.imgSmall!==void 0&&(this.$refs.imgSmall.src=""),this.$refs.srcLarge!==void 0&&(this.$refs.srcLarge.src="")},methods:{async init(){[this.loadedSmall,this.loadedLarge]=await Promise.all([await C(this.srcSmall),await C(this.srcLarge)]),this.initialized=!0,await this.$nextTick(),this.drawBlurhash()},emitClick(){this.$emit("click",this.file.fileid)},onLoadSmall(){this.loadedSmall=!0},onLoadLarge(){this.loadedLarge=!0},onErrorSmall(){this.errorSmall=!0},onErrorLarge(){this.errorLarge=!0},onToggle(e){this.$emit("select-toggled",{id:this.file.fileid,value:e})},getItemURL(e){const t=this.$route?.params.token;return t?M(`/apps/photos/api/v1/publicPreview/${this.file.fileid}?etag=${this.decodedEtag}&x=${e}&y=${e}&token=${t}`):M(`/apps/photos/api/v1/preview/${this.file.fileid}?etag=${this.decodedEtag}&x=${e}&y=${e}`)},drawBlurhash(){if(!this.hasBlurhash||!this.$refs.canvas)return;const e=this.$refs.canvas.width,t=this.$refs.canvas.height,a=j(this.file.attributes["metadata-blurhash"],e,t),r=this.$refs.canvas.getContext("2d"),l=r.createImageData(e,t);l.data.set(a),r.putImageData(l,0,0)},t:g}};var ee=function(){var e=this,t=e._self._c;return t("div",{staticClass:"file-container",class:{selected:e.selected},attrs:{"data-test":"media"}},[t("a",{staticClass:"file",attrs:{href:e.file.source,"aria-label":e.ariaLabel},on:{click:function(a){return a.stopPropagation(),a.preventDefault(),e.emitClick.apply(null,arguments)}}},[t("div",{staticClass:"file__images"},[e.file.mime?.includes("video")?t("VideoOutline",{staticClass:"icon-overlay",attrs:{size:64}}):e.file.attributes["metadata-files-live-photo"]!==void 0?t("PlayCircleOutlineIcon",{staticClass:"icon-overlay",attrs:{size:64}}):e._e(),e.initialized?[e.hasBlurhash&&!e.loadedLarge?t("canvas",{ref:"canvas",staticClass:"file__blurhash",attrs:{"aria-hidden":"true"}}):e._e(),!e.hasBlurhash&&!e.loadedLarge&&(e.loadedSmall||!e.errorSmall)?t("img",{key:`${e.file.basename}-small`,ref:"imgSmall",attrs:{src:e.srcSmall,alt:e.file.basename,decoding:e.loadedSmall?"sync":"async",fetchpriority:e.loadedSmall?"high":"low",loading:e.loadedSmall?"eager":void 0},on:{load:e.onLoadSmall,error:e.onErrorSmall}}):e._e(),e.loadedLarge||(e.hasBlurhash||e.loadedSmall||e.errorSmall)&&!e.errorLarge?t("img",{key:`${e.file.basename}-large`,ref:"imgLarge",attrs:{src:e.srcLarge,alt:e.file.basename,decoding:e.loadedLarge?"sync":"async",fetchpriority:e.loadedLarge?"high":"low",loading:e.loadedLarge?void 0:"lazy"},on:{load:e.onLoadLarge,error:e.onErrorLarge}}):e._e()]:e._e()],2)]),e.allowSelection?t("NcCheckboxRadioSwitch",{staticClass:"selection-checkbox",attrs:{"aria-label":e.t("photos","Select image {imageName}",{imageName:e.file.basename}),"model-value":e.selected},on:{"update:checked":e.onToggle}}):e._e(),e.file.attributes.favorite===1?e._m(0):e._e()],1)},te=[function(){var e=this,t=e._self._c;return t("FavoriteIcon",{staticClass:"favorite-state"})}],ae=k(Y,ee,te,!1,null,"37f60bf9");const oe=ae.exports;export{oe as F};
+//# sourceMappingURL=FileComponent-egEQikjb.chunk.mjs.map
diff --git a/js/FileComponent-BzXldsWp.chunk.mjs.license b/js/FileComponent-egEQikjb.chunk.mjs.license
similarity index 100%
rename from js/FileComponent-BzXldsWp.chunk.mjs.license
rename to js/FileComponent-egEQikjb.chunk.mjs.license
diff --git a/js/FileComponent-BzXldsWp.chunk.mjs.map b/js/FileComponent-egEQikjb.chunk.mjs.map
similarity index 99%
rename from js/FileComponent-BzXldsWp.chunk.mjs.map
rename to js/FileComponent-egEQikjb.chunk.mjs.map
index af6bba393b..c42cdcec38 100644
--- a/js/FileComponent-BzXldsWp.chunk.mjs.map
+++ b/js/FileComponent-egEQikjb.chunk.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"FileComponent-BzXldsWp.chunk.mjs","sources":["../node_modules/blurhash/dist/esm/index.js","../node_modules/@mdi/svg/svg/star.svg?raw","../src/components/FavoriteIcon.vue","../src/services/PreviewService.ts","../src/components/FileComponent.vue"],"sourcesContent":["var q=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"#\",\"$\",\"%\",\"*\",\"+\",\",\",\"-\",\".\",\":\",\";\",\"=\",\"?\",\"@\",\"[\",\"]\",\"^\",\"_\",\"{\",\"|\",\"}\",\"~\"],x=t=>{let e=0;for(let r=0;r{var r=\"\";for(let n=1;n<=e;n++){let l=Math.floor(t)/Math.pow(83,e-n)%83;r+=q[Math.floor(l)]}return r};var f=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},h=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(e*12.92*255+.5):Math.trunc((1.055*Math.pow(e,.4166666666666667)-.055)*255+.5)},F=t=>t<0?-1:1,M=(t,e)=>F(t)*Math.pow(Math.abs(t),e);var d=class extends Error{constructor(e){super(e),this.name=\"ValidationError\",this.message=e}};var C=t=>{if(!t||t.length<6)throw new d(\"The blurhash string must be at least 6 characters\");let e=x(t[0]),r=Math.floor(e/9)+1,n=e%9+1;if(t.length!==4+2*n*r)throw new d(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*n*r}`)},N=t=>{try{C(t)}catch(e){return{result:!1,errorReason:e.message}}return{result:!0}},z=t=>{let e=t>>16,r=t>>8&255,n=t&255;return[f(e),f(r),f(n)]},L=(t,e)=>{let r=Math.floor(t/361),n=Math.floor(t/19)%19,l=t%19;return[M((r-9)/9,2)*e,M((n-9)/9,2)*e,M((l-9)/9,2)*e]},U=(t,e,r,n)=>{C(t),n=n|1;let l=x(t[0]),m=Math.floor(l/9)+1,b=l%9+1,i=(x(t[1])+1)/166,u=new Array(b*m);for(let o=0;o{let l=0,m=0,b=0,g=e*A;for(let u=0;u{let e=h(t[0]),r=h(t[1]),n=h(t[2]);return(e<<16)+(r<<8)+n},H=(t,e)=>{let r=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[0]/e,.5)*9+9.5)))),n=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[1]/e,.5)*9+9.5)))),l=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[2]/e,.5)*9+9.5))));return r*19*19+n*19+l},O=(t,e,r,n,l)=>{if(n<1||n>9||l<1||l>9)throw new d(\"BlurHash must have between 1 and 9 components\");if(e*r*4!==t.length)throw new d(\"Width and height must match the pixels array\");let m=[];for(let s=0;sa*Math.cos(Math.PI*o*B/e)*Math.cos(Math.PI*s*R/r));m.push(y)}let b=m[0],g=m.slice(1),i=\"\",u=n-1+(l-1)*9;i+=p(u,1);let c;if(g.length>0){let s=Math.max(...g.map(a=>Math.max(...a))),o=Math.floor(Math.max(0,Math.min(82,Math.floor(s*166-.5))));c=(o+1)/166,i+=p(o,1)}else c=1,i+=p(0,1);return i+=p($(b),4),g.forEach(s=>{i+=p(H(s,c),2)}),i},S=O;export{d as ValidationError,j as decode,S as encode,N as isBlurhashValid};\n//# sourceMappingURL=index.js.map","export default \"\"","\n\n\t\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n// The preview service worker cache name (see webpack config)\nconst SWCacheName = 'images'\nconst hotCache = []\n\n/**\n * Check if the preview is already cached by the service worker\n *\n * @param previewUrl\n */\nexport async function isCachedPreview(previewUrl: string): Promise {\n\ttry {\n\t\t// Browser's cache take ~100ms to check, hot cache ~10ms.\n\t\tif (!hotCache[previewUrl]) {\n\t\t\tconst cache = await window.caches?.open(SWCacheName)\n\t\t\tconst response = await cache?.match(previewUrl)\n\t\t\thotCache[previewUrl] = response !== undefined\n\t\t}\n\n\t\treturn hotCache[previewUrl]\n\t} catch {\n\t\treturn false\n\t}\n}\n","\n\n\n\t
\n\n\n\n\n\n"],"names":["q","x","t","e","r","n","f","h","F","M","d","C","z","L","U","m","b","i","u","o","a","c","s","y","B","R","w","P","G","T","V","I","StarSvg","_sfc_main$1","defineComponent","NcIconSvgWrapper","SWCacheName","hotCache","isCachedPreview","previewUrl","response","_sfc_main","FavoriteIcon","NcCheckboxRadioSwitch","VideoOutline","PlayCircleOutlineIcon","useIsMobile","value","size","token","generateUrl","width","height","pixels","decode","ctx","imageData"],"mappings":"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","x_google_ignoreList":[0,1]}
\ No newline at end of file
+{"version":3,"file":"FileComponent-egEQikjb.chunk.mjs","sources":["../node_modules/blurhash/dist/esm/index.js","../node_modules/@mdi/svg/svg/star.svg?raw","../src/components/FavoriteIcon.vue","../src/services/PreviewService.ts","../src/components/FileComponent.vue"],"sourcesContent":["var q=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"#\",\"$\",\"%\",\"*\",\"+\",\",\",\"-\",\".\",\":\",\";\",\"=\",\"?\",\"@\",\"[\",\"]\",\"^\",\"_\",\"{\",\"|\",\"}\",\"~\"],x=t=>{let e=0;for(let r=0;r{var r=\"\";for(let n=1;n<=e;n++){let l=Math.floor(t)/Math.pow(83,e-n)%83;r+=q[Math.floor(l)]}return r};var f=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},h=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(e*12.92*255+.5):Math.trunc((1.055*Math.pow(e,.4166666666666667)-.055)*255+.5)},F=t=>t<0?-1:1,M=(t,e)=>F(t)*Math.pow(Math.abs(t),e);var d=class extends Error{constructor(e){super(e),this.name=\"ValidationError\",this.message=e}};var C=t=>{if(!t||t.length<6)throw new d(\"The blurhash string must be at least 6 characters\");let e=x(t[0]),r=Math.floor(e/9)+1,n=e%9+1;if(t.length!==4+2*n*r)throw new d(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*n*r}`)},N=t=>{try{C(t)}catch(e){return{result:!1,errorReason:e.message}}return{result:!0}},z=t=>{let e=t>>16,r=t>>8&255,n=t&255;return[f(e),f(r),f(n)]},L=(t,e)=>{let r=Math.floor(t/361),n=Math.floor(t/19)%19,l=t%19;return[M((r-9)/9,2)*e,M((n-9)/9,2)*e,M((l-9)/9,2)*e]},U=(t,e,r,n)=>{C(t),n=n|1;let l=x(t[0]),m=Math.floor(l/9)+1,b=l%9+1,i=(x(t[1])+1)/166,u=new Array(b*m);for(let o=0;o{let l=0,m=0,b=0,g=e*A;for(let u=0;u{let e=h(t[0]),r=h(t[1]),n=h(t[2]);return(e<<16)+(r<<8)+n},H=(t,e)=>{let r=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[0]/e,.5)*9+9.5)))),n=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[1]/e,.5)*9+9.5)))),l=Math.floor(Math.max(0,Math.min(18,Math.floor(M(t[2]/e,.5)*9+9.5))));return r*19*19+n*19+l},O=(t,e,r,n,l)=>{if(n<1||n>9||l<1||l>9)throw new d(\"BlurHash must have between 1 and 9 components\");if(e*r*4!==t.length)throw new d(\"Width and height must match the pixels array\");let m=[];for(let s=0;sa*Math.cos(Math.PI*o*B/e)*Math.cos(Math.PI*s*R/r));m.push(y)}let b=m[0],g=m.slice(1),i=\"\",u=n-1+(l-1)*9;i+=p(u,1);let c;if(g.length>0){let s=Math.max(...g.map(a=>Math.max(...a))),o=Math.floor(Math.max(0,Math.min(82,Math.floor(s*166-.5))));c=(o+1)/166,i+=p(o,1)}else c=1,i+=p(0,1);return i+=p($(b),4),g.forEach(s=>{i+=p(H(s,c),2)}),i},S=O;export{d as ValidationError,j as decode,S as encode,N as isBlurhashValid};\n//# sourceMappingURL=index.js.map","export default \"\"","\n\n\t\n\n\n\n\n\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n// The preview service worker cache name (see webpack config)\nconst SWCacheName = 'images'\nconst hotCache = []\n\n/**\n * Check if the preview is already cached by the service worker\n *\n * @param previewUrl\n */\nexport async function isCachedPreview(previewUrl: string): Promise {\n\ttry {\n\t\t// Browser's cache take ~100ms to check, hot cache ~10ms.\n\t\tif (!hotCache[previewUrl]) {\n\t\t\tconst cache = await window.caches?.open(SWCacheName)\n\t\t\tconst response = await cache?.match(previewUrl)\n\t\t\thotCache[previewUrl] = response !== undefined\n\t\t}\n\n\t\treturn hotCache[previewUrl]\n\t} catch {\n\t\treturn false\n\t}\n}\n","\n\n\n\t