@robmcelhinney/qr-file-share
Version:
Node.js http server allowing for file transfers over local area network made easier with QR code output on start.
2 lines • 8.41 kB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{49:function(e,t,a){e.exports=a.p+"static/media/icon-file.f6fb8bdb.svg"},50:function(e,t,a){e.exports=a.p+"static/media/icon-folder.3a0743ee.svg"},51:function(e,t,a){e.exports=a.p+"static/media/icon-archive.4acf9e9b.svg"},52:function(e,t,a){e.exports=a.p+"static/media/icon-refresh.22a99095.svg"},53:function(e,t,a){e.exports=a.p+"static/media/icon-upload.514aef2e.svg"},64:function(e,t,a){e.exports=a(99)},69:function(e,t,a){},71:function(e,t,a){},99:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),c=a(9),i=a.n(c),o=(a(69),a(71),a(45)),l=a(46),s=a(56),u=a(47),m=a(57),f=a(14),d=a.n(f),p=a(18),v=a(19),g=a(16),b=a(49),h=a.n(b),E=a(50),w=a.n(E),y=a(51),j=a.n(y),O=a(34),x=function(e){var t=e.file,a=e.isDir,n=e.getFiles,c=e.parentDir,i=e.currentDir,o=Object(g.c)(function(e){return e.relDir});return r.a.createElement("div",{className:"relative rounded overflow-hidden mt-2 border-solid border-2 border-gray-300"},r.a.createElement("div",{className:"px-6 py-4 flex"},function(){var e;return e=c?function(e){if(e.split("/").length-1>1){var t=Object(O.a)(e).reverse().join("");t=(t=t.substring(t.indexOf("/")+1)).substring(t.indexOf("/")+1),e=Object(O.a)(t).reverse().join("")}else e="";return e}(o+t):i?o:o+t,a?r.a.createElement(r.a.Fragment,null,!i&&r.a.createElement("img",{src:w.a,alt:"Folder",className:"h-5 w-5 md:h-6 md:w-6"}),r.a.createElement("span",{onClick:function(){return n(e)},className:"overflow-text text-gray-700 ml-2 font-semibold mr-10"+(i?"":" cursor-pointer")},t),r.a.createElement("a",{href:"/api/downloadDir?dir="+e,download:!0,className:"absolute right-0 text-gray-700 mr-4 md:mr-8"},r.a.createElement("img",{src:j.a,alt:"Archive",className:"h-5 w-5 md:h-6 md:w-6"}))):r.a.createElement(r.a.Fragment,null,r.a.createElement("img",{src:h.a,alt:"File",className:"h-5 w-5 md:h-6 md:w-6"}),r.a.createElement("a",{href:"/api/download?file="+e,download:!0,className:"text-gray-700 ml-2"},t))}()))},D=a(21),N=a.n(D),k=function(){var e=Object(p.a)(d.a.mark(function e(t){var a;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,N.a.get("/api/files?path="+t);case 2:return a=e.sent,e.abrupt("return",a.data);case 4:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),F=function(e){return null!==e&&void 0!==e&&e.length>0?e+"/":"/"},C="REFRESH_DIR",S="SET_REL_DIR";function R(e){return{type:C,payload:e}}var H=a(52),I=a.n(H),_=function(){var e=Object(n.useState)(""),t=Object(v.a)(e,2),a=t[0],c=t[1],i=Object(g.b)(),o=Object(g.c)(function(e){return e.files}),l=Object(g.c)(function(e){return e.relDir});function s(){return(s=Object(p.a)(d.a.mark(function e(){var t;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,N.a.get("/api/baseDir");case 2:t=e.sent,c(t.data);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}Object(n.useEffect)(function(){u("")},[]),Object(n.useEffect)(function(){!function(){s.apply(this,arguments)}()},[]);var u=function(){var e=Object(p.a)(d.a.mark(function e(t){var a;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i((n=F(t),{type:S,payload:n})),e.next=3,k(t);case 3:a=e.sent,i(R(a));case 5:case"end":return e.stop()}var n},e)}));return function(t){return e.apply(this,arguments)}}(),m=function(){var e=Object(p.a)(d.a.mark(function e(){var t;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k(l);case 2:t=e.sent,i(R(t));case 4:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),f=function(e){};return r.a.createElement("div",{id:"file-list",className:"mt-4 mb-10 md:mb-8 w-full relative max-w-m text-sm md:text-base mt-4"},r.a.createElement("span",{className:"flex"},r.a.createElement("span",{className:"text-gray-500 font-medium ml-8"},a.replace(/\\/g,"/")),r.a.createElement("img",{src:I.a,alt:"Folder",className:"absolute right-0 text-gray-700 mr-4 md:mr-8 h-5 w-5 md:h-6 md:w-6 cursor-pointer",onClick:m})),r.a.createElement(x,{file:l,isDir:!0,key:l,getFiles:f,parentDir:!1,currentDir:!0}),function(){if("/"!==l)return r.a.createElement(x,{file:"..",isDir:!0,key:"..",getFiles:u,parentDir:!0,currentDir:!1})}(),Object.keys(o).map(function(e){return r.a.createElement(x,{file:e,isDir:o[e],key:e,getFiles:u,parentDir:!1,currentDir:!1})}))},B=a(55),P=a(126),U=a(125),A=a(123),J=a(122),T=a(6),W=a(53),z=a.n(W);function L(e){return r.a.createElement(U.a,Object.assign({elevation:6,variant:"filled"},e))}var M=Object(J.a)(function(e){return{root:{width:"100%","& > * + *":{marginTop:e.spacing(2)}}}}),$=Object(T.a)({root:{height:"1em",borderRadius:"1em"}})(A.a),q=function(){var e=Object(n.useState)([]),t=Object(v.a)(e,2),a=t[0],c=t[1],i=Object(n.useState)(0),o=Object(v.a)(i,2),l=o[0],s=o[1],u=r.a.useState(!1),m=Object(v.a)(u,2),f=m[0],b=m[1],h=r.a.useState(!1),E=Object(v.a)(h,2),w=E[0],y=E[1],j=r.a.useState(!1),O=Object(v.a)(j,2),x=O[0],D=O[1],F=Object(g.b)(),C=Object(g.c)(function(e){return e.relDir}),S=function(){var e=Object(p.a)(d.a.mark(function e(){var t;return d.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k(C);case 2:t=e.sent,F(R(t));case 4:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),H=M(),I=function(e){var t=new FormData;t.append("rel_dir",C);for(var a=0;a<e.length;a++)t.append("file",e[a]);N.a.post("/api/upload",t,{onUploadProgress:function(e){b(!0);var t=Math.round(e.loaded/e.total*100);s(t)}}).then(function(e){S(),b(!1),D(!0)}).catch(function(e){console.error(e),b(!1),y(!0)})},_=function(){D(!1),y(!1),b(!1)};return r.a.createElement("div",null,r.a.createElement("section",{className:"container"},r.a.createElement(B.a,{onDrop:function(e){s(0),c(e),I(e)},className:"cursor-pointer"},function(e){var t=e.getRootProps,a=e.getInputProps;return r.a.createElement("div",t({className:"dropzone"}),r.a.createElement("input",a()),r.a.createElement("img",{src:z.a,alt:"Upload icon",className:"text-gray-700 mx-auto mb-1 h-6 w-6 md:h-8 md:w-8",onClick:S}),r.a.createElement("p",{className:"text-base text-gray-700 font-semibold"},"Upload Files to current directory"),r.a.createElement("p",{className:"text-sm text-gray-500 font-medium"},"Drag & drop files, or tap to select files"))}),function(){if(0!==a.length)return r.a.createElement("div",{className:"mt-4"},r.a.createElement("strong",null,"Files:"),r.a.createElement("ul",null,a.map(function(e){return r.a.createElement("li",{key:e.name},e.name)})))}()),r.a.createElement("hr",null),function(){if(0!==l)return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:"progessBar mt-4",style:{width:l}},l),r.a.createElement("div",{className:H.root+" h-8"},r.a.createElement($,{variant:"determinate",value:l,className:"h-8"})))}(),r.a.createElement(P.a,{open:f,autoHideDuration:5e3,onClose:_},r.a.createElement(L,{onClose:_,severity:"info"},"File",a.length>1?"s":""," uploading")),r.a.createElement(P.a,{open:x,autoHideDuration:5e3,onClose:_},r.a.createElement(L,{onClose:_,severity:"success"},"File",a.length>1?"s":""," successfully uploaded")),r.a.createElement(P.a,{open:w,autoHideDuration:5e3,onClose:_},r.a.createElement(L,{onClose:_,severity:"error"},"File",a.length>1?"s":""," failed to upload")))},G=function(e){function t(){return Object(o.a)(this,t),Object(s.a)(this,Object(u.a)(t).apply(this,arguments))}return Object(m.a)(t,e),Object(l.a)(t,[{key:"render",value:function(){return r.a.createElement("div",{className:"App bg-white rounded-lg p-6"},r.a.createElement("div",{id:"mainContent"},r.a.createElement(q,null),r.a.createElement(_,null)))}}]),t}(r.a.Component);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));var K=a(58),Q={files:{loading:""},relDir:"/"};var V=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Q,t=arguments.length>1?arguments[1]:void 0;return t.type===C?Object.assign({},e,{files:t.payload}):t.type===S?Object.assign({},e,{relDir:t.payload}):e},X=Object(K.a)(V);i.a.render(r.a.createElement(g.a,{store:X},r.a.createElement(G,null)),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(e){e.unregister()}).catch(function(e){console.error(e.message)})}},[[64,2,1]]]);
//# sourceMappingURL=main.804133de.chunk.js.map