From 17d1897e71bfe6f1342ef8bf70809b7b583d6d2b Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 13 Mar 2017 11:35:37 -0500 Subject: [PATCH] Remove pw confirm prompt with UI prompt --- .../services/directives/views/accountMenu.js | 8 +++- .../javascripts/app/services/syncManager.js | 2 +- .../directives/account-menu.html.haml | 45 +++++++++++-------- app/views/application/frontend.html.erb | 4 ++ 4 files changed, 39 insertions(+), 20 deletions(-) diff --git a/app/assets/javascripts/app/services/directives/views/accountMenu.js b/app/assets/javascripts/app/services/directives/views/accountMenu.js index 7fd9ca4c1..a677b39e9 100644 --- a/app/assets/javascripts/app/services/directives/views/accountMenu.js +++ b/app/assets/javascripts/app/services/directives/views/accountMenu.js @@ -98,11 +98,17 @@ class AccountMenu { } $scope.submitRegistrationForm = function() { - var confirmation = prompt("Please confirm your password. Note that because your notes are encrypted using your password, Standard Notes does not have a password reset option. You cannot forget your password.") + $scope.formData.confirmPassword = true; + } + + $scope.submitPasswordConfirmation = function() { + let confirmation = $scope.formData.pw_confirmation; if(confirmation !== $scope.formData.user_password) { alert("The two passwords you entered do not match. Please try again."); return; } + + $scope.formData.confirmPassword = false; $scope.formData.status = "Generating Account Keys..."; $timeout(function(){ diff --git a/app/assets/javascripts/app/services/syncManager.js b/app/assets/javascripts/app/services/syncManager.js index 54d4c18d8..7afcb4ca3 100644 --- a/app/assets/javascripts/app/services/syncManager.js +++ b/app/assets/javascripts/app/services/syncManager.js @@ -10,7 +10,7 @@ class SyncManager { } get serverURL() { - return localStorage.getItem("server") || "https://n3.standardnotes.org"; + return localStorage.getItem("server") || window._default_sf_server; } get masterKey() { diff --git a/app/assets/templates/frontend/directives/account-menu.html.haml b/app/assets/templates/frontend/directives/account-menu.html.haml index 3c93889a5..7d971dbee 100644 --- a/app/assets/templates/frontend/directives/account-menu.html.haml +++ b/app/assets/templates/frontend/directives/account-menu.html.haml @@ -1,26 +1,35 @@ .panel.panel-default.panel-right.account-data-menu .panel-body.large-padding %div{"ng-if" => "!user"} - %p Enter your Standard File account information. You can also register for free using the default server address. - .small-v-space + %div{"ng-if" => "!formData.confirmPassword"} + %p Enter your Standard File account information. You can also register for free using the default server address. + .small-v-space - %form.account-form.mt-5{'name' => "loginForm"} - %input.form-control{:name => 'server', :placeholder => 'Server URL', :required => true, :type => 'text', 'ng-model' => 'formData.url'} - %input.form-control{:autofocus => 'autofocus', :name => 'email', :placeholder => 'Email', :required => true, :type => 'email', 'ng-model' => 'formData.email'} - %input.form-control{:placeholder => 'Password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'formData.user_password'} - .checkbox{"ng-if" => "localNotesCount() > 0"} - %label - %input{"type" => "checkbox", "ng-model" => "formData.mergeLocal", "ng-bind" => "true", "ng-change" => "mergeLocalChanged()"} - Merge local notes ({{localNotesCount()}} notes) + %form.mt-5 + %input.form-control{:name => 'server', :placeholder => 'Server URL', :required => true, :type => 'text', 'ng-model' => 'formData.url'} + %input.form-control{:autofocus => 'autofocus', :name => 'email', :placeholder => 'Email', :required => true, :type => 'email', 'ng-model' => 'formData.email'} + %input.form-control{:placeholder => 'Password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'formData.user_password'} + .checkbox{"ng-if" => "localNotesCount() > 0"} + %label + %input{"type" => "checkbox", "ng-model" => "formData.mergeLocal", "ng-bind" => "true", "ng-change" => "mergeLocalChanged()"} + Merge local notes ({{localNotesCount()}} notes) - %div{"ng-if" => "!formData.status"} - %button.btn.dark-button.half-button{"ng-click" => "loginSubmitPressed()", "data-style" => "expand-right", "data-size" => "s", "state" => "buttonState"} - %span Sign In - %button.btn.dark-button.half-button{"ng-click" => "submitRegistrationForm()", "data-style" => "expand-right", "data-size" => "s", "state" => "buttonState"} - %span Register - %br - .block{"style" => "margin-top: 10px; font-size: 14px; font-weight: bold; text-align: center;"} - %a.btn{"ng-click" => "showResetForm = !showResetForm"} Passwords cannot be forgotten. + %div{"ng-if" => "!formData.status"} + %button.btn.dark-button.half-button{"ng-click" => "loginSubmitPressed()"} + %span Sign In + %button.btn.dark-button.half-button{"ng-click" => "submitRegistrationForm()"} + %span Register + %br + .block{"style" => "margin-top: 10px; font-size: 14px; font-weight: bold; text-align: center;"} + %a.btn{"ng-click" => "showResetForm = !showResetForm"} Passwords cannot be forgotten. + + %div{"ng-if" => "formData.confirmPassword"} + %h3 Confirm your password. + %p.mt-5 Note that because your notes are encrypted using your password, Standard Notes does not have a password reset option. You cannot forget your password. + %form.mt-10 + %input.form-control{:placeholder => 'Confirm Password', :name => 'password', :required => true, :type => 'password', 'ng-model' => 'formData.pw_confirmation'} + %button.btn.dark-button.btn-block{"ng-click" => "submitPasswordConfirmation()"} + %span Confirm %em.block.center-align.mt-10{"ng-if" => "formData.status", "style" => "font-size: 14px;"} {{formData.status}} diff --git a/app/views/application/frontend.html.erb b/app/views/application/frontend.html.erb index 48066778e..9e9426521 100644 --- a/app/views/application/frontend.html.erb +++ b/app/views/application/frontend.html.erb @@ -28,6 +28,10 @@ + + <% if Rails.env.development? %> <%= javascript_include_tag "compiled.js", debug: true %> <% else %>