1import{r as v,c as a,o,h as u,b as n,a as t,d as g,s as S,v as F,w as b,l as c,n as O,F as k,j as w,_ as T,t as A,u as _,x as K}from"./index-CSmuiiTK.js";import{a as C,b as G,T as z}from"./access-utils-BOz1_xhL.js";const M={class:"client-access-container"},L={key:0,class:"loading-circle-container"},N={key:1,class:"provide-password-container"},V={class:"provide-password"},U={class:"input-container"},j={key:2,class:"client-access"},D={class:"white-box centered no-background"},H={key:0,class:"title-container"},B={class:"heading"},E={class:"title"},P={class:"date"},R=["src"],W={class:"galleries"},Z={class:"gallery"},$=["alt","src","onClick"],q=["onClick"],J={class:"gallery-data"},Q={class:"name"},X=["onClick"],Y={class:"downloads"},x=["onClick"],ee={class:"icon"},se={class:"name"},te={class:"description"},ne={key:0,class:"documents"},ie={class:"downloads"},le=["onClick"],ae={class:"icon"},oe={class:"name"},re={key:0,class:"title-container"},de={class:"heading"},ce={class:"title"},me=["src"],ue={key:1,class:"client-gallery"},ge={class:"counter"},he={class:"share-button"},pe={class:"gallery-container"};function ye(s,e,r,m,f,i){const h=v("tm-button"),d=v("font-awesome-icon"),p=v("tm-gallery");return o(),a("div",M,[s.isAuthenticating?(o(),a("div",L,e[4]||(e[4]=[t("div",{class:"loading-circle"},null,-1)]))):u("",!0),e[30]||(e[30]=n()),s.isAuthenticated?(o(),a("div",j,[t("div",D,[i.galleryOpen?u("",!0):(o(),a("div",H,[t("div",B,[t("div",E,c(s.title),1),e[10]||(e[10]=n()),t("div",P,c(s.date),1)]),e[11]||(e[11]=n()),t("img",{class:"title-image",alt:"Titelbild",src:s.titleImage},null,8,R)])),e[22]||(e[22]=n()),i.galleryOpen?u("",!0):(o(),a("div",{key:1,class:O(["client-data-container",{"full-width":!s.documents||!s.documents.any()}])},[t("div",W,[(o(!0),a(k,null,w(s.galleries,(l,I)=>(o(),a("div",Z,[t("img",{class:"preview-image",alt:`Vorschaufoto ${l.name}`,src:l.preview.file,onClick:y=>i.switchToGallery(l)},null,8,$),e[16]||(e[16]=n()),t("div",{class:"share-gallery",onClick:y=>i.shareGallery(l)},[g(d,{class:"icon",icon:["fas","share-nodes"]})],8,q),e[17]||(e[17]=n()),t("div",J,[t("div",Q,c(l.name),1),e[14]||(e[14]=n()),t("div",{class:"open-gallery",onClick:y=>i.switchToGallery(l)},"Fotos ansehen",8,X),e[15]||(e[15]=n()),t("div",Y,[l.downloads.any()?(o(!0),a(k,{key:0},w(l.downloads,y=>(o(),a("div",{class:"download",onClick:ve=>i.downloadS3File(y)},[t("div",ee,[g(d,{icon:["fas","download"]})]),e[12]||(e[12]=n()),t("div",se,c(y.name),1),e[13]||(e[13]=n()),t("div",te,c(y.description),1)],8,x))),256)):u("",!0)])])]))),256))]),e[21]||(e[21]=n()),!i.galleryOpen&&s.documents&&s.documents.any()?(o(),a("div",ne,[e[19]||(e[19]=t("h2",null,"Dokumente",-1)),e[20]||(e[20]=n()),t("div",ie,[(o(!0),a(k,null,w(s.documents,l=>(o(),a("div",{class:"download",onClick:I=>i.downloadS3File(l)},[t("div",ae,[g(d,{icon:["fas","download"]})]),e[18]||(e[18]=n()),t("div",oe,c(l.filename),1)],8,le))),256))])])):u("",!0)],2))]),e[28]||(e[28]=n()),i.galleryOpen?(o(),a("div",re,[t("div",de,[t("div",ce,c(s.openedGallery.name),1)]),e[23]||(e[23]=n()),t("img",{class:"title-image",alt:"Titelbild",src:s.openedGallery.preview.file},null,8,me)])):u("",!0),e[29]||(e[29]=n()),i.galleryOpen?(o(),a("div",ue,[g(h,{class:"back-to-overview",onClick:e[1]||(e[1]=l=>i.switchToOverview())},{default:b(()=>e[24]||(e[24]=[n(`\r 2 Zurück zur Ãbersicht\r 3 `)])),_:1}),e[26]||(e[26]=n()),s.markedImages.any()?(o(),a("div",{key:0,class:"share-marked-images",onClick:e[2]||(e[2]=(...l)=>i.shareMarkedImages&&i.shareMarkedImages(...l))},[t("div",ge,c(s.markedImages.length)+" Bild"+c(s.markedImages.length>1?"er":"")+` ausgewählt\r 4 `,1),e[25]||(e[25]=n()),t("div",he,[g(d,{icon:["fas","share-nodes"]})])])):u("",!0),e[27]||(e[27]=n()),t("div",pe,[g(p,{images:i.openGalleryImages,"marked-images":s.markedImages,"onUpdate:markedImages":e[3]||(e[3]=l=>s.markedImages=l),"allow-marking":""},null,8,["images","marked-images"])])])):u("",!0)])):(o(),a("div",N,[t("div",V,[e[7]||(e[7]=t("div",{class:"description"},[n(`\r 5 Hallo,`),t("br"),n(`\r 6 wie es aussieht willst du deine / eure Fotos ansehen oder\r 7 herunterladen.`),t("br"),n(),t("br"),n(`\r 8 Das kannst du nur, indem du hier deinen persönlichen Galer
8ie-Code\r 9 eingibst.`),t("br"),n(`\r 10 Diesen Code solltest du von mir per Mail bzw. eventuell zusätzlich noch\r 11 per Whatsapp bekommen haben.`),t("br"),n(`\r 12 Solltest du ihn nicht mehr finden können, dann kontaktiere mich gerne\r 13 unter\r 14 `),t("a",{class:"contact-link",href:"mailto:[email protected]"},"[email protected]"),n(`\r 15 oder\r 16 `),t("a",{class:"contact-link",href:"tel:+436707019797"},"+43 670 701 97 97")],-1)),e[8]||(e[8]=n()),t("label",U,[e[5]||(e[5]=n(`\r 17 Dein persönlicher Galerie-Code\r 18 `)),S(t("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=l=>s.password=l)},null,512),[[F,s.password]])]),e[9]||(e[9]=n()),g(h,{onClick:i.onAuthenticate},{default:b(()=>e[6]||(e[6]=[n(" Galerie öffnen ")])),_:1},8,["onClick"])])]))])}const fe={name:"tm-client-access",components:{tmGallery:A},mixins:[],emits:[],data:function(){return{s3Client:null,access:null,title:"",titleImage:null,date:"",galleryFiles:[],previewImages:[],documents:[],galleries:[],markedImages:[],password:"",isAuthenticating:!1,isAuthenticated:!1,openedGallery:null}},props:{},computed:{galleryOpen(){return this.openedGallery!=null},openGalleryImages(){const s=[];if(this.galleryOpen){const e=this.openedGallery.files;for(let r=0;r<e.length;r++){const m=e[r];s.push(m.image)}}return s}},watch:{},methods:{replaceNbsps(s){var e=new RegExp(" ","g");return s.replace(e," ")},async onAuthenticate(){try{this.isAuthenticating=!0;let s=this.password.trim().split(".");if(!s.length||s.length<2)throw"Ungültiger Gallerie-Code";const e=parseInt(s.shift()),r=this.replaceNbsps(s.join(".")),f=(await C.getClientAccess(e)).access_data;this.access=Object.decrypt(f,r),this.title=this.access.title,this.date=this.access.date;
18const i=await this.getS3Client(this.access);if(!String.isNullOrWhitespace(this.access.documents.folder)){const h=`${this.access.root}${this.access.documents.folder}`,d=await i.ListObjects(h);for(let p=0;p<d.length;p++){const l=d[p];l.Size<=0||this.documents.add({index:p,filename:l.Filename,key:l.Key,url:null,loaded:!1})}}for(const h of this.access.galleries){const d=await G.preloadGallery(this.getS3Client,this.access,h);this.titleImage=this.titleImage??d.titleImage,this.galleries.add(d.gallery)}this.isAuthenticated=!0}catch(s){console.error(s),console.log(`"${this.password}"`),alert(`Es gab einen unerwarteten Fehler beim Ãffnen deiner Gallerie. 19Versuche es bitte in 5 Minuten noch einmal. 20 21Sollte es dann immer noch nicht funktionieren, dann melde dich bitte bei mir via E-Mail oder Telefon.`)}this.isAuthenticating=!1},migrateAccess(s){if(s.gallery){const e=s.gallery;delete s.gallery,s.galleries=[],e.name="Galerie",e.rootFolder="",e.viewFolder=e.folder,delete e.folder,s.galleries.add(e)}return s},async getS3Client(s){return s&&this.s3Client===null&&(this.s3Client=new z(s.accessKey,s.secretKey,s.bucket)),K(this.s3Client)},switchToGallery(s){this.openedGallery=s},switchToOverview(){this.openedGallery=null},async downloadS3File(s){return await G.downloadS3File(this.getS3Client,s)},async createShareLink(s,e){const r=String.generateGuid(),m=[];for(const i of s)m.add({key:i.key,downloadKey:i.downloadKey,poi:i.poi,orientation:i.orientation,alt:i.alt,class:i.class});const f=Object.encrypt({accessKey:this.access.accessKey,secretKey:this.access.secretKey,bucket:this.access.bucket,root:this.access.root,images:m,galleries:e},r);return await C.createShareLink(r,f),`${window.location.origin}/share/${r}`},async shareGallery(s){const e=this.access.galleries.firstOrDefault(m=>m.name===s.name),r=await this.createShareLink([],[e]);navigator.share({url:r})},async shareMarkedImages(){const s=await this.createShareLink(this.markedImages);navigator.share({url:s})}},setup(){},beforeCreate(){},created(){},beforeMount(){_({title:"Traumomente - Kundengalerie",meta:[{name:"description",content:"Hey ich bin Martin, Hochzeitsfotograf aus Linz. Ich biete Hochzeitsreportagen, Paarshootings, Familienshootings und Portraitaufnahmen in ganz Ãsterreich."}]})},async mounted(){},beforeUpdate(){},updated(){},beforeUnmount(){},unmounted(){}},be=T(fe,[["render",ye]]);export{be as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.