From 046f2270031525343a236b4ec8bf72e19a4d83ff Mon Sep 17 00:00:00 2001 From: Erica Wright Date: Mon, 23 Oct 2017 09:51:33 -0400 Subject: [PATCH 1/3] disable copying link when password not completed --- app/templates/share.js | 2 ++ app/templates/uploadPassword.js | 8 +++++++- assets/main.css | 12 ++++++++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/templates/share.js b/app/templates/share.js index 2fe1a7418..72dac63d4 100644 --- a/app/templates/share.js +++ b/app/templates/share.js @@ -57,6 +57,7 @@ module.exports = function(state, emit) { input.disabled = true; const copyBtn = document.getElementById('copy-btn'); copyBtn.disabled = true; + copyBtn.classList.add('success'); copyBtn.replaceChild( html``, copyBtn.firstChild @@ -64,6 +65,7 @@ module.exports = function(state, emit) { await delay(2000); input.disabled = false; copyBtn.disabled = false; + copyBtn.classList.remove('success'); copyBtn.textContent = state.translate('copyUrlFormButton'); } } diff --git a/app/templates/uploadPassword.js b/app/templates/uploadPassword.js index fe589aff3..0a70b4c8e 100644 --- a/app/templates/uploadPassword.js +++ b/app/templates/uploadPassword.js @@ -21,14 +21,20 @@ module.exports = function(state, emit) { `; - function togglePasswordInput() { + function togglePasswordInput(e) { document.querySelector('.setPassword').classList.toggle('hidden'); + document + .getElementById('copy') + .classList.toggle('wait-password', e.target.checked); + document.getElementById('copy-btn').disabled = e.target.checked; } function setPassword(event) { event.preventDefault(); const password = document.getElementById('unlock-input').value; if (password.length > 0) { + document.getElementById('copy').classList.remove('wait-password'); + document.getElementById('copy-btn').disabled = false; emit('password', { password, file }); } } diff --git a/assets/main.css b/assets/main.css index 69c5f9e6f..561045e39 100644 --- a/assets/main.css +++ b/assets/main.css @@ -553,6 +553,11 @@ tbody { width: 100%; } +#copy.wait-password #link, +#copy.wait-password #copy-btn { + opacity: 0.5; +} + #copy-text { align-self: flex-start; margin-top: 60px; @@ -596,13 +601,16 @@ tbody { white-space: nowrap; } -#copy-btn:hover { +#copy-btn:not(:disabled):hover { background-color: #0287e8; } -#copy-btn:disabled { +#copy-btn.success { background: #05a700; border: 1px solid #05a700; +} + +#copy-btn:disabled { cursor: auto; } From a5d28adc4457a0e6b18dda3a1796e8b35a59005f Mon Sep 17 00:00:00 2001 From: Erica Wright Date: Tue, 24 Oct 2017 12:47:03 -0400 Subject: [PATCH 2/3] focus password field when clicking password checkbox --- app/templates/uploadPassword.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/templates/uploadPassword.js b/app/templates/uploadPassword.js index 0a70b4c8e..84fa77970 100644 --- a/app/templates/uploadPassword.js +++ b/app/templates/uploadPassword.js @@ -27,6 +27,9 @@ module.exports = function(state, emit) { .getElementById('copy') .classList.toggle('wait-password', e.target.checked); document.getElementById('copy-btn').disabled = e.target.checked; + if (e.target.checked) { + document.getElementById('unlock-input').focus(); + } } function setPassword(event) { From f814427a7d8dc8f1f40135b1cf6a27a7f2c636a3 Mon Sep 17 00:00:00 2001 From: Erica Wright Date: Tue, 24 Oct 2017 13:00:27 -0400 Subject: [PATCH 3/3] clear password input on toggle off --- app/templates/share.js | 4 +++- app/templates/uploadPassword.js | 12 ++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/templates/share.js b/app/templates/share.js index 72dac63d4..21916cc63 100644 --- a/app/templates/share.js +++ b/app/templates/share.js @@ -64,7 +64,9 @@ module.exports = function(state, emit) { ); await delay(2000); input.disabled = false; - copyBtn.disabled = false; + if (!copyBtn.parentNode.classList.contains('wait-password')) { + copyBtn.disabled = false; + } copyBtn.classList.remove('success'); copyBtn.textContent = state.translate('copyUrlFormButton'); } diff --git a/app/templates/uploadPassword.js b/app/templates/uploadPassword.js index 84fa77970..d68368c69 100644 --- a/app/templates/uploadPassword.js +++ b/app/templates/uploadPassword.js @@ -22,13 +22,17 @@ module.exports = function(state, emit) { `; function togglePasswordInput(e) { + const unlockInput = document.getElementById('unlock-input'); + const boxChecked = e.target.checked; document.querySelector('.setPassword').classList.toggle('hidden'); document .getElementById('copy') - .classList.toggle('wait-password', e.target.checked); - document.getElementById('copy-btn').disabled = e.target.checked; - if (e.target.checked) { - document.getElementById('unlock-input').focus(); + .classList.toggle('wait-password', boxChecked); + document.getElementById('copy-btn').disabled = boxChecked; + if (boxChecked) { + unlockInput.focus(); + } else { + unlockInput.value = ''; } }