From 188b2610006e444326b91837d649c83e509f20d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C4=93teris=20Caune?= <cuu508@gmail.com> Date: Wed, 11 Jan 2023 14:50:01 +0200 Subject: [PATCH] Improve the "Send test message!" button --- static/css/bootstrap-colors.css | 7 +++++++ static/css/signal_form.css | 11 +++++++++++ static/js/signal_form.js | 10 ++++++---- templates/accounts/add_credential.html | 8 ++------ templates/base.html | 1 + templates/integrations/signal_form.html | 8 ++++++-- 6 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 static/css/signal_form.css diff --git a/static/css/bootstrap-colors.css b/static/css/bootstrap-colors.css index 148a71e6..890a96ba 100644 --- a/static/css/bootstrap-colors.css +++ b/static/css/bootstrap-colors.css @@ -16,6 +16,13 @@ border-color: var(--btn-active-border); } +.btn-default:disabled, +.btn-default:disabled:hover, +.btn-default:disabled:focus { + border-color: var(--btn-default-border); + background-color: var(--btn-default-bg); +} + .open > .dropdown-toggle.btn-default, .open > .dropdown-toggle.btn-default:active, .open > .dropdown-toggle.btn-default:hover, diff --git a/static/css/signal_form.css b/static/css/signal_form.css new file mode 100644 index 00000000..6d7964ee --- /dev/null +++ b/static/css/signal_form.css @@ -0,0 +1,11 @@ +#signal-verify-btn:disabled span { + opacity: 0; +} + +#signal-verify-btn:disabled .spinner { + position: absolute; + top: 50%; + margin-top: -2px; + left: 50%; + display: block; +} \ No newline at end of file diff --git a/static/js/signal_form.js b/static/js/signal_form.js index 87971ede..f2b6e783 100644 --- a/static/js/signal_form.js +++ b/static/js/signal_form.js @@ -3,8 +3,11 @@ $(function() { $("#submit-btn").attr("disabled", true); }); - $("#verify-btn").click(function() { - $("#verify-btn").attr("disabled", true); + // Show a tooltip on the submit button only if it is disabled + $("body").tooltip({selector: "#submit-btn:disabled"}); + + $("#signal-verify-btn").click(function() { + $("#signal-verify-btn").attr("disabled", true); var url = this.dataset.verifyUrl; var token = $('input[name=csrfmiddlewaretoken]').val(); @@ -16,9 +19,8 @@ $(function() { success: function(data) { $("#verify-result").html(data); $("#submit-btn").attr("disabled", data.indexOf("alert-success") == -1); - $("#verify-btn").attr("disabled", false); + $("#signal-verify-btn").attr("disabled", false); } }); - }); }) \ No newline at end of file diff --git a/templates/accounts/add_credential.html b/templates/accounts/add_credential.html index 5e2fd107..dc562fa4 100644 --- a/templates/accounts/add_credential.html +++ b/templates/accounts/add_credential.html @@ -38,15 +38,11 @@ <div id="waiting" class="hide"> <h2>Waiting for security key</h2> <p> - Follow your browser's steps to register your security key + Follow your browser's instructions to register your security key with {% site_name %}. </p> - <div class="spinner started"> - <div class="d1"></div> - <div class="d2"></div> - <div class="d3"></div> - </div> + <div class="spinner started"></div> </div> <div id="error" class="alert alert-danger hide"> diff --git a/templates/base.html b/templates/base.html index 0a9410b0..e713599f 100644 --- a/templates/base.html +++ b/templates/base.html @@ -57,6 +57,7 @@ <link rel="stylesheet" href="{% static 'css/snippet-copy.css' %}" type="text/css"> <link rel="stylesheet" href="{% static 'css/syntax.css' %}" type="text/css"> <link rel="stylesheet" href="{% static 'css/set_password.css' %}" type="text/css"> + <link rel="stylesheet" href="{% static 'css/signal_form.css' %}" type="text/css"> <link rel="stylesheet" href="{% static 'css/project.css' %}" type="text/css"> <link rel="stylesheet" href="{% static 'css/signup.css' %}" type="text/css"> {% endcompress %} diff --git a/templates/integrations/signal_form.html b/templates/integrations/signal_form.html index ef950e2e..1600a190 100644 --- a/templates/integrations/signal_form.html +++ b/templates/integrations/signal_form.html @@ -59,10 +59,13 @@ Signal Settings - {% site_name %} <span class="input-group-btn"> <button - id="verify-btn" + id="signal-verify-btn" type="button" class="btn btn-default" - data-verify-url="{% url 'hc-signal-verify' %}">Send Test Message!</button> + data-verify-url="{% url 'hc-signal-verify' %}"> + <span>Send Test Message!</span> + <div class="spinner"></div> + </button> </span> </div> @@ -116,6 +119,7 @@ Signal Settings - {% site_name %} id="submit-btn" type="submit" class="btn btn-primary" + title="Please verify the number by sending a test message first." disabled>Save Integration</button> </div> </div>