3 lines
16 KiB
JavaScript
3 lines
16 KiB
JavaScript
import{V as s,e as l,u as f,s as y,d as N,t as a,l as d,_ as c,g as n,a as S,r}from"./vue.runtime.esm-Ct3_M7aQ.chunk.mjs";import{P as _,a as b,u as C,s as k,b as A,c as F}from"./filters-DO7HFMym.chunk.mjs";import{u as w,N as I,a as P,r as M,m as O,s as L,v as T,i as z,b as x,c as E,d as h}from"./video-rmrjCz0n.chunk.mjs";import{N as $,a as B,b as V}from"./NcAppSettingsSection-Bl2-D3_g-DMjCM07_.chunk.mjs";import{n as u,t as D,c as H,g as W,N as v,l as i,p as g}from"./index-BMeBqg0T.chunk.mjs";import{l as R}from"./NcAvatar-YSp2ORHc-k3rtAvRh.chunk.mjs";import{u as U}from"./useHotKey-CXYH7Vg8.chunk.mjs";import{n as p,H as j,M as q,a as G,b as K,c as J,V as Q,d as X,T as Y,e as Z,S as tt,f as et,g as ot,h as at,I as st,i as it,j as nt,k as rt,F as pt,l as lt,A as ct,m as dt,C as ut,o as ht,p as gt,q as mt,r as vt,s as ft,t as yt}from"./icons-VGG7keIQ.chunk.mjs";import{P as Nt,a as St}from"./PhotosFiltersInput-V84ZfLNi.chunk.mjs";import{N as _t}from"./NcCheckboxRadioSwitch-VeztTzpz-CXqdOpK4.chunk.mjs";import{g as bt}from"./index-VV9wNENq.chunk.mjs";import{d as Ct}from"./index-CeB-M9CM.chunk.mjs";import"./preload-helper-Dh9HmuEY.chunk.mjs";import"./NcActionButton-CuVNJJtW-78GF8FR5.chunk.mjs";import"./NcVNodes-C0MrhmVc.chunk.mjs";import"./NcSelect-CjUzohn5-BzxyFHzp.chunk.mjs";import"./useModelMigration-EhAWvqDD-wVDp4GUR.chunk.mjs";import"./NcDialog-CKgpZOiy-Yt0iPUKp.chunk.mjs";import"./index-XmYygNaN.chunk.mjs";import"./dialog-DMSB8C_5.chunk.mjs";import"./NcDateTimePicker-CijBajMH.chunk.mjs";import"./NcDateTime-DshRFtUU-DhtBMvqa.chunk.mjs";import"./collectionFetcher-Bc_5r3B7.chunk.mjs";const kt={name:"NcAppNavigationList"};var At=function(){var t=this,e=t._self._c;return e("ul",{staticClass:"app-navigation-list"},[t._t("default")],2)},Ft=[],wt=u(kt,At,Ft,!1,null,"058e6060");const It=wt.exports,Pt={name:"NcAppNavigation",components:{NcAppNavigationList:It,NcAppNavigationToggle:$},inject:{setHasAppNavigation:{default:()=>()=>s.util.warn("NcAppNavigation is not mounted inside NcContent, this is probably an error."),from:"NcContent:setHasAppNavigation"}},props:{ariaLabel:{type:String,default:""},ariaLabelledby:{type:String,default:""}},setup(){return{isMobile:w()}},data(){return{open:!this.isMobile,focusTrap:null}},watch:{isMobile(){this.open=!this.isMobile,this.toggleFocusTrap()},open(){this.toggleFocusTrap()}},mounted(){this.setHasAppNavigation(!0),y("toggle-navigation",this.toggleNavigationByEventBus),l("navigation-toggled",{open:this.open}),this.focusTrap=H(this.$refs.appNavigationContainer,{allowOutsideClick:!0,fallbackFocus:this.$refs.appNavigationContainer,trapStack:W(),escapeDeactivates:!1}),this.toggleFocusTrap(),U("n",this.onKeyDown,{prevent:!0,stop:!0})},unmounted(){this.setHasAppNavigation(!1),f("toggle-navigation",this.toggleNavigationByEventBus),this.focusTrap.deactivate()},methods:{async toggleNavigation(t){if(this.open===t){l("navigation-toggled",{open:this.open});return}this.open=typeof t>"u"?!this.open:t;const e=getComputedStyle(document.body),o=parseInt(e.getPropertyValue("--animation-quick"))||100;this.open&&(await this.$nextTick(),this.focusFirstElement()),setTimeout(()=>{l("navigation-toggled",{open:this.open})},1.5*o)},toggleNavigationByEventBus({open:t}){this.toggleNavigation(t)},toggleFocusTrap(){this.isMobile&&this.open?this.focusTrap.activate():this.focusTrap.deactivate()},handleEsc(){this.isMobile&&this.open&&this.toggleNavigation(!1)},focusFirstElement(){const t=D(this.$refs.appNavigationContainer)[0];t&&(t.focus(),R.debug("Focusing first element in the navigation",{element:t}))},onKeyDown(t){if(t.key==="n"){if(!this.open){this.toggleNavigation(!0);return}this.isFocusWithinNavigation()&&this.toggleNavigation(!1)}},isFocusWithinNavigation(){const t=document.activeElement;return this.$refs.appNavigationContainer?.contains(t)}}};var Mt=function(){var t=this,e=t._self._c;return e("div",{ref:"appNavigationContainer",staticClass:"app-navigation",class:{"app-navigation--close":!t.open}},[e("nav",{staticClass:"app-navigation__content",attrs:{id:"app-navigation-vue","aria-hidden":t.open?"false":"true","aria-label":t.ariaLabel||void 0,"aria-labelledby":t.ariaLabelledby||void 0,inert:!t.open||void 0},on:{keydown:function(o){return!o.type.indexOf("key")&&t._k(o.keyCode,"esc",27,o.key,["Esc","Escape"])?null:t.handleEsc.apply(null,arguments)}}},[e("div",{staticClass:"app-navigation__search"},[t._t("search")],2),e("div",{staticClass:"app-navigation__body",class:{"app-navigation__body--no-list":!t.$scopedSlots.list}},[t._t("default")],2),t.$scopedSlots.list?e("NcAppNavigationList",{staticClass:"app-navigation__list"},[t._t("list")],2):t._e(),t._t("footer")],2),e("NcAppNavigationToggle",{attrs:{open:t.open},on:{"update:open":t.toggleNavigation}})],1)},Ot=[],Lt=u(Pt,Mt,Ot,!1,null,"6d2acd3d");const Tt=Lt.exports,zt={name:"NcAppSettingsSection",inject:["registerSection","unregisterSection"],props:{name:{type:String,required:!0},id:{type:String,required:!0,validator(t){return/^[a-z0-9\-_]+$/.test(t)}}},computed:{htmlId(){return"settings-section_"+this.id}},watch:{id(t,e){this.unregisterSection(e),this.registerSection(t,this.name,this.$slots?.icon)},name(t){this.unregisterSection(this.id),this.registerSection(this.id,t,this.$slots?.icon)}},mounted(){this.registerSection(this.id,this.name,this.$slots?.icon)},beforeDestroy(){this.unregisterSection(this.id)}};var xt=function(){var t=this,e=t._self._c;return e("section",{staticClass:"app-settings-section",attrs:{id:t.htmlId,"aria-labelledby":`${t.htmlId}--label`}},[e("h3",{staticClass:"app-settings-section__name",attrs:{id:`${t.htmlId}--label`}},[t._v(" "+t._s(t.name)+" ")]),t._t("default"),t._e()],2)},Et=[],$t=u(zt,xt,Et,!1,null,"e970c9f7");const Bt=$t.exports,Vt={name:"CroppedLayoutSettings",components:{NcCheckboxRadioSwitch:_t},computed:{croppedLayout(){return this.$store.state.userConfig.croppedLayout}},methods:{updateSetting(t){this.$store.dispatch("updateUserConfig",{key:"croppedLayout",value:t})}}};var Dt=function(){var t=this,e=t._self._c;return e("NcCheckboxRadioSwitch",{attrs:{checked:t.croppedLayout,type:"switch"},on:{"update:checked":t.updateSetting}},[t._v(" "+t._s(t.t("photos","Enable squared photos view"))+" ")])},Ht=[],Wt=p(Vt,Dt,Ht,!1,null,null);const Rt=Wt.exports,Ut=N({name:"PhotosUploadLocationSettings",components:{NcButton:v,PhotosFolder:_},data(){return{HomeOutline:j}},computed:{photosLocation(){return this.$store.state.userConfig.photosLocation}},methods:{debounceSelectPhotosFolder:Ct(function(){this.selectPhotosFolder()}),async selectPhotosFolder(){const t=await this.openFilePicker(a("photos","Select the default upload location for your media"));this.updatePhotosFolder(t)},async openFilePicker(t){return bt(t).setMultiSelect(!1).addMimeTypeFilter("httpd/unix-directory").allowDirectories().startAt(this.photosLocation).addButton({label:a("photos","Pick folder"),callback:e=>i.debug("Picked",{nodes:e})}).build().pick()},updatePhotosFolder(t){this.$store.dispatch("updateUserConfig",{key:"photosLocation",value:t})},t:a}});var jt=function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"photos-location"},[e("PhotosFolder",{attrs:{path:t.photosLocation,"root-folder-label":t.t("photos","Home"),"root-folder-icon":t.HomeOutline}}),e("NcButton",{attrs:{"aria-label":t.t("photos","Choose default Photos upload and Albums location")},on:{click:t.debounceSelectPhotosFolder}},[t._v(" "+t._s(t.t("photos","Choose a different folder"))+" ")])],1)},qt=[],Gt=p(Ut,jt,qt,!1,null,"2647e1a5");const Kt=Gt.exports,Jt={name:"SettingsDialog",components:{NcAppSettingsDialog:B,NcAppSettingsSection:Bt,CroppedLayoutSettings:Rt,PhotosSourceLocationsSettings:b,PhotosUploadLocationSettings:Kt},props:{open:{type:Boolean,default:!1}},methods:{onClose(){this.$emit("update:open",!1)},t:a}};var Qt=function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.open,"show-navigation":!0,name:t.t("photos","Photos settings")},on:{"update:open":t.onClose}},[e("NcAppSettingsSection",{attrs:{id:"layout-settings",name:t.t("photos","View")}},[e("CroppedLayoutSettings")],1),e("NcAppSettingsSection",{attrs:{id:"source-directories-settings",name:t.t("photos","Media folders")}},[e("div",{staticClass:"setting-section-subline"},[t._v(" "+t._s(t.t("photos","Choose the folders from where photos and videos are shown."))+" ")]),e("PhotosSourceLocationsSettings")],1),e("NcAppSettingsSection",{attrs:{id:"upload-directory-settings",name:t.t("photos","Upload folder")}},[e("div",{staticClass:"setting-section-subline"},[t._v(" "+t._s(t.t("photos","Choose the folder where photos and albums are uploaded to."))+" ")]),e("PhotosUploadLocationSettings")],1)],1)},Xt=[],Yt=p(Jt,Qt,Xt,!1,null,null);const Zt=Yt.exports,m=d("photos","appStoreEnabled",!1),te={name:"PhotosApp",components:{AccountBoxMultiple:yt,AccountBoxMultipleOutline:ft,CogOutline:vt,CalendarToday:mt,CalendarTodayOutline:gt,Camera:ht,CameraOutline:ut,AccountGroup:dt,AccountGroupOutline:ct,Folder:lt,FolderOutline:pt,ImageMultiple:rt,ImageMultipleOutline:nt,ImageIcon:it,ImageOutline:st,ShareVariant:at,ShareVariantOutline:ot,Star:et,StarOutline:tt,Tag:Z,TagOutline:Y,VideoIcon:X,VideoOutline:Q,MapIcon:J,MapOutline:K,MapMarker:G,MapMarkerOutline:q,NcAppContent:P,NcAppNavigation:Tt,NcAppNavigationItem:V,NcButton:v,NcContent:I,SettingsDialog:Zt,PhotosFiltersInput:St,PhotosFiltersDisplay:Nt},setup(){const t=C(),{selectedFilters:e}=k(t);return{selectedFilters:e}},data(){return{svgplaceholder:x,imgplaceholder:z,videoplaceholder:T,areTagsInstalled:L,showLocationMenuEntry:n()===null?!1:n().isAdmin&&m||O,showPeopleMenuEntry:n()===null?!1:n().isAdmin&&d("photos","showPeopleMenuEntry",!0)&&m||M,openedSettings:!1}},computed:{isTimelineView(){return["all_media","photos","videos"].includes(this.$store.state.route.name||"")}},async beforeMount(){const t=d("photos","nomedia-paths",[]);this.$store.dispatch("setNomediaPaths",t),i.debug("Known .nomedia and .noimage paths",{files:t}),"serviceWorker"in navigator?window.addEventListener("load",()=>{navigator.serviceWorker.register(c("/apps/photos/service-worker.js",{},{noRewrite:!0}),{scope:c("/apps/photos")}).then(e=>{i.debug("SW registered: ",{registration:e})}).catch(e=>{i.error("SW registration failed: ",{registrationError:e})})}):i.debug("Service Worker is not enabled on this browser.")},beforeDestroy(){window.removeEventListener("load",()=>{navigator.serviceWorker.register(c("/apps/photos/service-worker.js",{},{noRewrite:!0}))})},methods:{showSettings(){this.openedSettings=!0},selectFilter(t){this.selectedFilters[t.filterId].push(t.value)},deselectFilter(t){const e=this.selectedFilters[t.filterId].indexOf(t.value);e!==-1&&this.selectedFilters[t.filterId].splice(e,1)},t:a}};var ee=function(){var t=this,e=t._self._c;return e("NcContent",{attrs:{"app-name":"photos"}},[e("NcAppNavigation",{attrs:{"aria-label":t.t("photos","Photos")},scopedSlots:t._u([t.isTimelineView?{key:"search",fn:function(){return[e("PhotosFiltersInput",{attrs:{"selected-filters":t.selectedFilters},on:{"select-filter":t.selectFilter}}),e("PhotosFiltersDisplay",{attrs:{"selected-filters":t.selectedFilters},on:{"deselect-filter":t.deselectFilter}})]},proxy:!0}:null,{key:"list",fn:function(){return[e("NcAppNavigationItem",{staticClass:"app-navigation__all_media",attrs:{to:{name:"all_media"},name:t.t("photos","All media"),"data-id-app-nav-item":"all-media",exact:""},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("ImageIcon",{attrs:{size:20}}):e("ImageOutline",{attrs:{size:20}})]}}])}),e("NcAppNavigationItem",{attrs:{to:"/photos",name:t.t("photos","Photos"),"data-id-app-nav-item":"photos"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("Camera",{attrs:{size:20}}):e("CameraOutline",{attrs:{size:20}})]}}])}),e("NcAppNavigationItem",{attrs:{to:"/videos",name:t.t("photos","Videos"),"data-id-app-nav-item":"videos"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("VideoIcon",{attrs:{size:20}}):e("VideoOutline",{attrs:{size:20}})]}}])}),e("NcAppNavigationItem",{attrs:{to:{name:"albums"},name:t.t("photos","Albums"),"data-id-app-nav-item":"albums"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("ImageMultiple",{attrs:{size:20}}):e("ImageMultipleOutline",{attrs:{size:20}})]}}])}),e("NcAppNavigationItem",{attrs:{to:{name:"sharedAlbums"},name:t.t("photos","Collaborative albums"),"data-id-app-nav-item":"sharedalbums"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("AccountGroup",{attrs:{size:20}}):e("AccountGroupOutline",{attrs:{size:20}})]}}])}),t.showPeopleMenuEntry?e("NcAppNavigationItem",{attrs:{to:{name:"faces"},name:t.t("photos","People"),"data-id-app-nav-item":"faces"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("AccountBoxMultiple",{attrs:{size:20}}):e("AccountBoxMultipleOutline",{attrs:{size:20}})]}}],null,!1,3295904880)}):t._e(),e("NcAppNavigationItem",{attrs:{to:{name:"folders"},name:t.t("photos","Folders"),"data-id-app-nav-item":"folders"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("Folder",{attrs:{size:20}}):e("FolderOutline",{attrs:{size:20}})]}}])}),e("NcAppNavigationItem",{attrs:{to:"/favorites",name:t.t("photos","Favorites"),"data-id-app-nav-item":"favorites"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("Star",{attrs:{size:20}}):e("StarOutline",{attrs:{size:20}})]}}])}),e("NcAppNavigationItem",{attrs:{to:{name:"thisday"},name:t.t("photos","On this day"),"data-id-app-nav-item":"this-day"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("CalendarToday",{attrs:{size:20}}):e("CalendarTodayOutline",{attrs:{size:20}})]}}])}),e("NcAppNavigationItem",{attrs:{to:{name:"shared"},name:t.t("photos","Shared with you"),"data-id-app-nav-item":"shared"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("ShareVariant",{attrs:{size:20}}):e("ShareVariantOutline",{attrs:{size:20}})]}}])}),t.areTagsInstalled?e("NcAppNavigationItem",{attrs:{to:{name:"tags"},name:t.t("photos","Tags"),"data-id-app-nav-item":"tags"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("Tag",{attrs:{size:20}}):e("TagOutline",{attrs:{size:20}})]}}],null,!1,346180464)}):t._e(),e("NcAppNavigationItem",{attrs:{to:{name:"places"},name:t.t("photos","Places"),"data-id-app-nav-item":"places"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("MapMarker",{attrs:{size:20}}):e("MapMarkerOutline",{attrs:{size:20}})]}}])}),t.showLocationMenuEntry?e("NcAppNavigationItem",{attrs:{to:{name:"maps"},name:t.t("photos","Map"),"data-id-app-nav-item":"maps"},scopedSlots:t._u([{key:"icon",fn:function({active:o}){return[o?e("MapIcon",{attrs:{size:20}}):e("MapOutline",{attrs:{size:20}})]}}],null,!1,257739259)}):t._e()]},proxy:!0},{key:"footer",fn:function(){return[e("div",{staticClass:"app-navigation__footer"},[e("NcButton",{attrs:{type:"tertiary",alignment:"start",wide:""},on:{click:t.showSettings},scopedSlots:t._u([{key:"icon",fn:function(){return[e("CogOutline",{attrs:{size:20}})]},proxy:!0}])},[t._v(" "+t._s(t.t("photos","Photos settings"))+" ")])],1)]},proxy:!0}],null,!0)}),e("NcAppContent",[e("RouterView"),e("span",{staticClass:"hidden-visually",attrs:{role:"none"},domProps:{innerHTML:t._s(t.svgplaceholder)}}),e("span",{staticClass:"hidden-visually",attrs:{role:"none"},domProps:{innerHTML:t._s(t.imgplaceholder)}}),e("span",{staticClass:"hidden-visually",attrs:{role:"none"},domProps:{innerHTML:t._s(t.videoplaceholder)}})],1),e("SettingsDialog",{attrs:{open:t.openedSettings},on:{"update:open":function(o){t.openedSettings=o}}})],1)},oe=[],ae=p(te,ee,oe,!1,null,null);const se=ae.exports;E.sync(g,h),s.prototype.t=a,s.prototype.n=S,r("nc:metadata-photos-size"),r("nc:metadata-files-live-photo"),r("nc:metadata-blurhash"),r("nc:metadata-photos-original_date_time"),s.use(A),new s({el:"#content",name:"PhotosRoot",router:h,store:g,pinia:F(),render:t=>t(se)});
|
|
//# sourceMappingURL=photos-main.mjs.map
|