Added dashboard and some other stuff...
This commit is contained in:
+7
-3
@@ -1,22 +1,26 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>LAX18's Homepage | Contact</title><link rel="icon" type="image/png" href="https://i.imgur.com/A385G44.png">
|
||||
<script src="js/script.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/5.8.2/firebase.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="css/style.css">
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-119545665-1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<body onload="onLoad()">
|
||||
<div id="entirenav">
|
||||
<div id="navbarlogo">
|
||||
<img src="img/LAX18.jpeg" width=64><span id="logofont" style="font-size: 68pt;">LAX18's Homepage</span>
|
||||
</div>
|
||||
<div id="nav">
|
||||
<ul class="nav-bar">
|
||||
<ul class="nav-bar" id="nav-bar">
|
||||
<li class="nav-bar-li"><a href="index.html">Home</a></li>
|
||||
<li class="nav-bar-li"><a href="programs.html">Programs</a></li>
|
||||
<li class="nav-bar-li"><a href="projects.html">Projects</li>
|
||||
<li class="nav-bar-li"><a href="contact.html">Contact</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="logoutbutton"><a href='javascript:logOut();'>Log Out</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="loginbutton"><a href="javascript:logIn();">Log In</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>LAX18's Homepage | Admin Dashboard</title>
|
||||
<script src="js/script.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/5.8.2/firebase.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="css/style.css">
|
||||
<link rel="icon" type="image/png" href="https://i.imgur.com/A385G44.png">
|
||||
<script src="https://www.gstatic.com/firebasejs/5.8.2/firebase.js"></script>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-119545665-1"></script>
|
||||
<script src="js/script.js"></script>
|
||||
<style>
|
||||
td {vertical-align: bottom;text-align: center;}
|
||||
</style>
|
||||
</head>
|
||||
<body onload="onLoad();verify();projectList();">
|
||||
<div id="entirenav">
|
||||
<div id="navbarlogo">
|
||||
<img src="img/LAX18.jpeg" width=64><span id="logofont" style="font-size: 68pt;">LAX18's Homepage</span>
|
||||
</div>
|
||||
<div id="nav">
|
||||
<ul class="nav-bar" id="nav-bar">
|
||||
<li class="nav-bar-li"><a href="index.html">Home</a></li>
|
||||
<li class="nav-bar-li"><a href="programs.html">Programs</a></li>
|
||||
<li class="nav-bar-li"><a href="projects.html">Projects</li>
|
||||
<li class="nav-bar-li"><a href="contact.html">Contact</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="logoutbutton"><a href='javascript:logOut();'>Log Out</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="loginbutton"><a href="javascript:logIn();">Log In</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<h2 id="titles" style="text-align: center; font-size: 26pt;">Admin Dashboard</h2>
|
||||
Add Project:<br>
|
||||
Title:<br>
|
||||
<input id="new-project-title" type="text"><br>
|
||||
Link:<br>
|
||||
<input id="new-project-link" type="text"><br>
|
||||
Status:<br>
|
||||
<select id="new-project-status">
|
||||
<option value="active">Active</option>
|
||||
<option value="inactive">Idle</option>
|
||||
<option value="canceled">Canceled</option>
|
||||
</select><br>
|
||||
Description:<br>
|
||||
<textarea id="new-project-description">
|
||||
</textarea><br>
|
||||
<input type="button" onclick="submitProject();" value="Submit">
|
||||
<br><br>
|
||||
Select Project to Edit:<br>
|
||||
<select id="project-list" onchange="">
|
||||
|
||||
</select>
|
||||
</body>
|
||||
</html>
|
||||
+7
-3
@@ -3,24 +3,28 @@
|
||||
<title>LAX18's Homepage</title>
|
||||
<link rel="stylesheet" type="text/css" href="css/style.css">
|
||||
<link rel="icon" type="image/png" href="https://i.imgur.com/A385G44.png">
|
||||
<script src="https://www.gstatic.com/firebasejs/5.8.2/firebase.js"></script>
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-119545665-1"></script>
|
||||
<script src="js/script.js"></script>
|
||||
<style>
|
||||
td {vertical-align: bottom;text-align: center;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<body onload="onLoad()">
|
||||
<div id="entirenav">
|
||||
<div id="navbarlogo">
|
||||
<img src="img/LAX18.jpeg" width=64><span id="logofont" style="font-size: 68pt;">LAX18's Homepage</span>
|
||||
</div>
|
||||
<div id="nav">
|
||||
<ul class="nav-bar">
|
||||
<ul class="nav-bar" id="nav-bar">
|
||||
<li class="nav-bar-li"><a href="index.html">Home</a></li>
|
||||
<li class="nav-bar-li"><a href="programs.html">Programs</a></li>
|
||||
<li class="nav-bar-li"><a href="projects.html">Projects</li>
|
||||
<li class="nav-bar-li"><a href="contact.html">Contact</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="logoutbutton"><a href='javascript:logOut();'>Log Out</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="loginbutton"><a href="javascript:logIn();">Log In</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+141
@@ -0,0 +1,141 @@
|
||||
// Project Submit
|
||||
function submitProject() {
|
||||
var data = {
|
||||
title: document.getElementById("new-project-title").value,
|
||||
link: document.getElementById("new-project-link").value,
|
||||
status: document.getElementById("new-project-status").value,
|
||||
description: document.getElementById("new-project-description").value
|
||||
}
|
||||
firebase.database().ref("projects/"+document.getElementById("new-project-title").value).set(data)
|
||||
}
|
||||
|
||||
// Pull Project List and Display in Option
|
||||
function projectList() {
|
||||
database = firebase.database().ref("projects");
|
||||
database.once('value', function(snapshot) {
|
||||
snapshot.forEach(function(child) {
|
||||
var a = document.createElement("option")
|
||||
a.setAttribute("value",child["key"])
|
||||
a.innerHTML = child["key"]
|
||||
document.getElementById("project-list").appendChild(a)
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Make completly sure user is authenticated.
|
||||
function verify() {
|
||||
firebase.auth().onAuthStateChanged(function(user) {
|
||||
if (user) {
|
||||
readData("users", function(array) {
|
||||
if (array[firebase.auth().currentUser.uid]) {
|
||||
// Do nothing
|
||||
} else {
|
||||
window.location.href = "unauthorized.html"
|
||||
}});
|
||||
} else {
|
||||
window.location.href = "unauthorized.html"
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// On pages load
|
||||
function onLoad() {
|
||||
document.getElementById("logoutbutton").style.display = "none"
|
||||
startFirebase();
|
||||
checkLogin();
|
||||
}
|
||||
// Starts Firebase
|
||||
function startFirebase() {
|
||||
// Initialize Firebase
|
||||
var config = {
|
||||
apiKey: "AIzaSyBG5-wv3bpeiUjR6BH5GXamqPlH1arXt8Y",
|
||||
authDomain: "homepage-projects-3d870.firebaseapp.com",
|
||||
databaseURL: "https://homepage-projects-3d870.firebaseio.com",
|
||||
projectId: "homepage-projects-3d870",
|
||||
storageBucket: "homepage-projects-3d870.appspot.com",
|
||||
messagingSenderId: "487531629040"
|
||||
};
|
||||
firebase.initializeApp(config);
|
||||
}
|
||||
|
||||
// Firebase Check Log In Status
|
||||
function checkLogin() {
|
||||
firebase.auth().onAuthStateChanged(function(user) {
|
||||
if (user) {
|
||||
readData("users", function(array) {
|
||||
if (array[firebase.auth().currentUser.uid]) {
|
||||
document.getElementById("loginbutton").innerHTML = "<a href='dashboard.html'>Dashboard</a>"
|
||||
var logoutnode = document.createElement("li");
|
||||
document.getElementById("logoutbutton").style.display = "block"
|
||||
} else {
|
||||
document.getElementById("loginbutton").innerHTML = "Welcome, "+firebase.auth().currentUser.displayName
|
||||
document.getElementById("logoutbutton").style.display = "block"
|
||||
}
|
||||
})} else {
|
||||
document.getElementById("loginbutton").innerHTML = "<a href='javascript:logIn();'>Log In</a>"
|
||||
document.getElementById("logoutbutton").style.display = "none"
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Firebase Log In
|
||||
function logIn() {
|
||||
firebase.auth().setPersistence("local")
|
||||
// No user is signed in.
|
||||
var provider = new firebase.auth.GoogleAuthProvider();
|
||||
firebase.auth().signInWithPopup(provider).then(function(result) {
|
||||
// This gives you a Google Access Token. You can use it to access the Google API.
|
||||
var token = result.credential.accessToken;
|
||||
// The signed-in user info.
|
||||
var user = result.user;
|
||||
readData("users", function(array) {
|
||||
checkLogin();
|
||||
});
|
||||
// ...
|
||||
}).catch(function(error) {
|
||||
// Handle Errors here.
|
||||
var errorCode = error.code;
|
||||
var errorMessage = error.message;
|
||||
// The email of the user's account used.
|
||||
var email = error.email;
|
||||
// The firebase.auth.AuthCredential type that was used.
|
||||
var credential = error.credential;
|
||||
console.log(errorCode)
|
||||
console.log(errorMessage)
|
||||
// ...
|
||||
});
|
||||
}
|
||||
|
||||
// Firebase Log Out
|
||||
function logOut() {
|
||||
firebase.auth().signOut().then(function() {
|
||||
checkLogin();
|
||||
}, function(error) {
|
||||
console.log("ERROR")
|
||||
console.log(error)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Firebase Interaction Scripts
|
||||
function readData(ref, callback) {
|
||||
var nextformation = firebase.database().ref(ref);
|
||||
nextformation.on("value", function(data) {
|
||||
var array = data.val();
|
||||
callback(array)
|
||||
});
|
||||
}
|
||||
// global read data and place on page function
|
||||
function setData(ref, element, read1) {
|
||||
var array = readData(ref, function(array) {
|
||||
document.getElementById(element).innerHTML = array[read1]
|
||||
});
|
||||
}
|
||||
|
||||
// Firebase Interaction Scripts
|
||||
function sendData(ref, data) {
|
||||
var database = firebase.database();
|
||||
firebase.database().ref(ref).set(data);
|
||||
}
|
||||
+7
-3
@@ -1,6 +1,8 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>LAX18's Homepage | Programs</title>
|
||||
<script src="js/script.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/5.8.2/firebase.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="css/style.css">
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-119545665-1"></script>
|
||||
@@ -9,18 +11,20 @@ td {border-bottom-style: solid;}
|
||||
tr {margin-bottom: 10px;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<body onload="onLoad()">
|
||||
<div id="entirenav">
|
||||
<div id="navbarlogo">
|
||||
<img src="img/LAX18.jpeg" width=64><span id="logofont" style="font-size: 68pt;">LAX18's Homepage</span>
|
||||
</div>
|
||||
<div id="nav">
|
||||
<ul class="nav-bar">
|
||||
<ul class="nav-bar" id="nav-bar">
|
||||
<li class="nav-bar-li"><a href="index.html">Home</a></li>
|
||||
<li class="nav-bar-li"><a href="programs.html">Programs</a></li>
|
||||
<li class="nav-bar-li"><a href="projects.html">Projects</li>
|
||||
<li class="nav-bar-li"><a href="contact.html">Contact</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="logoutbutton"><a href='javascript:logOut();'>Log Out</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="loginbutton"><a href="javascript:logIn();">Log In</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+7
-3
@@ -1,6 +1,8 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>LAX18's Homepage | Projects</title>
|
||||
<script src="js/script.js"></script>
|
||||
<script src="https://www.gstatic.com/firebasejs/5.8.2/firebase.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="css/style.css">
|
||||
<link rel="icon" type="image/png" href="https://i.imgur.com/A385G44.png">
|
||||
<!-- Place this tag in your head or just before your close body tag. -->
|
||||
@@ -8,18 +10,20 @@
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-119545665-1"></script>
|
||||
</head>
|
||||
<body>
|
||||
<body onload="onLoad()">
|
||||
<div id="entirenav">
|
||||
<div id="navbarlogo">
|
||||
<img src="img/LAX18.jpeg" width=64><span id="logofont" style="font-size: 68pt;">LAX18's Homepage</span>
|
||||
</div>
|
||||
<div id="nav">
|
||||
<ul class="nav-bar">
|
||||
<ul class="nav-bar" id="nav-bar">
|
||||
<li class="nav-bar-li"><a href="index.html">Home</a></li>
|
||||
<li class="nav-bar-li"><a href="programs.html">Programs</a></li>
|
||||
<li class="nav-bar-li"><a href="projects.html">Projects</li>
|
||||
<li class="nav-bar-li"><a href="contact.html">Contact</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li"><a href="libraries/index.html">Libraries</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="logoutbutton"><a href='javascript:logOut();'>Log Out</a></li>
|
||||
<li class="nav-bar-li" style="float: right;" id="loginbutton"><a href="javascript:logIn();">Log In</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Unauthorized Access</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1 style="color: red;font-size: 70pt;text-align: center">
|
||||
ERROR<br>
|
||||
UNAUTHORIZED ACCESS
|
||||
</h1>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user