From 3a937d512e32509108f5b15cca1b232232a8c31e Mon Sep 17 00:00:00 2001 From: WildSoft Date: Wed, 7 Oct 2026 11:41:04 +0300 Subject: [PATCH] Update public source --- .../server/web/templates/method_create.html | 73 ++++++++++++------- 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/cracklab/server/web/templates/method_create.html b/cracklab/server/web/templates/method_create.html index f196b58..9e57a8d 100644 --- a/cracklab/server/web/templates/method_create.html +++ b/cracklab/server/web/templates/method_create.html @@ -1640,20 +1640,25 @@ const methodSteps = getMethodSteps(); - const sourceStep = - methodSteps.find( - (step) => { - const modeSelect = - step.querySelector( - "[data-attack-mode]", - ); + const oldBulkSteps = + getBulkMaskSteps(); - return ( - modeSelect && - modeSelect.value === "3" - ); - }, - ); + const sourceStep = + oldBulkSteps.length > 0 + ? oldBulkSteps[0] + : methodSteps.find( + (step) => { + const modeSelect = + step.querySelector( + "[data-attack-mode]", + ); + + return ( + modeSelect && + modeSelect.value === "3" + ); + }, + ); if (!sourceStep) { return; @@ -1664,29 +1669,41 @@ sourceStep, ); - const oldBulkSteps = - getBulkMaskSteps(); - - oldBulkSteps.forEach( - (step) => { - step.remove(); - }, - ); - - const firstStep = - sourceStep; - const bulkSteps = [ - firstStep, + sourceStep, ]; while ( bulkSteps.length < masks.length ) { - bulkSteps.push( - addStep(), + const newStep = + addStep(); + + newStep.dataset.bulkMaskStep = + "true"; + + newStep.classList.add( + "method-step-bulk-hidden", ); + + bulkSteps.push( + newStep, + ); + } + + while ( + bulkSteps.length > + masks.length + ) { + const step = + bulkSteps.pop(); + + if (step === sourceStep) { + break; + } + + step.remove(); } masks.forEach(