const fileUpload = document.getElementById('file-upload'); const textUpload = document.getElementById('text-upload'); const keepFor = document.getElementById('keep_for'); const passwordInput = document.getElementById('password-input'); const maxTime = Number('{no_auth_max_time}'); const largeFileMaxTime = Number('{no_auth_large_file_max_time}'); const largeFileSize = Number('{no_auth_large_file_size}'); let keep = Number(keepFor.value); let size = fileUpload.files[0] ? fileUpload.files[0].size : textUpload.value.length; const updatePasswordInput = () => { const requirePassword = keep > maxTime || (size > largeFileSize && keep > largeFileMaxTime); passwordInput.className = requirePassword ? '' : 'hidden'; }; updatePasswordInput(); fileUpload.addEventListener('change', () => { size = fileUpload.files[0] ? fileUpload.files[0].size : textUpload.value.length; updatePasswordInput(); }); textUpload.addEventListener('input', () => { if (!fileUpload.files[0]) { size = textUpload.value.length; updatePasswordInput(); } }); keepFor.addEventListener('change', () => { keep = Number(keepFor.value); updatePasswordInput(); });