r2-explorer 1.1.12 → 1.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/assets/{AuthLayout.a658d9a1.js → AuthLayout.955e36f5.js} +1 -1
- package/dashboard/{spa/assets/EmailFilePage.a119cdf2.js → assets/EmailFilePage.3130c06a.js} +1 -1
- package/dashboard/{spa/assets/ErrorNotFound.eee74d45.js → assets/ErrorNotFound.7dd9edf0.js} +1 -1
- package/dashboard/{spa/assets/LoginPage.43f67aea.js → assets/LoginPage.a8b8d033.js} +1 -1
- package/dashboard/assets/{auth-store.b5edde02.js → auth-store.5386d3cd.js} +1 -1
- package/dashboard/assets/{auth.d68e1e7f.js → auth.39e2dc05.js} +1 -1
- package/dashboard/assets/{bus.ccf0fe02.js → bus.390b8ae9.js} +1 -1
- package/dashboard/assets/{index.ad530e3e.js → index.4cc7f192.js} +32 -32
- package/dashboard/index.html +1 -1
- package/dashboard/spa/assets/{AuthLayout.a658d9a1.js → AuthLayout.955e36f5.js} +1 -1
- package/dashboard/{assets/EmailFilePage.a119cdf2.js → spa/assets/EmailFilePage.3130c06a.js} +1 -1
- package/dashboard/{assets/ErrorNotFound.eee74d45.js → spa/assets/ErrorNotFound.7dd9edf0.js} +1 -1
- package/dashboard/{assets/LoginPage.43f67aea.js → spa/assets/LoginPage.a8b8d033.js} +1 -1
- package/dashboard/spa/assets/{auth-store.b5edde02.js → auth-store.5386d3cd.js} +1 -1
- package/dashboard/spa/assets/{auth.d68e1e7f.js → auth.39e2dc05.js} +1 -1
- package/dashboard/spa/assets/{bus.ccf0fe02.js → bus.390b8ae9.js} +1 -1
- package/dashboard/spa/assets/{index.ad530e3e.js → index.4cc7f192.js} +32 -32
- package/dashboard/spa/index.html +1 -1
- package/dist/index.d.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +7 -4
- package/dist/index.mjs +7 -4
- package/package.json +1 -1
package/dashboard/index.html
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
color: #333;
|
|
34
34
|
font-size: 1.2rem;
|
|
35
35
|
margin-bottom: 0.5rem;
|
|
36
|
-
}</style> <script type="module" crossorigin src="/assets/index.
|
|
36
|
+
}</style> <script type="module" crossorigin src="/assets/index.4cc7f192.js"></script>
|
|
37
37
|
<link rel="stylesheet" href="/assets/index.4aacbd79.css">
|
|
38
38
|
</head><body><div id=q-app></div></body><script>var elem = document.getElementById('q-app')
|
|
39
39
|
elem.innerHTML = `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a,c as n,r,o as s,e as c,w as e,Q as _,f as o,g as p}from"./index.
|
|
1
|
+
import{_ as a,c as n,r,o as s,e as c,w as e,Q as _,f as o,g as p}from"./index.4cc7f192.js";const u=n({name:"AuthLayout",components:{}});function f(i,d,l,m,h,v){const t=r("router-view");return s(),c(_,{view:"hHh lpR fFf"},{default:e(()=>[o(p,{class:"container"},{default:e(()=>[o(t)]),_:1})]),_:1})}var x=a(u,[["render",f]]);export{x as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as F,k as C,l as H,m as I,_ as M,c as A,D as _,E as w,F as E,G as m,u as Q,H as S,o as i,I as c,f as s,w as l,C as y,J as P,q as p,B as k,K as g,t as f,L as $,e as v,x as B,s as o,v as u,M as b,N as q,O as L,P as W}from"./index.
|
|
1
|
+
import{h as F,k as C,l as H,m as I,_ as M,c as A,D as _,E as w,F as E,G as m,u as Q,H as S,o as i,I as c,f as s,w as l,C as y,J as P,q as p,B as k,K as g,t as f,L as $,e as v,x as B,s as o,v as u,M as b,N as q,O as L,P as W}from"./index.4cc7f192.js";var z=F({name:"QBtnGroup",props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){const h=C(()=>{const n=["unelevated","outline","flat","rounded","square","push","stretch","glossy"].filter(a=>e[a]===!0).map(a=>`q-btn-group--${a}`).join(" ");return`q-btn-group row no-wrap${n.length!==0?" "+n:""}`+(e.spread===!0?" q-btn-group--spread":" inline")});return()=>H("div",{class:h.value},I(t.default))}});const N=A({name:"EmailFolderPage",data:()=>({srcdoc:null,file:null,fileHead:null,timeInterval:null,attachments:[]}),computed:{selectedBucket:function(){return this.$route.params.bucket},selectedFolder:function(){return this.$route.params.folder},selectedFile:function(){return this.$route.params.file},filePath:function(){const e=_(this.selectedFile);return`.r2-explorer/emails/${this.selectedFolder}/${e}`}},watch:{selectedBucket(e){this.$router.push({name:"email-folder",params:{bucket:e,folder:w(this.selectedFolder)}})}},methods:{timeSince:E,contentFinishedLoading(){clearInterval(this.timeInterval),this.timeInterval=null,this.resizeIframe()},resizeIframe(){this.$refs.renderWindow&&(this.$refs.renderWindow.style.height=`${this.$refs.renderWindow.contentWindow.document.documentElement.scrollHeight}px`)},fetchEmail:async function(){const e=_(this.selectedFile),t=await m.downloadFile(this.selectedBucket,this.filePath,{}),h=e.split(".json")[0];this.file=t.data;let n=t.data.html;if(n){n=n.replaceAll(/<a(.*?)>(.*?)<\/a>/gi,'<a$1 target="_blank">$2</a>');for(const a of t.data.attachments){a.display=!0,a.downloadUrl=`${this.mainStore.serverUrl}/api/buckets/${this.selectedBucket}/${w(`.r2-explorer/emails/${this.selectedFolder}/${h}/${a.filename}`)}`;let r=a.contentId;if(r){r.startsWith("<")&&r.endsWith(">")&&(r=r.substring(1,r.length-1));const d=`cid:${r}`;n.includes(d)&&(n=n.replaceAll(`cid:${r}`,a.downloadUrl),a.display=!1)}}this.srcdoc=n}this.attachments=t.data.attachments.filter(a=>a.display),m.headFile(this.selectedBucket,this.filePath).then(async a=>{a.customMetadata.read==="false"?this.fileHead=await m.updateMetadata(this.selectedBucket,this.filePath,{...a.customMetadata,read:!0}):this.fileHead=a}),setTimeout(()=>{this.contentFinishedLoading()},1e4),this.timeInterval=setInterval(()=>{this.resizeIframe()},400)},markAsUnread:async function(){this.fileHead=await m.updateMetadata(this.selectedBucket,this.filePath,{...this.fileHead.customMetadata,read:!1}),this.q.notify({group:!1,icon:"done",spinner:!1,message:"Email marked as unread!",timeout:2500})},markAsRead:async function(){this.fileHead=await m.updateMetadata(this.selectedBucket,this.filePath,{...this.fileHead.customMetadata,read:!0}),this.q.notify({group:!1,icon:"done",spinner:!1,message:"Email marked as read!",timeout:2500})},downloadAtt:e=>{console.log(e);const t=document.createElement("a");t.download=e.filename,t.href=e.downloadUrl,document.body.appendChild(t),t.click(),document.body.removeChild(t)}},created(){this.fetchEmail()},setup(){return{mainStore:Q(),q:S()}}}),U={key:0},T={class:"font-18 q-my-none"},D={class:"d-flex row"},V={class:"d-flex column"},G={class:"text-muted"},R={class:"q-ml-auto"},j={class:""},x={class:"overflow-auto d-block email-wrapper"},J=["srcdoc"],K=["innerHTML"],O={class:"row attachments"},X={key:1,class:"text-center q-my-lg"};function Y(e,t,h,n,a,r){return this.file?(i(),c("div",U,[s(y,null,{default:l(()=>[s(p,{class:"bg-grey-2 text-black",vertical:""},{default:l(()=>[s(z,{unelevated:""},{default:l(()=>[s(k,{push:"",icon:"arrow_back",to:{name:"email-folder",params:{bucket:e.$route.params.bucket,folder:e.$route.params.folder}}},{default:l(()=>[s(g,null,{default:l(()=>t[1]||(t[1]=[f("Back")])),_:1})]),_:1},8,["to"]),e.fileHead?(i(),c($,{key:0},[e.fileHead.customMetadata.read==="true"?(i(),v(k,{key:0,push:"",icon:"mark_email_unread",onClick:e.markAsUnread},{default:l(()=>[s(g,null,{default:l(()=>t[2]||(t[2]=[f("Mark email as unread")])),_:1})]),_:1},8,["onClick"])):(i(),v(k,{key:1,push:"",icon:"mark_email_read",onClick:e.markAsRead},{default:l(()=>[s(g,null,{default:l(()=>t[3]||(t[3]=[f("Mark email as read")])),_:1})]),_:1},8,["onClick"]))],64)):B("",!0)]),_:1})]),_:1}),s(p,{vertical:""},{default:l(()=>[o("h5",T,u(e.file.subject),1)]),_:1}),s(p,{horizontal:"",class:"q-px-sm"},{default:l(()=>[o("div",D,[s(b,{name:"account_circle",size:"xl",class:"q-mr-sm"}),o("div",V,[o("span",null,[f(u(e.file.from.name)+" ",1),o("small",G,"<"+u(e.file.from.address)+">",1)]),o("span",null,"to "+u(e.file.to[0].address),1)])]),o("div",R,[o("small",j,u(e.file.date)+" ("+u(e.timeSince(new Date(e.file.date)))+")",1)])]),_:1}),s(q,{vertical:""},{default:l(()=>[o("div",x,[e.srcdoc?(i(),c("iframe",{key:0,frameborder:"0",scrolling:"no",class:"w-100 d-block",onLoad:t[0]||(t[0]=(...d)=>e.contentFinishedLoading&&e.contentFinishedLoading(...d)),ref:"renderWindow",id:"renderWindow",srcdoc:e.srcdoc,sandbox:"allow-popups allow-popups-to-escape-sandbox allow-same-origin",csp:"script-src 'none'"},null,40,J)):(i(),c("div",{key:1,innerHTML:e.file.text.replaceAll(`
|
|
2
2
|
`,"<br>")},null,8,K))])]),_:1}),e.attachments.length>0?(i(),v(q,{key:0,vertical:""},{default:l(()=>[s(L),t[4]||(t[4]=o("h6",{class:"q-my-md"},"Attachments",-1)),o("div",O,[(i(!0),c($,null,W(e.file.attachments,d=>(i(),c("div",{class:"col-md-4 col-sm-12",key:d.filename},[s(y,null,{default:l(()=>[s(p,{class:"q-pa-sm flex",style:{"align-items":"center"}},{default:l(()=>[s(b,{name:"description",size:"md",color:"blue",class:"q-mr-sm"}),f(" "+u(d.filename)+" ",1),s(k,{color:"white","text-color":"black",icon:"download",class:"q-mr-0 q-ml-auto",onClick:Z=>e.downloadAtt(d)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))])]),_:1})):B("",!0)]),_:1})])):(i(),c("div",X,[s(P,{color:"primary",size:"3em"})]))}var te=M(N,[["render",Y],["__scopeId","data-v-59368c26"]]);export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as o,c as s,o as r,I as n,s as t,f as a,B as l}from"./index.
|
|
1
|
+
import{_ as o,c as s,o as r,I as n,s as t,f as a,B as l}from"./index.4cc7f192.js";const c=s({name:"ErrorNotFound"}),d={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"};function i(p,e,f,u,x,m){return r(),n("div",d,[t("div",null,[e[0]||(e[0]=t("div",{style:{"font-size":"30vh"}}," 404 ",-1)),e[1]||(e[1]=t("div",{class:"text-h2",style:{opacity:".4"}}," Oops. Nothing here... ",-1)),a(l,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:"Go Home","no-caps":""})])])}var _=o(c,[["render",i]]);export{_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h,i as y,j as v,k as p,l as n,m as l,n as V,_ as q,c as S,o as g,e as b,w as o,p as B,f as r,q as d,s as i,t as k,v as C,x as Q,y as x,z as w,A as $,B as E,C as A}from"./index.
|
|
1
|
+
import{h,i as y,j as v,k as p,l as n,m as l,n as V,_ as q,c as S,o as g,e as b,w as o,p as B,f as r,q as d,s as i,t as k,v as C,x as Q,y as x,z as w,A as $,B as E,C as A}from"./index.4cc7f192.js";import{u as D}from"./auth-store.5386d3cd.js";var N=h({name:"QBanner",props:{...y,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:a}){const{proxy:{$q:u}}=V(),m=v(e,u),c=p(()=>"q-banner row items-center"+(e.dense===!0?" q-banner--dense":"")+(m.value===!0?" q-banner--dark q-dark":"")+(e.rounded===!0?" rounded-borders":"")),f=p(()=>`q-banner__actions row items-center justify-end col-${e.inlineActions===!0?"auto":"all"}`);return()=>{const s=[n("div",{class:"q-banner__avatar col-auto row items-center self-start"},l(a.avatar)),n("div",{class:"q-banner__content col text-body2"},l(a.default))],t=l(a.action);return t!==void 0&&s.push(n("div",{class:f.value},t)),n("div",{class:c.value+(e.inlineActions===!1&&t!==void 0?" q-banner--top-padding":""),role:"alert"},s)}}});const P=D(),U=S({name:"login-page",components:{},data(){return{loading:!1,showError:"",form:{username:"",password:"",remind:!0}}},methods:{async onSubmit(){this.loading=!0;try{await P.LogIn(this.$router,this.form),this.showError=""}catch(e){throw this.showError=e.message,e}finally{this.loading=!1}}}});function _(e,a,u,m,c,f){return g(),b(B,{class:"flex flex-center"},{default:o(()=>[r(A,{class:"q-pa-md shadow-2",bordered:""},{default:o(()=>[r(d,{class:"text-center"},{default:o(()=>a[3]||(a[3]=[i("div",{class:"text-grey-9 text-h5 text-weight-bold"},"Sign in",-1),i("div",{class:"text-grey-8"},"Enter your email address and password to access admin panel.",-1)])),_:1}),e.showError?(g(),b(d,{key:0},{default:o(()=>[r(N,{"inline-actions":"",class:"text-white bg-red"},{default:o(()=>[k(C(e.showError),1)]),_:1})]),_:1})):Q("",!0),r(d,null,{default:o(()=>[r(x,{onSubmit:e.onSubmit,class:"q-gutter-sm"},{default:o(()=>[r(w,{filled:"",modelValue:e.form.username,"onUpdate:modelValue":a[0]||(a[0]=s=>e.form.username=s),label:"Username","lazy-rules":"",type:"text"},null,8,["modelValue"]),r(w,{filled:"",modelValue:e.form.password,"onUpdate:modelValue":a[1]||(a[1]=s=>e.form.password=s),label:"Password","lazy-rules":"",type:"password"},null,8,["modelValue"]),r($,{modelValue:e.form.remind,"onUpdate:modelValue":a[2]||(a[2]=s=>e.form.remind=s),label:"Remember me"},null,8,["modelValue"]),i("div",null,[r(E,{loading:e.loading,label:"Sign in",type:"submit",color:"primary"},null,8,["loading"])])]),_:1},8,["onSubmit"])]),_:1})]),_:1})]),_:1})}var j=q(U,[["render",_]]);export{j as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as l,u as i,a as r}from"./index.
|
|
1
|
+
import{d as l,u as i,a as r}from"./index.4cc7f192.js";const a="r2_explorer_session_token",c=l("auth",{state:()=>({}),getters:{isAuthenticated:e=>!!e.user,StateUser:e=>e.user},actions:{async LogIn(e,s){const o=i(),t=btoa(`${s.username}:${s.password}`);r.defaults.headers.common.Authorization=`Basic ${t}`;try{await o.loadServerConfigs(e,this.q)}catch(n){throw console.log(n),delete r.defaults.headers.common.Authorization,new Error("Invalid username or password")}r.defaults.headers.common.Authorization=`Basic ${t}`,s.remind===!0?localStorage.setItem(a,t):sessionStorage.setItem(a,t)},async CheckLoginInStorage(e,s){let o=sessionStorage.getItem(a),t=!1;if(o||(o=localStorage.getItem(a)),!o)return!1;const n=i();return r.defaults.headers.common.Authorization=`Basic ${o}`,t=await n.loadServerConfigs(e,s,!0),t||delete r.defaults.headers.common.Authorization,!1},async LogOut(e){localStorage.removeItem(a),sessionStorage.removeItem(a),await e.replace({name:"login"})}}});export{c as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,u as r}from"./index.
|
|
1
|
+
import{b as e,u as r}from"./index.4cc7f192.js";import{u as s}from"./auth-store.5386d3cd.js";var c=e(async({app:o,router:t,store:a})=>{await s(a).CheckLoginInStorage(t,o.config.globalProperties.$q)===!1&&await r(a).loadServerConfigs(t,o.config.globalProperties.$q,!0)});export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as c}from"./index.
|
|
1
|
+
import{b as c}from"./index.4cc7f192.js";class n{constructor(){this.__stack={}}on(t,s,i){return(this.__stack[t]||(this.__stack[t]=[])).push({fn:s,ctx:i}),this}once(t,s,i){const o=(...e)=>{this.off(t,o),s.apply(i,e)};return o.__callback=s,this.on(t,o,i)}emit(t){const s=this.__stack[t];if(s!==void 0){const i=[].slice.call(arguments,1);s.forEach(o=>{o.fn.apply(o.ctx,i)})}return this}off(t,s){const i=this.__stack[t];if(i===void 0)return this;if(s===void 0)return delete this.__stack[t],this;const o=i.filter(e=>e.fn!==s&&e.fn.__callback!==s);return o.length!==0?this.__stack[t]=o:delete this.__stack[t],this}}var h=c(({app:r})=>{const t=new n;r.config.globalProperties.$bus=t,r.provide("bus",t)});export{h as default};
|