diff --git a/index.html b/index.html index 4a4b127..2e54467 100644 --- a/index.html +++ b/index.html @@ -215,7 +215,9 @@ function renderDashboard(){ h+=''; h+=''; h+=''; - h+=''; + h+=''; + h+='
Хранилище: '+fmtStorage()+'
'; + h+=''; document.getElementById("tab-dashboard").innerHTML=h; } @@ -442,6 +444,10 @@ function setMD(id,o,si){var k=si>=0?'sf_'+id+'_s'+si:'sf_'+id;localStorage.setIt function getSC(id){var r=localStorage.getItem("ss_"+id);return r?JSON.parse(r):[]} function setSC(id,a){localStorage.setItem("ss_"+id,JSON.stringify(a))} +function storageUsed(){var t=0;for(var i=0;i1048576?(b/1048576).toFixed(1)+' МБ':(b/1024).toFixed(0)+' КБ'} +function clearAllFiles(){if(!confirm('Удалить ВСЕ загруженные файлы и отчёты? Это нельзя отменить.'))return;var keys=[];for(var i=0;i 4 МБ пропущены");closeEM();openEdit(eid,curMonth,si>=0?si:undefined)} + function fin(){ + try{setMD(eid,ad,si)}catch(e){ + var bak=JSON.parse(JSON.stringify(ad));bak[mk].files=bak[mk].files.slice(0,-(pr-sk)||0);try{setMD(eid,bak,si)}catch(e2){} + alert("⚠️ Хранилище заполнено. Удалите старые файлы (кнопка «Очистить все файлы» на дашборде)."); + } + if(sk)alert(sk+" файл(ов) > 1.5 МБ пропущены");closeEM();openEdit(eid,curMonth,si>=0?si:undefined) + } for(var i=0;iMAX){sk++;pr++;if(pr===fi.files.length)fin();return} var r=new FileReader();r.onload=function(ev){arr.push({name:f.name,size:f.size,type:f.type,desc:desc,date:new Date().toLocaleDateString(),data:ev.target.result});pr++;if(pr===fi.files.length)fin()}; r.onerror=function(){pr++;if(pr===fi.files.length)fin()};r.readAsDataURL(f)})(fi.files[i])}