import{getCookie as e,getFileExtension as t,getFileName as a,countOccurrences as s,showDialog as i,closeDialog as n,startLoading as l,stopLoading as c,strip as d,jCloudUIElements as r,addQueryParam as o,getDirName as u,removeQueryParam as f}from"../tools/main.min.js";import{loadPageTexts as m,getPageText as p}from"../i18n/main.min.js";import{more_options_menu_hide as h}from"../nav/menus/moreoptions/main.min.js";import{getUiLabels as w}from"../i18n/main.min.js";import{selectOption as y,getOptionElement as b}from"../elements/dropdown/main.min.js";const L=function(){document.querySelector("#files").setAttribute("class","hidden")},S=async function(t,a,s){if(a=d(a,"/"),await r.confirm(await p("/files","f51e3b4a08b7403884ec5d76f0eff3ae",0)+'
'+a+"
",!1,!0,await p("/files","0a6eb285a2494ac3abe03d39fa765f01",0))){const a=new URLSearchParams;a.append("id",t),await fetch(`https://jcloud-services.ddns.net:1024/file/${e("User")}`,{method:"DELETE",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a.toString(),credentials:"include"}).then(async e=>{200===e.status&&await I("",s,!0)}).catch(e=>{alert(e)})}},v=async function(s,u){let m=!0;if(u||(m=!1,l(),await fetch(`https://jcloud-services.ddns.net:1024/file/${e("User")}?id=${s}&type=attributes`,{credentials:"include"}).then(async e=>{200===e.status&&(u=await e.json(),m=!0)}),c()),m){const e={size:await p("/files","b2b5e3dbf2554d509bc9ab0947318dee",0),id:await p("/files","7c6479cb16514bb6b12b79991689bc25",0),lm:await p("/files","7a3731d7e7bf4581aed853737bff17ed",0)};document.querySelector("#files-item-properties-name").textContent=d(a(u.path),"/");const s=Object.keys(e),l=document.querySelector("#files-item-properties-table");l.innerHTML="";let c=document.createElement("tr"),m=document.createElement("td"),h=document.createElement("td");c.classList.add("files-item-properties-table-row"),m.textContent=await p("/files","11b4e9562f4e4c8a91e67f095e7faf50",0);let y="."+t(u.path);document.querySelector("#files-item-properties-summary-type").textContent="",y in MIME_TYPES&&"/"!=u.path[u.path.length-1]?h.textContent=(await w()).FILE_TYPES[MIME_TYPES[y]]:"/"!=u.path[u.path.length-1]?h.textContent=await p("/files","dd7254231e8642b7bd24dd471d0de186",0):h.textContent=await p("/files","427c3b55a1c7430e9e77c82930b48a19",0),document.querySelector("#files-item-properties-summary-type").textContent=h.textContent,c.appendChild(m),c.appendChild(h),l.appendChild(c);for(let t=0;t1024&&u.size<1048576?(n.textContent=Math.floor(u.size/1024)+" KiB",document.querySelector("#files-item-properties-summary-size").textContent=Math.floor(u.size/1024)+" KiB"):u.size>1048576&&u.size<1073741824?(n.textContent=Math.floor(u.size/1048576)+" MiB",document.querySelector("#files-item-properties-summary-size").textContent=Math.floor(u.size/1048576)+" MiB"):u.size>1073741824&&u.size<1099511627776?(n.textContent=Math.floor(u.size/1073741824)+" GiB",document.querySelector("#files-item-properties-summary-size").textContent=Math.floor(u.size/1073741824)+" GiB"):u.size>1099511627776&&(n.textContent=Math.floor(u.size/1099511627776)+" TiB",document.querySelector("#files-item-properties-summary-size").textContent=Math.floor(u.size/1099511627776)+" TiB"),document.querySelector("#files-item-properties-summary-size").dataset.empty="false"):(n.textContent="-",document.querySelector("#files-item-properties-summary-size").textContent="",document.querySelector("#files-item-properties-summary-size").dataset.empty="true"):"lm"===s[t]||"lr"===s[t]||"created"===s[t]?u[s[t]]&&(n.textContent=new Intl.DateTimeFormat("de-DE",{hour12:!1,dateStyle:"short",timeStyle:"short"}).format(new Date(u[s[t]].replace(" ","T"))).replace(",","")):"boolean"==typeof u[s[t]]?n.textContent=(await w()).FRIENDLY_BOOLEAN_NAMES[u[s[t]]]:n.textContent=u[s[t]],a.appendChild(i),a.appendChild(n),l.appendChild(a)}r.overlays.hideBlurryOverlay(),n(document.querySelector("#files-item-actions"));const b=new URLSearchParams(window.location.search).get("id");i(document.querySelector("#files-item-properties"),[function(){window.history.replaceState(null,"",f(o("/files/directory","id",b),"iid"))}])}else await r.alert("Error!")},g=async function(t,l=!1,c=[],m=!1){document.querySelector("#files-show-properties").onclick=function(){const e=new URLSearchParams(window.location.search).get("id");v(e,t),i(document.querySelector("#files-item-properties"),[function(){window.history.replaceState(null,"",f(o("/files/directory","id",e),"iid"))}]),l?window.history.replaceState(null,"",o(o("/files/directory/properties","iid",t.id),"id",e)):window.history.pushState(null,"",o(o("/files/directory/properties","iid",t.id),"id",e))},document.querySelector("#files-rename").onclick=async function(){r.overlays.hideBlurryOverlay(),n(document.querySelector("#files-item-actions")),m?await async function(t){const i=async function(e="",t="",a=!1){const n=await r.prompt(await p("/files","700f0327efe647b3a9854157505426f1",0),!0,void 0,t,"text",a,!1,[],e,!1,[function(){document.querySelector("#jcloud-ui-elements-prompt-error").innerHTML=""}],!1);if(null===n);else if(!(0===s(n,"\\")&&0===s(n,"/")&&0===s(n,"'")&&0===s(n,'"')&&0===s(n,"/")&&n.length>0))return await i(await p("/files","0d54c47887494230a70dc5c01c7391c7",0),n,!1);return n},l=async function(a,s,n){if(null!==a&&a!==s){const c=new URLSearchParams;c.append("n",a),await fetch(`https://jcloud-services.ddns.net:1024/server-file-name/${e("User")}/${t}`,{method:"PUT",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:c.toString(),credentials:"include"}).then(async e=>{200===e.status?(alert(u(t)),await z(u(t),"",!0)):409===e.status?await l(await i(await p("/files","15f10296bae64d18a14d9fd5bd04469c",0),a),s,n):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0))}).catch(async e=>{await r.alert(e)})}};await l(await i("",a(t),!0),a(t)),n(document.querySelector("#jcloud-ui-elements-prompt"))}(t.full_path):await async function(t,a){a=d(a,"/");const i=async function(e="",t="",a=!1){const n=await r.prompt(await p("/files","700f0327efe647b3a9854157505426f1",0),!0,void 0,t,"text",a,!1,[],e,!1,[function(){document.querySelector("#jcloud-ui-elements-prompt-error").innerHTML=""}],!1);if(null===n);else if(!(0===s(n,"\\")&&0===s(n,"/")&&0===s(n,"'")&&0===s(n,'"')&&0===s(n,"/")&&n.length>0))return await i(await p("/files","0d54c47887494230a70dc5c01c7391c7",0),n,!1);return n},l=async function(a,s,n){if(null!==a&&a!==s){const c=new URLSearchParams;c.append("n",a),c.append("id",t),await fetch(`https://jcloud-services.ddns.net:1024/file-name/${e("User")}`,{method:"PUT",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:c.toString(),credentials:"include"}).then(async e=>{200===e.status?await I("",n,!0):409===e.status?await l(await i(await p("/files","15f10296bae64d18a14d9fd5bd04469c",0),a),s,n):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0))}).catch(async e=>{await r.alert(e)})}};await fetch(`https://jcloud-services.ddns.net:1024/file/${e("User")}?type=attributes&id=${t}`,{credentials:"include"}).then(async e=>{200===e.status?await l(await i("",a,!0),a,JSON.parse(await e.text()).parent_id):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0))}).catch(async e=>{await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0)+": "+e)}),n(document.querySelector("#jcloud-ui-elements-prompt"))}(t.id,t.path)},document.querySelector("#files-delete").onclick=async function(){r.overlays.hideBlurryOverlay(),n(document.querySelector("#files-item-actions")),await S(t.id,t.path,t.parent_id)},i(document.querySelector("#files-item-actions"),c)},q=async function(){document.querySelector("#files-upload").blur();const t=document.createElement("input");t.type="file",t.accept="*";const a=new Promise(e=>{t.addEventListener("change",()=>{e(t.files)})});t.click();const i=await a,l=new FormData;l.append("meta","{}"),l.append("ro","false"),l.append("hidden","false"),l.append("system_file","false"),l.append("file",i[0]);const c=async function(e="",t=""){const a=await r.prompt(await p("/files","877b4a536541442b83b60ebc13415aa8",0),!0,void 0,t,"text",!0,!1,[],e,!1,[function(){document.querySelector("#jcloud-ui-elements-prompt-error").innerHTML=""}],!1);if(null===a);else if(!(0===s(a,"\\")&&0===s(a,"/")&&0===s(a,"'")&&0===s(a,'"')&&0===s(a,"/")&&a.length>0))return await c(await p("/files","0d54c47887494230a70dc5c01c7391c7",0),t);return a},d=async function(t,a){null!==t&&await fetch(`https://jcloud-services.ddns.net:1024/file/${e("User")}${encodeURIComponent(a+t)}`,{method:"POST",body:l,credentials:"include"}).then(async e=>{201===e.status?await I(a,"",!0):409===e.status?await d(await c(await p("/files","15f10296bae64d18a14d9fd5bd04469c",0),t),a):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0)+"\n"+e.status)})};await fetch(`https://jcloud-services.ddns.net:1024/file/${e("User")}?type=attributes&id=${new URLSearchParams(window.location.search).get("id")}`,{credentials:"include"}).then(async e=>{200===e.status?await d(await c("",i[0].name),JSON.parse(await e.text()).path):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0)+"\n"+e.status)}).catch(async e=>{await r.alert(e)}),n(document.querySelector("#jcloud-ui-elements-prompt"))},M=async function(){const t=document.createElement("input");t.type="file",t.accept="*";const a=new Promise(e=>{t.addEventListener("change",()=>{e(t.files)})});t.click();const i=await a,l=new FormData;l.append("file",i[0]);const c=async function(e="",t=""){const a=await r.prompt(await p("/files","877b4a536541442b83b60ebc13415aa8",0),!0,void 0,t,"text",!1,!1,[],e,!1,[function(){document.querySelector("#jcloud-ui-elements-prompt-error").innerHTML=""}],!1);if(null===a);else if(!(0===s(a,"\\")&&0===s(a,"/")&&0===s(a,"'")&&0===s(a,'"')&&0===s(a,"/")&&a.length>0))return await c(await p("/files","02afd7cbbe4a4d30afbfaeb16587e918",0));return a},d=async function(t){if(null!==t){const a=new URL(window.location.href).pathname.split("/").slice(2).join("/");await fetch(`https://jcloud-services.ddns.net:1024/server-file/${e("User")}/${encodeURIComponent(a+t)}`,{method:"POST",body:l,credentials:"include"}).then(async e=>{201===e.status?z(a,"",!0):409===e.status?await d(await c(await p("/files","15f10296bae64d18a14d9fd5bd04469c",0),t)):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0)+"\n"+e.status)})}};await d(await c("",i[0].name)),n(document.querySelector("#jcloud-ui-elements-prompt"))},T=async function(){document.querySelector("#files-new-directory").blur();const t=new FormData;t.append("meta","{}"),t.append("ro","false"),t.append("hidden","false"),t.append("system_file","false"),t.append("file",new Blob([],{type:"text/plain"}));const a=async function(e=""){const t=await r.prompt(await p("/files","6e4dda603d8e4dac89acfeb75241a52f",0),!0,void 0,null,"text",!1,!1,[],e,!1,[function(){document.querySelector("#jcloud-ui-elements-prompt-error").innerHTML=""}],!1);if(null===t);else if(!(0===s(t,"\\")&&0===s(t,"/")&&0===s(t,"'")&&0===s(t,'"')&&0===s(t,"/")&&t.length>0))return await a(await p("/files","02afd7cbbe4a4d30afbfaeb16587e918",0));return t},i=async function(s,n){null!==s&&await fetch(`https://jcloud-services.ddns.net:1024/file/${e("User")}${encodeURIComponent(n+s+"/")}`,{method:"POST",body:t,credentials:"include"}).then(async e=>{201===e.status?await I(n,"",!0):409===e.status?await i(await a(await p("/files","8ff9d504a7cf409297144f22ea7dba6e",0)),n):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0)+"\n"+e.status)})};await fetch(`https://jcloud-services.ddns.net:1024/file/${e("User")}?type=attributes&id=${new URLSearchParams(window.location.search).get("id")}`,{credentials:"include"}).then(async e=>{200===e.status&&await i(await a(),JSON.parse(await e.text()).path)}).catch(async e=>{await r.alert(e)}),n(document.querySelector("#jcloud-ui-elements-prompt"))},I=async function(a="/",s="",i=!1,n=!0,u=!0){let f;document.querySelector("#files-sort-by").onchange=async()=>{window.history.replaceState(null,"",o(window.location.href,"sort",document.querySelector("#files-sort-by").dataset.value)),await I(a,s,!0,!0,!1)},window.keyDownCallbacks["files-arrows"]=async function(e){if(new URL(window.location.href).pathname.startsWith("/files")){if("ArrowDown"===e.key){const e=document.querySelector("#files-items-container"),t=e.childNodes;if(t.length)if(e.dataset.selectedItem){let a,s=0;for(let i of t){if(s++,a){i.dataset.selected="true",i.classList.add("selected"),e.dataset.selectedItem=i.dataset.fileId,e.dataset.selectedItemName=i.dataset.fileName,e.dataset.selectedItemParentId=i.dataset.fileParentId;break}s{200===e.status?s=await e.text():404===e.status?await r.alert("Das Verzeichnis wurde nicht gefunden."):await r.alert("Ein Fehler ist aufgetreten.\n"+e.status+"\n"+await e.text())}).catch(async e=>{await r.alert(e)}),await fetch(`https://jcloud-services.ddns.net:1024/listdir/${d}?id=${s}`,{credentials:"include"}).then(async e=>{200===e.status&&(t=!0,f=await e.json())}).catch(async e=>{await r.alert(e)}),!t)return;if(n){const e=new URL(o(window.location.href,"id",s));e.pathname="/files/directory",i?history.replaceState(null,"",e.href):history.pushState(null,"",e.href)}await m("/files"),h(),document.querySelector("#files").classList.remove("hidden"),document.querySelector("#home").classList.add("hidden"),document.querySelector("#user-details-on-footer").style.display="none",document.querySelector("#user-details-on-footer").setAttribute("class","hidden"),L.classList.remove("hidden"),c()}else f=JSON.parse(L.dataset.itemsList);L.innerHTML="",L.removeAttribute("data-selected-item"),L.removeAttribute("data-selected-item-parent-id"),L.removeAttribute("data-selected-item-name"),L.dataset.isInForeground="true",L.dataset.itemsList=JSON.stringify(f);for(let e=0;ee.type.localeCompare(t.type)),"name"===v.get("sort")&&f.sort((e,t)=>d(e.path,"/").localeCompare(d(t.path,"/"))),"size"===v.get("sort")&&f.sort((e,t)=>e.size-t.size),"date"===v.get("sort")&&f.sort((e,t)=>new Date(e.lm).getHours(){s.classList.add("foreground"),r.overlays.showBlurryOverlay(),await g(a,!1,[function(){L.removeAttribute("data-is-in-foreground"),r.overlays.hideBlurryOverlay(),s.classList.remove("foreground")}])},600)}),s.addEventListener("touchend",function(){clearTimeout(i),s.classList.remove("long-pressing")}),s.addEventListener("touchcancel",function(){clearTimeout(i),s.classList.remove("long-pressing")});const n=document.createElement("td");n.classList.add("items-list-cell"),n.classList.add("files-list-item-path");const l=document.createElement("td");l.classList.add("items-list-cell");const c=document.createElement("td");c.classList.add("items-list-cell");const d=document.createElement("td");d.classList.add("items-list-cell"),d.innerHTML=new Intl.DateTimeFormat("de-DE",{hour12:!1,dateStyle:"short",timeStyle:"short"}).format(new Date(a.lm.replace(" ","T"))).replace(",",""),s.oncontextmenu=async function(e){if(e.preventDefault(),L.removeAttribute("data-is-in-foreground"),"false"===s.dataset.selected){const e=L.childNodes;for(let t=0;t1024&&a.size<1048576?c.innerHTML=Math.floor(a.size/1024)+" KiB":a.size>1048576&&a.size<1073741824?c.innerHTML=Math.floor(a.size/1048576)+" MiB":a.size>1073741824&&a.size<1099511627776?c.innerHTML=Math.floor(a.size/1073741824)+" GiB":a.size>1099511627776&&a.size<0x4000000000000&&(c.innerHTML=Math.floor(a.size/1099511627776)+" TiB")),n.dataset.size=c.innerHTML,n.dataset.lm=d.innerHTML,s.dataset.fileId=a.id,s.dataset.fileName=a.path,s.dataset.fileParentId=a.parent_id,s.appendChild(n),s.appendChild(l),s.appendChild(c),s.appendChild(d),L.appendChild(s)}document.querySelector("#files-number-of-items").innerHTML=f.length,1===f.length?document.querySelector('[data-i18n-id="5692853f8212455486dd5e1554ee33fe"]').dataset.i18nNumber="0":document.querySelector('[data-i18n-id="5692853f8212455486dd5e1554ee33fe"]').dataset.i18nNumber="1",await m("/files")},z=async function(t="",a=!1,i=!1){l();let d=!1;const o=document.querySelector("#files-items-container");document.querySelector("#files-new-directory").onclick=async function(){await async function(){const t=new FormData;t.append("file",new Blob([],{type:"text/plain"}));const a=async function(e=""){const t=await r.prompt(await p("/files","6e4dda603d8e4dac89acfeb75241a52f",0),!0,void 0,null,"text",!1,!1,[],e,!1,[function(){document.querySelector("#jcloud-ui-elements-prompt-error").innerHTML=""}],!1);if(null===t);else if(!(0===s(t,"\\")&&0===s(t,"/")&&0===s(t,"'")&&0===s(t,'"')&&0===s(t,"/")&&t.length>0))return await a(await p("/files","02afd7cbbe4a4d30afbfaeb16587e918",0));return t},i=async function(s,n){if(null!==s){const n=new URL(window.location.href).pathname.split("/").slice(2).join("/");await fetch(`https://jcloud-services.ddns.net:1024/server-file/${e("User")}/${encodeURIComponent(n+s+"/")}`,{method:"POST",body:t,credentials:"include"}).then(async e=>{201===e.status?z(n,"",!0):409===e.status?await i(await a(await a(await p("/files","8ff9d504a7cf409297144f22ea7dba6e",0)))):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0)+"\n"+e.status)}).catch(async()=>{await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0))})}};await i(await a()),n(document.querySelector("#jcloud-ui-elements-prompt"))}()},document.querySelector("#files-upload").onclick=async function(){await M()};const u=e("User");if(t&&""!==t||await fetch(`https://jcloud-services.ddns.net:1024/server-files-base-dir/${u}`,{credentials:"include"}).then(async e=>{if(200===e.status)t=await e.text();else if(403===e.status)return await r.alert((await w()).generalAlerts.accessDenied),history.replaceState(null,"","/home"),void await m("/home")}).catch(async e=>{await r.alert(e)}),!t||""===t)return c(),void history.replaceState(null,"","/home");await fetch(`https://jcloud-services.ddns.net:1024/server-listdir/jakob.scheid@icloud.com/${t}`,{credentials:"include"}).then(async t=>{if(200===t.status){d=!0,o.innerHTML="";const a=await t.json();for(const t of a){const a=document.createElement("tr");let s;a.dataset.selected="false",a.classList.add("items-list-item"),a.classList.add("files-list-file"),a.addEventListener("touchstart",function(){if("true"===a.dataset.selected)a.dataset.selected="false",a.classList.remove("selected");else{const e=o.childNodes;for(let t=0;t{a.classList.add("foreground"),r.overlays.showBlurryOverlay(),await g(t,!1,[function(){r.overlays.hideBlurryOverlay(),a.classList.remove("foreground")}],!0)},600)}),a.addEventListener("touchend",function(){clearTimeout(s),a.classList.remove("long-pressing")}),a.addEventListener("touchcancel",function(){clearTimeout(s),a.classList.remove("long-pressing")});const i=document.createElement("td");i.classList.add("items-list-cell"),i.classList.add("files-list-file-path"),i.classList.add("files-list-item-path");const n=document.createElement("td");n.classList.add("items-list-cell");const l=document.createElement("td");l.classList.add("items-list-cell"),l.innerHTML="",a.oncontextmenu=async function(e){if(e.preventDefault(),"false"===a.dataset.selected){const e=o.childNodes;for(let t=0;t1024&&t.size<1048576?n.innerHTML=Math.floor(t.size/1024)+" KiB":t.size>1048576&&t.size<1073741824?n.innerHTML=Math.floor(t.size/1048576)+" MiB":t.size>1073741824&&t.size<1099511627776?n.innerHTML=Math.floor(t.size/1073741824)+" GiB":t.size>1099511627776&&t.size<0x4000000000000&&(n.innerHTML=Math.floor(t.size/1099511627776)+" TiB")),i.dataset.size=n.innerHTML,i.dataset.lm=l.innerHTML,a.appendChild(i),a.appendChild(n),a.appendChild(l),o.appendChild(a)}document.querySelector("#files-number-of-items").innerHTML=a.length,1===a.length?document.querySelector('[data-i18n-id="5692853f8212455486dd5e1554ee33fe"]').dataset.i18nNumber="0":document.querySelector('[data-i18n-id="5692853f8212455486dd5e1554ee33fe"]').dataset.i18nNumber="1",await m("/files")}else 403===t.status?(await r.alert((await w()).generalAlerts.accessDenied),i&&(history.replaceState(null,"","/home"),await m("/home"))):await r.alert(await p("/files","6b87324c55614239a93a3bfc8b6ba526",0))}).catch(async e=>{await r.alert(e)}),d&&(i&&(a=!0),a?history.replaceState(null,"",`/server-files/${t}`):history.pushState(null,"",`/server-files/${t}`),await m("/files"),h(),document.querySelector("#files").classList.remove("hidden"),document.querySelector("#home").classList.add("hidden"),document.querySelector("#user-details-on-footer").style.display="none",document.querySelector("#user-details-on-footer").setAttribute("class","hidden"),o.classList.remove("hidden")),c()};export{L as hideFiles,I as showFilesPage,v as showProperties,z as showServerFilesPage,T as createDirectory,q as uploadFile,M as uploadFileOnServer};