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 %>