Browse Source

Added discord and github sign in buttons. We shouldn't allow signup with these, so that we get their email address at the start.

theflametrooper 8 years ago
parent
commit
9b7a18d283
3 changed files with 39 additions and 22 deletions
  1. 0 5
      backend/logic/coreHandler.js
  2. 3 3
      frontend/components/MainHeader.vue
  3. 36 14
      frontend/pages/Home.vue

+ 0 - 5
backend/logic/coreHandler.js

@@ -71,7 +71,6 @@ module.exports = {
 
 	'/users/register': (username, email, password, recaptcha, cb) => {
 		console.log(username, password);
-		//TODO Check recaptcha
 		request({
 			url: 'https://www.google.com/recaptcha/api/siteverify',
 			method: 'POST',
@@ -94,16 +93,12 @@ module.exports = {
 							if (user) return cb("email");
 							else {
 								//TODO Email verification code, send email
-								//TODO Encrypt password
-
 								bcrypt.genSalt(10, function (err, salt) {
 									if (err) {
 										return cb(err);
 									} else {
-										//Hashing the password with the salt
 										bcrypt.hash(password, salt, function (err, hash) {
 											if (err) {
-												//TODO Throw error
 												return cb(err);
 											} else {
 												let newUser = new global.db.user({

+ 3 - 3
frontend/components/MainHeader.vue

@@ -14,9 +14,9 @@
 				<ul class="nav navbar-nav navbar-right">
 					<li><a href="#">The Project</a></li>
 					<li><a href="#">Donate</a></li>
-					<li v-if="$parent.loggedIn"><a href="#" @click="$parent.logout()">Logout</a></li>
-					<li v-if="!$parent.loggedIn"><a href="#" data-toggle="modal" data-target="#register">Register</a></li>
-					<li v-if="!$parent.loggedIn"><a href="#" data-toggle="modal" data-target="#login">Login</a></li>
+					<li><a href="#" @click="$parent.logout()">Logout</a></li>
+					<li><a href="#" data-toggle="modal" data-target="#register">Register</a></li>
+					<li><a href="#" data-toggle="modal" data-target="#login">Login</a></li>
 				</ul>
 			</div>
 		</div>

+ 36 - 14
frontend/pages/Home.vue

@@ -6,7 +6,7 @@
 				<div class="modal-content">
 					<div class="modal-header">
 						<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
-						<h4 class="modal-title">Register</h4>
+						<h5 class="modal-title">Register</h5>
 					</div>
 					<div class="modal-body">
 						<input class="form-control" type="text" placeholder="Email..." v-model="register.email"/>
@@ -25,11 +25,14 @@
 				<div class="modal-content">
 					<div class="modal-header">
 						<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
-						<h4 class="modal-title">Login</h4>
+						<h5 class="modal-title">Login</h5>
 					</div>
 					<div class="modal-body">
 						<input class="form-control" type="text" placeholder="Email..." v-model="login.email"/>
 						<input class="form-control" type="password" placeholder="Password..." v-model="login.password"/>
+						<hr />
+						<a class="btn btn-block btn-default btn-github" href="/users/github"><i class="fa fa-github"></i> Login with GitHub</a>
+						<a class="btn btn-block btn-default btn-discord" href="/users/discord">Login with Discord</a>
 					</div>
 					<div class="modal-footer">
 						<button type="button" class="btn btn-primary" data-dismiss="modal" @click="this.$dispatch('login');">Submit</button>
@@ -112,9 +115,7 @@
 					url: "/users/logout",
 					dataType: "json",
 					complete: function (msg) {
-						console.log(1, msg);
-						alert("Logged out!");
-						//do something
+						alert("Logged in!");
 						location.reload();
 					}
 				});
@@ -122,8 +123,8 @@
 		},
 		ready: function () {
 			this.socket = io();
-			this.socket.on("ready", function(loggedIn) {
-				this.loggedIn = loggedIn;
+			this.socket.on("ready", function(status) {
+				this.loggedIn = status;
 			});
 		},
 		components: { MainHeader, MainFooter },
@@ -142,12 +143,12 @@
 					contentType: "application/json; charset=utf-8",
 					dataType: "json",
 					success: function (msg) {
-						console.log(1, msg);
+						if (msg) console.log(msg);
 						alert("Registered!");
 						//do something
 					},
-					error: function (errormessage) {
-						console.log(2, errormessage);
+					error: function (err) {
+						if (err) console.log(err);
 						alert("Not registered!");
 						//do something else
 
@@ -166,13 +167,12 @@
 					contentType: "application/json; charset=utf-8",
 					dataType: "json",
 					success: function (msg) {
-						console.log(1, msg);
+						if (msg) console.log(msg);
 						alert("Logged in!");
 						//do something
-						location.reload();
 					},
-					error: function (errormessage) {
-						console.log(2, errormessage);
+					error: function (err) {
+						if (err) console.log(err);
 						alert("Not logged in!");
 						//do something else
 
@@ -291,4 +291,26 @@
 			}
 		}
 	}
+
+	.btn-github {
+		background-color: #333;
+		color: #fff;
+		border: 0;
+
+		&:hover, &:active, &:focus {
+			background-color: darken(#333, 5%);
+			color: #fff;
+		}
+	}
+
+	.btn-discord {
+		background-color: #7289DA;
+		color: #fff;
+		border: 0;
+
+		&:hover, &:active, &:focus {
+			background-color: darken(#7289DA, 5%);
+			color: #fff;
+		}
+	}
 </style>