From 4c08e6412755db1475d2723beee3bfce1abdbcc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Sun, 28 Jun 2026 10:31:05 +0400 Subject: [PATCH] =?UTF-8?q?fix:=20ZIP=20preview=20=E2=80=94=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D1=8B=D0=B5=2010=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2=20+=20=C2=AB...=D0=B8=20=D0=B5=D1=89=D1=91=20N=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site/static/files.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/site/static/files.js b/site/static/files.js index 2f050f2..de71d1e 100644 --- a/site/static/files.js +++ b/site/static/files.js @@ -370,9 +370,10 @@ async function addZipFile(file) { }); if (!zipResp.ok || !zipResp.files) throw new Error('unzip failed'); - // Подтверждение: показать список файлов перед загрузкой - var fileList = zipResp.files.map(function(f) { return ' • ' + f.filename + ' (' + (f.size/1024).toFixed(1) + ' KB)'; }).join('\n'); - if (!confirm('Архив «' + file.name + '» — ' + total + ' файлов:\n\n' + fileList + '\n\nЗагрузить эти файлы?')) { + // Подтверждение: показать первые 10 файлов + итог + var preview = zipResp.files.slice(0, 10).map(function(f) { return ' • ' + f.filename + ' (' + (f.size/1024).toFixed(1) + ' KB)'; }).join('\n'); + if (total > 10) preview += '\n ... и ещё ' + (total - 10) + ' файлов'; + if (!confirm('Архив «' + file.name + '» — ' + total + ' файлов:\n\n' + preview + '\n\nЗагрузить эти файлы?')) { // Отмена — убрать строку ZIP var zipPos2 = state.files.indexOf(zipEntry); if (zipPos2 >= 0) state.files.splice(zipPos2, 1);