r2-explorer 1.0.7 → 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/LICENSE +1 -1
- package/README.md +9 -4
- package/dashboard/assets/AuthLayout.297460d7.js +1 -0
- package/dashboard/assets/EmailFilePage.c4890c9c.css +1 -0
- package/dashboard/assets/EmailFilePage.f737d2d4.js +2 -0
- package/dashboard/assets/ErrorNotFound.be9ef3ac.js +1 -0
- package/dashboard/assets/KFOkCnqEu92Fr1MmgVxIIzQ.d240a9ae.woff +0 -0
- package/dashboard/assets/KFOlCnqEu92Fr1MmEU9fBBc-.6ba203eb.woff +0 -0
- package/dashboard/assets/KFOlCnqEu92Fr1MmSU5fBBc-.80684728.woff +0 -0
- package/dashboard/assets/KFOlCnqEu92Fr1MmWUlfBBc-.2df244f6.woff +0 -0
- package/dashboard/assets/KFOlCnqEu92Fr1MmYUtfBBc-.742ce02b.woff +0 -0
- package/dashboard/assets/KFOmCnqEu92Fr1Mu4mxM.f00fa16d.woff +0 -0
- 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.b6904cee.js +1 -0
- package/dashboard/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff +0 -0
- package/dashboard/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2 +0 -0
- package/dashboard/assets/index.b2fb13c9.js +104 -0
- package/dashboard/assets/index.c9ff738b.css +5 -0
- package/dashboard/favicon.ico +0 -0
- package/dashboard/icons/favicon-128x128.png +0 -0
- package/dashboard/icons/favicon-16x16.png +0 -0
- package/dashboard/icons/favicon-32x32.png +0 -0
- package/dashboard/icons/favicon-96x96.png +0 -0
- package/dashboard/icons/logo.png +0 -0
- package/dashboard/index.html +48 -0
- package/dashboard/logo-white.svg +5 -0
- package/dashboard/logo.png +0 -0
- package/dashboard/robots.txt +2 -0
- 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.d.mts +33 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +804 -1
- package/dist/index.mjs +773 -1
- package/package.json +66 -103
- package/dist/src/authentication/api/access.d.ts +0 -4
- package/dist/src/authentication/api/basic.d.ts +0 -3
- package/dist/src/buckets/api/createFolder.d.ts +0 -8
- package/dist/src/buckets/api/deleteObject.d.ts +0 -8
- package/dist/src/buckets/api/getObject.d.ts +0 -8
- package/dist/src/buckets/api/headObject.d.ts +0 -8
- package/dist/src/buckets/api/listBuckets.d.ts +0 -10
- package/dist/src/buckets/api/listObjects.d.ts +0 -8
- package/dist/src/buckets/api/moveObject.d.ts +0 -8
- package/dist/src/buckets/api/multipart/completeUpload.d.ts +0 -11
- package/dist/src/buckets/api/multipart/createUpload.d.ts +0 -8
- package/dist/src/buckets/api/multipart/partUpload.d.ts +0 -8
- package/dist/src/buckets/api/putMetadata.d.ts +0 -8
- package/dist/src/buckets/api/putObject.d.ts +0 -8
- package/dist/src/buckets/router.d.ts +0 -1
- package/dist/src/dashbord.d.ts +0 -2
- package/dist/src/dates.d.ts +0 -2
- package/dist/src/emails/receiveEmail.d.ts +0 -2
- package/dist/src/index.d.ts +0 -5
- package/dist/src/interfaces.d.ts +0 -22
- package/dist/src/server/api/getInfo.d.ts +0 -25
- package/dist/src/server/router.d.ts +0 -1
- package/dist/src/settings.d.ts +0 -5
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -35,13 +35,14 @@ Read this in other languages: [Español](READMEes.md), [Português](READMEpt.md)
|
|
|
35
35
|
- Upload/Rename/Download/Delete files
|
|
36
36
|
- Right click in file for extra options
|
|
37
37
|
- Multipart upload for big files
|
|
38
|
+
- File editing
|
|
38
39
|
|
|
39
40
|
## Getting Started
|
|
40
41
|
|
|
41
42
|
Run this command to get an example project setup
|
|
42
43
|
|
|
43
44
|
```bash
|
|
44
|
-
npm create r2-explorer
|
|
45
|
+
npm create cloudflare@latest r2-explorer -- --template "G4brym/R2-Explorer/template"
|
|
45
46
|
```
|
|
46
47
|
|
|
47
48
|
## Upgrading your installation
|
|
@@ -62,8 +63,12 @@ wrangler publish
|
|
|
62
63
|
- allow bucket names with spaces
|
|
63
64
|
- Search files
|
|
64
65
|
- Rename folders
|
|
65
|
-
-
|
|
66
|
-
-
|
|
66
|
+
- Image thumbnail's ?
|
|
67
|
+
- Object detection on images using workers-ai ?
|
|
67
68
|
- Tooltip when hovering a file with absolute time in "x days time ago" format
|
|
68
|
-
- bundle bootstrap icons instead of importing
|
|
69
69
|
- support for responding to emails
|
|
70
|
+
- More advanced file editing with more validations per file type
|
|
71
|
+
|
|
72
|
+
## Known issues
|
|
73
|
+
|
|
74
|
+
- Email inline images and assets don't load when using basic auth
|
|
@@ -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
|