1 line
No EOL
3 KiB
JavaScript
1 line
No EOL
3 KiB
JavaScript
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9638],{3875:(e,s,a)=>{Promise.resolve().then(a.bind(a,4229))},4229:(e,s,a)=>{"use strict";a.r(s),a.d(s,{default:()=>i});var r=a(5155),t=a(6874),n=a.n(t),l=a(2115),c=a(5695);function i(){let e=(0,c.useSearchParams)();(0,c.useRouter)();let s=(0,l.useMemo)(()=>e.get("path")||"/",[e]),[a,t]=(0,l.useState)(null),[i,d]=(0,l.useState)(null),[o,h]=(0,l.useState)(!0);(0,l.useEffect)(()=>{let e=!1;return async function(){h(!0),d(null);try{let a=await fetch("/api/files/list?path=".concat(encodeURIComponent(s)));if(!a.ok){e||d("HTTP ".concat(a.status));return}let r=await a.json();e||t(r.items||[])}catch(s){e||d((null==s?void 0:s.message)||String(s))}finally{e||h(!1)}}(),()=>{e=!0}},[s]);let p=(0,l.useMemo)(()=>{if("/"===s)return null;let e=s.replace(/\/+$/,"").split("/").filter(Boolean);return e.pop(),"/"+e.join("/")},[s]);return(0,r.jsxs)("div",{className:"p-6 text-sm",children:[(0,r.jsxs)("div",{className:"mb-3",children:[(0,r.jsx)("span",{className:"opacity-70 mr-1",children:"Path:"}),(0,r.jsx)("code",{children:s}),p&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"mx-2 opacity-50",children:"•"}),(0,r.jsx)(n(),{href:"/files?path=".concat(encodeURIComponent(p)),children:"Up one level"})]})]}),o&&(0,r.jsx)("div",{children:"Loading…"}),i&&(0,r.jsxs)("div",{className:"bg-red-900/60 text-red-200 p-3 rounded border border-red-800",children:["Error loading files: ",i]}),!o&&!i&&a&&(0,r.jsxs)("table",{className:"w-full text-left mt-3 border-collapse",children:[(0,r.jsx)("thead",{className:"opacity-70",children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{className:"py-2 pr-4",children:"Name"}),(0,r.jsx)("th",{className:"py-2 pr-4",children:"Type"}),(0,r.jsx)("th",{className:"py-2 pr-4",children:"Size"}),(0,r.jsx)("th",{className:"py-2 pr-4",children:"Modified"}),(0,r.jsx)("th",{className:"py-2 pr-4"})]})}),(0,r.jsx)("tbody",{children:a.map(e=>{let a=e.isDir?"/files?path=".concat(encodeURIComponent((s.endsWith("/")?s:s+"/")+e.name)):"/api/files/raw?path=".concat(encodeURIComponent((s.endsWith("/")?s:s+"/")+e.name)),t=e.isDir?null:"/api/files/download?path=".concat(encodeURIComponent((s.endsWith("/")?s:s+"/")+e.name));return(0,r.jsxs)("tr",{className:"border-t border-white/10",children:[(0,r.jsx)("td",{className:"py-2 pr-4",children:(0,r.jsx)(n(),{href:a,children:e.name})}),(0,r.jsx)("td",{className:"py-2 pr-4",children:e.isDir?"Dir":"File"}),(0,r.jsx)("td",{className:"py-2 pr-4",children:e.isDir?"-":"".concat(e.size.toLocaleString()," B")}),(0,r.jsx)("td",{className:"py-2 pr-4",children:new Date(e.mtime).toLocaleString()}),(0,r.jsx)("td",{className:"py-2 pr-4",children:!e.isDir&&t&&(0,r.jsx)("a",{href:t,className:"underline",children:"Download"})})]},e.name)})})]})]})}},5695:(e,s,a)=>{"use strict";var r=a(8999);a.o(r,"useParams")&&a.d(s,{useParams:function(){return r.useParams}}),a.o(r,"useRouter")&&a.d(s,{useRouter:function(){return r.useRouter}}),a.o(r,"useSearchParams")&&a.d(s,{useSearchParams:function(){return r.useSearchParams}})}},e=>{var s=s=>e(e.s=s);e.O(0,[6874,8441,1684,7358],()=>s(3875)),_N_E=e.O()}]); |