From 15180b11b949d6e8c41d7641ae79aad4f2fed776 Mon Sep 17 00:00:00 2001 From: Dauren777 Date: Fri, 5 Jun 2026 05:44:39 +0000 Subject: [PATCH] =?UTF-8?q?v21:=20=D0=B8=D0=BD=D0=B4=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=20=D1=85=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8?= =?UTF-8?q?=D1=89=D0=B0,=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0=20=D0=BE?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D1=82=D0=BA=D0=B8,=20=D0=BB=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=D1=82=201.5=20=D0=9C=D0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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])}