r2-explorer 1.1.0 → 1.1.1
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.297460d7.js +1 -0
- package/dashboard/assets/EmailFilePage.f737d2d4.js +2 -0
- package/dashboard/assets/{ErrorNotFound.a0d3ece6.js → ErrorNotFound.be9ef3ac.js} +1 -1
- package/dashboard/assets/LoginPage.fbddb0c0.js +1 -0
- package/dashboard/assets/auth-store.748ba7e9.js +1 -0
- package/dashboard/assets/auth.221c63c3.js +1 -0
- package/dashboard/assets/{bus.def2db9e.js → bus.b6904cee.js} +1 -1
- package/dashboard/assets/index.b2fb13c9.js +104 -0
- package/dashboard/assets/{index.073c3cc5.css → index.c9ff738b.css} +1 -1
- package/dashboard/index.html +48 -3
- package/dashboard/spa/assets/AuthLayout.297460d7.js +1 -0
- package/dashboard/spa/assets/EmailFilePage.c4890c9c.css +1 -0
- package/dashboard/spa/assets/EmailFilePage.f737d2d4.js +2 -0
- package/dashboard/spa/assets/ErrorNotFound.be9ef3ac.js +1 -0
- package/dashboard/spa/assets/KFOkCnqEu92Fr1MmgVxIIzQ.d240a9ae.woff +0 -0
- package/dashboard/spa/assets/KFOlCnqEu92Fr1MmEU9fBBc-.6ba203eb.woff +0 -0
- package/dashboard/spa/assets/KFOlCnqEu92Fr1MmSU5fBBc-.80684728.woff +0 -0
- package/dashboard/spa/assets/KFOlCnqEu92Fr1MmWUlfBBc-.2df244f6.woff +0 -0
- package/dashboard/spa/assets/KFOlCnqEu92Fr1MmYUtfBBc-.742ce02b.woff +0 -0
- package/dashboard/spa/assets/KFOmCnqEu92Fr1Mu4mxM.f00fa16d.woff +0 -0
- package/dashboard/spa/assets/LoginPage.fbddb0c0.js +1 -0
- package/dashboard/spa/assets/auth-store.748ba7e9.js +1 -0
- package/dashboard/spa/assets/auth.221c63c3.js +1 -0
- package/dashboard/spa/assets/bus.b6904cee.js +1 -0
- package/dashboard/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff +0 -0
- package/dashboard/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2 +0 -0
- package/dashboard/spa/assets/index.b2fb13c9.js +104 -0
- package/dashboard/spa/assets/index.c9ff738b.css +5 -0
- package/dashboard/spa/favicon.ico +0 -0
- package/dashboard/spa/icons/favicon-128x128.png +0 -0
- package/dashboard/spa/icons/favicon-16x16.png +0 -0
- package/dashboard/spa/icons/favicon-32x32.png +0 -0
- package/dashboard/spa/icons/favicon-96x96.png +0 -0
- package/dashboard/spa/icons/logo.png +0 -0
- package/dashboard/spa/index.html +48 -0
- package/dashboard/spa/logo-white.svg +5 -0
- package/dashboard/spa/logo.png +0 -0
- package/dashboard/spa/robots.txt +2 -0
- package/dist/index.js +5 -3
- package/dist/index.mjs +5 -3
- package/package.json +67 -66
- package/dashboard/assets/AuthLayout.828e1213.js +0 -1
- package/dashboard/assets/EmailFilePage.148b4f84.js +0 -2
- package/dashboard/assets/EmailFolderPage.0c5be156.js +0 -1
- package/dashboard/assets/EmailFolderPage.25044e0a.css +0 -1
- package/dashboard/assets/FilesFolderPage.7cadc3fd.js +0 -72
- package/dashboard/assets/FilesFolderPage.ecacd99f.css +0 -1
- package/dashboard/assets/HomePage.fd1efdb0.js +0 -1
- package/dashboard/assets/LoginPage.5e2746c3.js +0 -1
- package/dashboard/assets/MainLayout.05d49d78.css +0 -1
- package/dashboard/assets/MainLayout.54c624c6.js +0 -1
- package/dashboard/assets/QCard.9ca85696.js +0 -1
- package/dashboard/assets/QCardActions.3d6ece78.js +0 -1
- package/dashboard/assets/QForm.1a0fa8bd.js +0 -1
- package/dashboard/assets/QInput.dbc14c53.js +0 -1
- package/dashboard/assets/QLayout.7c9341c3.js +0 -1
- package/dashboard/assets/QPage.1736cadc.js +0 -1
- package/dashboard/assets/QSeparator.d0c0fb0f.js +0 -1
- package/dashboard/assets/QSpace.3225ba0f.js +0 -1
- package/dashboard/assets/QTable.3fe6867d.js +0 -1
- package/dashboard/assets/QTd.32b217d9.js +0 -1
- package/dashboard/assets/auth-store.10a6215e.js +0 -1
- package/dashboard/assets/auth.3fb1cfd3.js +0 -1
- package/dashboard/assets/axios.d3fa833b.js +0 -6
- package/dashboard/assets/focus-manager.1ddae684.js +0 -1
- package/dashboard/assets/index.31a4681e.js +0 -25
- package/dashboard/assets/main-store.ee636e78.js +0 -1
- package/dashboard/assets/scroll.6727d3ea.js +0 -1
- package/dashboard/assets/use-checkbox.687a19bf.js +0 -1
- package/dashboard/assets/use-dark.6e19ce43.js +0 -1
- package/dashboard/assets/use-quasar.0c0b766f.js +0 -1
- package/dashboard/assets/use-transition.19980487.js +0 -1
package/dashboard/index.html
CHANGED
|
@@ -1,3 +1,48 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang=en><head><title>R2-Explorer</title><meta charset=utf-8><meta name=description content=R2-Explorer><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><meta name=robots content=noindex><meta name=googlebot content=noindex><link rel=icon type=image/png sizes=128x128 href="/icons/favicon-128x128.png"><link rel=icon type=image/png sizes=96x96 href="/icons/favicon-96x96.png"><link rel=icon type=image/png sizes=32x32 href="/icons/favicon-32x32.png"><link rel=icon type=image/png sizes=16x16 href="/icons/favicon-16x16.png"><link rel=icon type=image/ico href="/favicon.ico"
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
<!DOCTYPE html><html lang=en><head><title>R2-Explorer</title><meta charset=utf-8><meta name=description content=R2-Explorer><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><meta name=robots content=noindex><meta name=googlebot content=noindex><link rel=icon type=image/png sizes=128x128 href="/icons/favicon-128x128.png"><link rel=icon type=image/png sizes=96x96 href="/icons/favicon-96x96.png"><link rel=icon type=image/png sizes=32x32 href="/icons/favicon-32x32.png"><link rel=icon type=image/png sizes=16x16 href="/icons/favicon-16x16.png"><link rel=icon type=image/ico href="/favicon.ico"><style>.initialLoading {
|
|
2
|
+
margin: 0;
|
|
3
|
+
padding: 0;
|
|
4
|
+
display: flex;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
align-items: center;
|
|
7
|
+
min-height: 100vh;
|
|
8
|
+
background-color: #f5f5f5;
|
|
9
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.initialLoading .loading-container {
|
|
13
|
+
text-align: center;
|
|
14
|
+
padding: 2rem;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.initialLoading .spinner {
|
|
18
|
+
width: 50px;
|
|
19
|
+
height: 50px;
|
|
20
|
+
border: 5px solid #f3f3f3;
|
|
21
|
+
border-top: 5px solid #3498db;
|
|
22
|
+
border-radius: 50%;
|
|
23
|
+
animation: initialLoadingSpin 1s linear infinite;
|
|
24
|
+
margin: 0 auto 1rem;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@keyframes initialLoadingSpin {
|
|
28
|
+
0% { transform: rotate(0deg); }
|
|
29
|
+
100% { transform: rotate(360deg); }
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.initialLoading .loading-text {
|
|
33
|
+
color: #333;
|
|
34
|
+
font-size: 1.2rem;
|
|
35
|
+
margin-bottom: 0.5rem;
|
|
36
|
+
}</style> <script type="module" crossorigin src="/assets/index.b2fb13c9.js"></script>
|
|
37
|
+
<link rel="stylesheet" href="/assets/index.c9ff738b.css">
|
|
38
|
+
</head><body><div id=q-app></div></body><script>window.addEventListener('load', () => {
|
|
39
|
+
var elem = document.getElementById('q-app')
|
|
40
|
+
elem.innerHTML = `
|
|
41
|
+
<div class="initialLoading">
|
|
42
|
+
<div class="loading-container" id="loadingContainer">
|
|
43
|
+
<div class="spinner"></div>
|
|
44
|
+
<p class="loading-text">Loading R2 Explorer</p>
|
|
45
|
+
<p style="color: #666; font-size: 0.9rem;">Please wait while the application initializes...</p>
|
|
46
|
+
</div>
|
|
47
|
+
</div>` + elem.innerHTML;
|
|
48
|
+
});</script></html>
|
|
@@ -0,0 +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.b2fb13c9.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
iframe[data-v-59368c26]{width:100%}.attachments[data-v-59368c26]{gap:10px}@media (max-width: 992px){.attachments[data-v-59368c26]{flex-direction:column}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as te,G as _e,H as Se,I as q,J as W,K as Te,L as $e,M as Pe,N as x,k as _,O as N,P as Be,R as Ce,S as qe,T as He,U as Ee,V as Me,W as Ae,X as z,Y as D,Z as U,$ as V,a0 as Fe,a1 as j,a2 as R,a3 as Oe,l as M,a4 as Ie,n as Le,a5 as Qe,m as ae,a6 as We,_ as xe,c as Ne,a7 as G,a8 as J,a9 as ze,aa as w,u as De,ab as Ue,o as u,ac as p,f as s,w as o,F as K,ad as Ve,x as $,E as P,z as b,ae as X,e as H,B as Y,y as d,A as v,t as Z,af as ee,ag as je,ah as Re}from"./index.b2fb13c9.js";var E=te({name:"QTooltip",inheritAttrs:!1,props:{..._e,...Se,...q,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...q.transitionShow,default:"jump-down"},transitionHide:{...q.transitionHide,default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:W},self:{type:String,default:"top middle",validator:W},offset:{type:Array,default:()=>[14,14],validator:Te},scrollTarget:$e,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...Pe],setup(e,{slots:t,emit:m,attrs:l}){let a,n;const r=Le(),{proxy:{$q:c}}=r,g=x(null),S=x(!1),se=_(()=>N(e.anchor,c.lang.rtl)),le=_(()=>N(e.self,c.lang.rtl)),ne=_(()=>e.persistent!==!0),{registerTick:oe,removeTick:ie}=Be(),{registerTimeout:T}=Ce(),{transitionProps:re,transitionStyle:de}=qe(e),{localScrollTarget:A,changeScrollEvent:ce,unconfigureScrollTarget:ue}=He(e,L),{anchorEl:f,canShow:fe,anchorEvents:k}=Ee({showing:S,configureAnchorEl:ye}),{show:me,hide:B}=Me({showing:S,canShow:fe,handleShow:pe,handleHide:ve,hideOnRouteChange:ne,processOnMount:!0});Object.assign(k,{delayShow:ge,delayHide:ke});const{showPortal:F,hidePortal:O,renderPortal:he}=Ae(r,g,be,"tooltip");if(c.platform.is.mobile===!0){const i={anchorEl:f,innerRef:g,onClickOutside(h){return B(h),h.target.classList.contains("q-dialog__backdrop")&&We(h),!0}},C=_(()=>e.modelValue===null&&e.persistent!==!0&&S.value===!0);z(C,h=>{(h===!0?Qe:U)(i)}),D(()=>{U(i)})}function pe(i){F(),oe(()=>{n=new MutationObserver(()=>y()),n.observe(g.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),y(),L()}),a===void 0&&(a=z(()=>c.screen.width+"|"+c.screen.height+"|"+e.self+"|"+e.anchor+"|"+c.lang.rtl,y)),T(()=>{F(!0),m("show",i)},e.transitionDuration)}function ve(i){ie(),O(),I(),T(()=>{O(!0),m("hide",i)},e.transitionDuration)}function I(){n!==void 0&&(n.disconnect(),n=void 0),a!==void 0&&(a(),a=void 0),ue(),V(k,"tooltipTemp")}function y(){Fe({targetEl:g.value,offset:e.offset,anchorEl:f.value,anchorOrigin:se.value,selfOrigin:le.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function ge(i){if(c.platform.is.mobile===!0){j(),document.body.classList.add("non-selectable");const C=f.value,h=["touchmove","touchcancel","touchend","click"].map(Q=>[C,Q,"delayHide","passiveCapture"]);R(k,"tooltipTemp",h)}T(()=>{me(i)},e.delay)}function ke(i){c.platform.is.mobile===!0&&(V(k,"tooltipTemp"),j(),setTimeout(()=>{document.body.classList.remove("non-selectable")},10)),T(()=>{B(i)},e.hideDelay)}function ye(){if(e.noParentEvent===!0||f.value===null)return;const i=c.platform.is.mobile===!0?[[f.value,"touchstart","delayShow","passive"]]:[[f.value,"mouseenter","delayShow","passive"],[f.value,"mouseleave","delayHide","passive"]];R(k,"anchor",i)}function L(){if(f.value!==null||e.scrollTarget!==void 0){A.value=Oe(f.value,e.scrollTarget);const i=e.noParentEvent===!0?y:B;ce(A.value,i)}}function we(){return S.value===!0?M("div",{...l,ref:g,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",l.class],style:[l.style,de.value],role:"tooltip"},ae(t.default)):null}function be(){return M(Ie,re.value,we)}return D(I),Object.assign(r.proxy,{updatePosition:y}),he}}),Ge=te({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 m=_(()=>{const l=["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${l.length!==0?" "+l:""}`+(e.spread===!0?" q-btn-group--spread":" inline")});return()=>M("div",{class:m.value},ae(t.default))}});const Je=Ne({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=G(this.selectedFile);return`.r2-explorer/emails/${this.selectedFolder}/${e}`}},watch:{selectedBucket(e){this.$router.push({name:"email-folder",params:{bucket:e,folder:J(this.selectedFolder)}})}},methods:{timeSince:ze,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=G(this.selectedFile),t=await w.downloadFile(this.selectedBucket,this.filePath,{}),m=e.split(".json")[0];this.file=t.data;let l=t.data.html;if(l){l=l.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}/${J(`.r2-explorer/emails/${this.selectedFolder}/${m}/${a.filename}`)}`;let n=a.contentId;if(n){n.startsWith("<")&&n.endsWith(">")&&(n=n.substring(1,n.length-1));const r=`cid:${n}`;l.includes(r)&&(l=l.replaceAll(`cid:${n}`,a.downloadUrl),a.display=!1)}}this.srcdoc=l}this.attachments=t.data.attachments.filter(a=>a.display),w.headFile(this.selectedBucket,this.filePath).then(async a=>{a.customMetadata.read==="false"?this.fileHead=await w.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 w.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 w.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:De(),q:Ue()}}}),Ke={key:0},Xe={class:"font-18 q-my-none"},Ye={class:"d-flex row"},Ze={class:"d-flex column"},et={class:"text-muted"},tt={class:"q-ml-auto"},at={class:""},st={class:"overflow-auto d-block email-wrapper"},lt=["srcdoc"],nt=["innerHTML"],ot={class:"row attachments"},it={key:1,class:"text-center q-my-lg"};function rt(e,t,m,l,a,n){return this.file?(u(),p("div",Ke,[s(K,null,{default:o(()=>[s($,{class:"bg-grey-2 text-black",vertical:""},{default:o(()=>[s(Ge,{unelevated:""},{default:o(()=>[s(P,{push:"",icon:"arrow_back",to:{name:"email-folder",params:{bucket:e.$route.params.bucket,folder:e.$route.params.folder}}},{default:o(()=>[s(E,null,{default:o(()=>t[1]||(t[1]=[b("Back")])),_:1})]),_:1},8,["to"]),e.fileHead?(u(),p(X,{key:0},[e.fileHead.customMetadata.read==="true"?(u(),H(P,{key:0,push:"",icon:"mark_email_unread",onClick:e.markAsUnread},{default:o(()=>[s(E,null,{default:o(()=>t[2]||(t[2]=[b("Mark email as unread")])),_:1})]),_:1},8,["onClick"])):(u(),H(P,{key:1,push:"",icon:"mark_email_read",onClick:e.markAsRead},{default:o(()=>[s(E,null,{default:o(()=>t[3]||(t[3]=[b("Mark email as read")])),_:1})]),_:1},8,["onClick"]))],64)):Y("",!0)]),_:1})]),_:1}),s($,{vertical:""},{default:o(()=>[d("h5",Xe,v(e.file.subject),1)]),_:1}),s($,{horizontal:"",class:"q-px-sm"},{default:o(()=>[d("div",Ye,[s(Z,{name:"account_circle",size:"xl",class:"q-mr-sm"}),d("div",Ze,[d("span",null,[b(v(e.file.from.name)+" ",1),d("small",et,"<"+v(e.file.from.address)+">",1)]),d("span",null,"to "+v(e.file.to[0].address),1)])]),d("div",tt,[d("small",at,v(e.file.date)+" ("+v(e.timeSince(new Date(e.file.date)))+")",1)])]),_:1}),s(ee,{vertical:""},{default:o(()=>[d("div",st,[e.srcdoc?(u(),p("iframe",{key:0,frameborder:"0",scrolling:"no",class:"w-100 d-block",onLoad:t[0]||(t[0]=(...r)=>e.contentFinishedLoading&&e.contentFinishedLoading(...r)),ref:"renderWindow",id:"renderWindow",srcdoc:e.srcdoc,sandbox:"allow-popups allow-popups-to-escape-sandbox allow-same-origin",csp:"script-src 'none'"},null,40,lt)):(u(),p("div",{key:1,innerHTML:e.file.text.replaceAll(`
|
|
2
|
+
`,"<br>")},null,8,nt))])]),_:1}),e.attachments.length>0?(u(),H(ee,{key:0,vertical:""},{default:o(()=>[s(je),t[4]||(t[4]=d("h6",{class:"q-my-md"},"Attachments",-1)),d("div",ot,[(u(!0),p(X,null,Re(e.file.attachments,r=>(u(),p("div",{class:"col-md-4 col-sm-12",key:r.filename},[s(K,null,{default:o(()=>[s($,{class:"q-pa-sm flex",style:{"align-items":"center"}},{default:o(()=>[s(Z,{name:"description",size:"md",color:"blue",class:"q-mr-sm"}),b(" "+v(r.filename)+" ",1),s(P,{color:"white","text-color":"black",icon:"download",class:"q-mr-0 q-ml-auto",onClick:c=>e.downloadAtt(r)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))])]),_:1})):Y("",!0)]),_:1})])):(u(),p("div",it,[s(Ve,{color:"primary",size:"3em"})]))}var ct=xe(Je,[["render",rt],["__scopeId","data-v-59368c26"]]);export{ct as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as o,c as s,o as r,ac as n,y as t,f as a,E as l}from"./index.b2fb13c9.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};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h,i as w,j as y,k as u,l as r,m,n as k,p as q,q as C,s as S,t as V,_ as x,c as Q,o as p,e as v,w as t,v as B,f as o,x as f,y as g,z as E,A as I,B as _,C as $,D as b,E as A,F as D}from"./index.b2fb13c9.js";import{u as P}from"./auth-store.748ba7e9.js";var N=h({name:"QBanner",props:{...w,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:a}){const{proxy:{$q:s}}=k(),d=y(e,s),l=u(()=>"q-banner row items-center"+(e.dense===!0?" q-banner--dense":"")+(d.value===!0?" q-banner--dark q-dark":"")+(e.rounded===!0?" rounded-borders":"")),i=u(()=>`q-banner__actions row items-center justify-end col-${e.inlineActions===!0?"auto":"all"}`);return()=>{const n=[r("div",{class:"q-banner__avatar col-auto row items-center self-start"},m(a.avatar)),r("div",{class:"q-banner__content col text-body2"},m(a.default))],c=m(a.action);return c!==void 0&&n.push(r("div",{class:i.value},c)),r("div",{class:l.value+(e.inlineActions===!1&&c!==void 0?" q-banner--top-padding":""),role:"alert"},n)}}}),U=h({name:"QToggle",props:{...q,icon:String,iconColor:String},emits:C,setup(e){function a(s,d){const l=u(()=>(s.value===!0?e.checkedIcon:d.value===!0?e.indeterminateIcon:e.uncheckedIcon)||e.icon),i=u(()=>s.value===!0?e.iconColor:null);return()=>[r("div",{class:"q-toggle__track"}),r("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},l.value!==void 0?[r(V,{name:l.value,color:i.value})]:void 0)]}return S("toggle",a)}});const z=P(),j=Q({name:"login-page",components:{},data(){return{loading:!1,showError:"",form:{username:"",password:"",remind:!0}}},methods:{async onSubmit(){this.loading=!0;try{await z.LogIn(this.$router,this.form),this.showError=""}catch(e){throw this.showError=e.message,e}finally{this.loading=!1}}}});function F(e,a,s,d,l,i){return p(),v(B,{class:"flex flex-center"},{default:t(()=>[o(D,{class:"q-pa-md shadow-2",bordered:""},{default:t(()=>[o(f,{class:"text-center"},{default:t(()=>a[3]||(a[3]=[g("div",{class:"text-grey-9 text-h5 text-weight-bold"},"Sign in",-1),g("div",{class:"text-grey-8"},"Enter your email address and password to access admin panel.",-1)])),_:1}),e.showError?(p(),v(f,{key:0},{default:t(()=>[o(N,{"inline-actions":"",class:"text-white bg-red"},{default:t(()=>[E(I(e.showError),1)]),_:1})]),_:1})):_("",!0),o(f,null,{default:t(()=>[o($,{onSubmit:e.onSubmit,class:"q-gutter-sm"},{default:t(()=>[o(b,{filled:"",modelValue:e.form.username,"onUpdate:modelValue":a[0]||(a[0]=n=>e.form.username=n),label:"Username","lazy-rules":"",type:"text"},null,8,["modelValue"]),o(b,{filled:"",modelValue:e.form.password,"onUpdate:modelValue":a[1]||(a[1]=n=>e.form.password=n),label:"Password","lazy-rules":"",type:"password"},null,8,["modelValue"]),o(U,{modelValue:e.form.remind,"onUpdate:modelValue":a[2]||(a[2]=n=>e.form.remind=n),label:"Remember me"},null,8,["modelValue"]),g("div",null,[o(A,{loading:e.loading,label:"Sign in",type:"submit",color:"primary"},null,8,["loading"])])]),_:1},8,["onSubmit"])]),_:1})]),_:1})]),_:1})}var R=x(j,[["render",F]]);export{R as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as c,u as i,a as s}from"./index.b2fb13c9.js";const o="r2_explorer_session_token",h=c("auth",{state:()=>({user:"",loginMethod:""}),getters:{isAuthenticated:e=>!!e.user,StateUser:e=>e.user},actions:{async LogIn(e,t){var n;const r=i(),a=btoa(`${t.username}:${t.password}`);s.defaults.headers.common.Authorization=`Basic ${a}`;try{await r.loadServerConfigs(e)}catch(l){throw console.log(l),delete s.defaults.headers.common.Authorization,new Error("Invalid username or password")}s.defaults.headers.common.Authorization=`Basic ${a}`,this.loginMethod="basic",this.user=t.email,t.remind===!0?localStorage.setItem(o,a):sessionStorage.setItem(o,a),e.replace(((n=e.currentRoute.value.query)==null?void 0:n.next)||"/")},async CheckLoginInStorage(e){let t=sessionStorage.getItem(o);if(t||(t=localStorage.getItem(o)),!t)return!1;const r=i();s.defaults.headers.common.Authorization=`Basic ${t}`;try{await r.loadServerConfigs(e)}catch{delete s.defaults.headers.common.Authorization,await e.replace({name:"login",query:{next:e.currentRoute.fullPath}});return}this.user=atob(t).split(":")[0],this.loginMethod="basic"},async LogOut(e){localStorage.removeItem(o),sessionStorage.removeItem(o),this.user="",this.loginMethod="",await e.replace({name:"login"})}}});export{h as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o,u as e}from"./index.b2fb13c9.js";import{u as r}from"./auth-store.748ba7e9.js";var h=o(async({router:a,store:t})=>{await r(t).CheckLoginInStorage(a)===!1&&await e(t).loadServerConfigs(a,!0)});export{h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as c}from"./index.b2fb13c9.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};
|
|
Binary file
|