Login functionality updated

This commit is contained in:
Minik Gaarde Lambrecht
2021-03-26 08:35:51 +01:00
parent 067ec202d0
commit 673af052d5
12 changed files with 322 additions and 58 deletions
+5
View File
@@ -28,6 +28,11 @@
<body>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary">Left</button>
<button type="button" class="btn btn-primary">Middle</button>
<button type="button" class="btn btn-primary">Right</button>
</div>
<div class="HeaderPanel">
<div class="HeaderLeft">
<a href="../Index.html">
View File
+9 -3
View File
@@ -84,11 +84,15 @@
</a>
</li>
</ul>
<a id="NavLogin" type="button" class="nav-link LoginButton" data-bs-toggle="modal" data-bs-target="#LoginModal" style="display: block;">
<a id="AdminPanel" type="button" class="nav-link RightNavButton" style="display: none;">
Admin Panel
</a>
<a id="NavLogin" type="button" class="nav-link RightNavButton" data-bs-toggle="modal" data-bs-target="#LoginModal" style="display: block;">
Login
</a>
<a id="NavUser" type="button" class="nav-link LoginButton" style="display: none;">
<a id="NavUser" class="nav-link RightNavText" style="display: none;"></a>
<a id="UserLogout" type="button" class="nav-link RightNavButton" style="display: none;">
Logout
</a>
</div>
</div>
@@ -129,7 +133,9 @@
<input id="loginUsername" type="text" name="groupName" placeholder="Gruppe navn">
<input id="loginPassword" type="password" name="password" placeholder="Password">
<input id="LoginBtn" type="submit" name="login" value="Login">
<input id="AdminLoginBtn" type="submit" name="aLogin" value="Login som admin">
</form>
</div>
<div class="tab-pane fade" id="Registrer" role="tabpanel" aria-labelledby="RegistrerTab">
+126 -22
View File
@@ -1,28 +1,36 @@
$(document).ready(function () {
// Register Start
let selectedGameJam;
let MemberSize = $('#NUDDisplay').text();
let displayValue = 0;
let arr = [
let AvailableJams = [
{"id": "-1", "Gamejam": "Vælg aktivt GameJam"}
];
let GroupName = getCookie('groupName');
let GroupId = getCookie('groupId');
// Control Logged in users
if (GroupId != null)
{
LoggedInUser();
}
//
// Register Start
// Populate select with options from the database
axios.get('/Backend/Controllers/GameJam/GetGameJam.php')
.then(function(res) {
let resArr = res.data;
let resArr = res.data.data;
//console.log(res.data.data);
for(let i = 0; i < res.data.data.length; i++)
for(let i = 0; i < resArr.length; i++)
{
arr.push({
id: res.data.data[i].id,
Gamejam: res.data.data[i].name
AvailableJams.push({
id: resArr[i].id,
Gamejam: resArr[i].name
});
}
$.each(arr, function(i, data) {
$.each(AvailableJams, function(i, data) {
if (i === 0)
{
$('#GameJamSelect').append('<option disabled selected value="' + data.id + '">' + data.Gamejam + '</option>');
@@ -154,7 +162,15 @@ $(document).ready(function () {
axios.post(URL, formData, {
header: 'multipart/form-data'
}).then(res => {
console.log(res);
if (res.status == 201)
{
let LoginModalElem = document.getElementById('LoginModal')
let LoginModal = bootstrap.Modal.getInstance(LoginModalElem);
LoginModal.hide();
LoggedInUser();
}
}).catch(error => {
console.log(error);
});
@@ -189,20 +205,14 @@ $(document).ready(function () {
$('#NUDDisplay').text(displayValue);
}
});
async function GetGroupNames() {
const res = await axios.get('/Backend/Controllers/Group/GetGroup.php');
return res.data;
}
// Register end
// Login start
$('#LoginForm').submit(function(e) {
let URL = "/Backend/Controllers/Group/Login.php";
$('#loginUsername').attr('name') = "groupName";
let form = $('#LoginForm')[0];
let formData = new FormData(form);
@@ -211,13 +221,17 @@ $(document).ready(function () {
formData.append(id, value);
axios.post(URL, formData, {
header: 'multipart/form-data'
}).then(res => {
if (res.status === 200)
{
console.log('Logged in');
let LoginModalElem = document.getElementById('LoginModal')
let LoginModal = bootstrap.Modal.getInstance(LoginModalElem);
LoginModal.hide();
LoggedInUser();
}
}).catch(error => {
console.log(error);
@@ -226,4 +240,94 @@ $(document).ready(function () {
e.preventDefault();
})
// Login end
// Admin Login Start
$('#AdminLoginBtn').submit(function(e) {
let URL = "/Backend/Controllers/Admin/AdminLogin.php";
$('#loginUsername').attr('name') = "userName";
let form = $('#LoginForm')[0];
let formData = new FormData(form);
let id = $('#LoginBtn').attr('name');
let value = $('#LoginBtn').val();
formData.append(id, value);
axios.post(URL, formData, {
header: 'multipart/form-data'
}).then(res => {
if (res.status === 200)
{
let LoginModalElem = document.getElementById('LoginModal')
let LoginModal = bootstrap.Modal.getInstance(LoginModalElem);
LoginModal.hide();
LoggedInUser();
}
}).catch(error => {
console.log(error);
});
e.preventDefault();
});
// Admin Login End
// Logout Start
$('#UserLogout').click(function() {
axios.get('/Backend/Controllers/Group/Logout.php').then(res => {
if(res.status === 200)
{
UserLoggedOut();
}
}).catch(error => {
console.log(error);
});
});
// Logout End
// Functions Start
function LoggedInUser() {
$('#NavLogin').css({
"display": "none"
});
$('#UserLogout').css({
"display": "block"
});
$('#NavUser').text(`Logget ind som: ${GroupName}`);
$('#NavUser').css({
"display": "block"
});
}
function UserLoggedOut() {
$('#NavLogin').css({
"display": "block"
});
$('#UserLogout').css({
"display": "None"
});
$('#NavUser').css({
"display": "none"
});
}
async function GetGroupNames() {
const res = await axios.get('/Backend/Controllers/Group/GetGroup.php');
return res.data;
}
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}
// Functions End
});
+19
View File
@@ -0,0 +1,19 @@
$(window).on("load", function(){
dataFetch();
});
function dataFetch(){
$.ajax({
type: "GET",
url: "/Game-Jaming/Backend/controllers/GameJam/GetGameJam.php",
success: function(result){
console.log(result[0].name);
}
});
}
//console.log(result.name); ?gameJamId=1
//console.log(result[0].name); uden ?gameJamId=1
+26 -6
View File
@@ -118,11 +118,15 @@ a:hover {
margin: 1vw 10vw 0;
}
.LoginButton {
.RightNavText {
color: rgba(255, 255, 255, .75);
}
.RightNavButton {
color: rgba(255, 255, 255, .55);
}
.LoginButton:hover {
.RightNavButton:hover {
color: rgba(255, 255, 255, .75);
}
@@ -259,7 +263,7 @@ a:hover {
.modal-body {
padding: 0 0;
margin: 2vh 2vw;
margin: 1vh 1vw;
background-color: rgb(18, 18, 18);
}
@@ -470,11 +474,12 @@ a:hover {
color: rgba(255, 255, 255, .75);
}
.box input[type="submit"] {
.box #LoginBtn,
.box #RegisterBtn {
border: 0;
background: none;
display: block;
margin: 20px auto;
margin: 20px auto 0 auto;
text-align: center;
border: 2px solid rgb(46, 204, 113);
padding: 14px 40px;
@@ -485,7 +490,22 @@ a:hover {
cursor: pointer;
}
.box input[type="submit"]:hover {
.box #AdminLoginBtn {
border: 0;
background: transparent;
color: rgba(255, 255, 255, .55);
display: block;
margin: 0 auto;
text-align: center;
padding: 14px 10px;
outline: none;
border-radius: 24px;
transition: 0.25s;
cursor: pointer;
}
.box #LoginBtn:hover,
.box #RegisterBtn:hover {
background: rgb(46, 204, 113);
color: rgba(255, 255, 255, .75);
}