ソースを参照

added toast messages to login and signup

Akira Laine 9 年 前
コミット
40b2ad609e

+ 20 - 27
app/client/scripts/events.js

@@ -279,13 +279,8 @@ Template.login.events({
         var password = $("#password").val();
         var password = $("#password").val();
         Meteor.loginWithPassword(username, password, function(err) {
         Meteor.loginWithPassword(username, password, function(err) {
             if (err) {
             if (err) {
-                var errAlert = $('<div style="margin-bottom: 0" class="alert alert-danger" role="alert"><strong>Oh Snap!</strong> ' + err.reason + '</div>');
-                $(".landing").before(errAlert);
-                Meteor.setTimeout(function() {
-                    errAlert.fadeOut(5000, function() {
-                        errAlert.remove();
-                    });
-                }, 5000);
+                var $toastContent = $('<span><strong>Login Failed.</strong> ' + err.reason + '</span>');
+                Materialize.toast($toastContent, 4000);
             } else {
             } else {
                 window.location.href = "/";
                 window.location.href = "/";
             }
             }
@@ -1124,26 +1119,24 @@ Template.register.events({
         var email = $("#email").val()
         var email = $("#email").val()
         var password = $("#password").val();
         var password = $("#password").val();
         var captchaData = grecaptcha.getResponse();
         var captchaData = grecaptcha.getResponse();
-        console.log(captchaData)
-        Meteor.call("createUserMethod", {username: username, email: email, password: password}, captchaData, function(err, res) {
-            grecaptcha.reset();
-
-            if (err) {
-                console.log(err);
-                var errAlert = $('<div style="margin-bottom: 0" class="alert alert-danger" role="alert"><strong>Oh Snap!</strong> ' + err.reason + '</div>');
-                $(".landing").before(errAlert);
-                Meteor.setTimeout(function() {
-                    errAlert.fadeOut(5000, function() {
-                        errAlert.remove();
-                    });
-                }, 5000);
-            } else {
-                Meteor.loginWithPassword(username, password);
-                Accounts.onLogin(function(){
-                    window.location.href = "/";
-                })
-            }
-        });
+        var hasAcceptedTerms = $("#termsPrivacyBTN").is(":checked");
+        if(hasAcceptedTerms){
+            Meteor.call("createUserMethod", {username: username, email: email, password: password}, captchaData, function(err, res) {
+                grecaptcha.reset();
+                if (err) {
+                    var $toastContent = $('<span><strong>Signup Failed.</strong> ' + err.reason + '</span>');
+                    Materialize.toast($toastContent, 4000);
+                } else {
+                    Meteor.loginWithPassword(username, password);
+                    Accounts.onLogin(function(){
+                        window.location.href = "/";
+                    })
+                }
+            });
+        } else{
+            var $toastContent = $('<span><strong>Signup Failed.</strong> You must accept the terms.</span>');
+            Materialize.toast($toastContent, 4000);
+        }
     },
     },
 
 
     "click #github-login": function(){
     "click #github-login": function(){

+ 4 - 0
app/client/stylesheets/app.css

@@ -74,6 +74,10 @@ textarea{
     line-height: 2;
     line-height: 2;
 }
 }
 
 
+.acceptTerms{
+    margin-left: 1px !important;
+}
+
 .register{
 .register{
     margin: 10px 0 0 0px;
     margin: 10px 0 0 0px;
 }
 }

+ 2 - 2
app/client/templates/register.html

@@ -20,10 +20,10 @@
                         <label for="password">Password</label>
                         <label for="password">Password</label>
                     </div>
                     </div>
                 </div>
                 </div>
-                <div class="row">
+                <div class="row acceptTerms">
                     <p>
                     <p>
                         <input type="checkbox" id="termsPrivacyBTN" />
                         <input type="checkbox" id="termsPrivacyBTN" />
-                        <label for="termsPrivacyBTN">By registering you agree to musare.com <a href="/terms" target="_blank">terms & conditions</a> and <a href="/privacy" target="_blank">privacy policy.</a></label>
+                        <label for="termsPrivacyBTN">By registering you agree to Musare's <a href="/terms" target="_blank">terms & conditions</a> and <a href="/privacy" target="_blank">privacy policy.</a></label>
                     </p>
                     </p>
                 </div>
                 </div>
                 {{> reCAPTCHA}}
                 {{> reCAPTCHA}}