+
+
+
+
+
+
+
+
+ Title
+ + + + + +Description
+ + +
+
+ New Program
+
+
+
+
+
+
+
+
+
+ Description
+
+
+
+
+
+
+ New Program
+
+
@@ -121,9 +217,9 @@
-
-
Title
diff --git a/dashboard/script.js b/dashboard/script.js
index 9fa430c..307fc0d 100644
--- a/dashboard/script.js
+++ b/dashboard/script.js
@@ -1,109 +1,16 @@
-
-
function onLoad() {
startFirebase()
document.getElementById("main_content").style.display = "none";
document.getElementById("unauthorized").style.display = "none";
checkLogin()
displayProjects("all")
- setInterval(function() {
+ displayProgram()
+ setInterval(function () {
checkLogin();
}, 1000);
+ openProgram();
}
-
-// 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);
-}
-
-function displayProjects(status) {
- document.getElementById("projects").innerHTML = ""
- database = firebase.database().ref("projects");
- database.once('value', function (snapshot) {
- snapshot.forEach(function (child) {
- firebase.database().ref("projects/" + child["key"]).on('value', function (data) {
- var data1 = data.val();
- var a = document.createElement("div")
- var title = data1["title"]
- a.innerHTML = ""
-
- if (status === "all") {
- document.getElementById("projects").appendChild(a)
- } else if (data1["status"] === status) {
- document.getElementById("projects").appendChild(a)
- }
- })
- })
- });
-}
-
-function openProjects() {
- document.getElementById("projects_tab").style.display = "block"
-}
-
-function newProject() {
- var data = {
- title: document.getElementById("new-project-title").value.replace(/\./g, ","),
- link: document.getElementById("new-project-link").value,
- status: document.getElementById("new-project-status-value").value,
- description: document.getElementById("new-project-description").value
- }
- firebase.database().ref("projects/" + document.getElementById("new-project-title").value.replace(/\./g, ",")).set(data)
- document.getElementById("new-project-title").value = '';
- document.getElementById("new-project-link").value = '';
- document.getElementById("new-project-status-value").value = 'active';
- document.getElementById("new-project-description").value = '';
- document.getElementById("new-project-box").style.display = "none"
- displayProjects("all")
-}
-
-function openNewProject() {
- document.getElementById("new-project-box").style.display = "block"
- document.getElementById("edit-project-box").style.display = "none"
-}
-
-// Edit Selected Project
-function saveProject() {
- var title = document.getElementById("edit-project-title").innerHTML.replace(/\./g,",")
- var data = {
- title: title,
- link: document.getElementById("edit-project-link").value,
- status: document.getElementById("edit-project-status-value").value,
- description: document.getElementById("edit-project-description").value
- }
- firebase.database().ref("projects/" + title).set(data)
- document.getElementById("edit-project-title").innerHTML = '';
- document.getElementById("edit-project-link").value = '';
- // document.getElementById("edit-project-status").value = 'active';
- document.getElementById("edit-project-description").value = '';
- document.getElementById("edit-project-box").style.display = "none"
- displayProjects("all")
-}
-
-
-function editProject(name) {
- var title = name.replace(/`/g, "'")
- var database = firebase.database().ref("projects/" + title);
- database.on('value', function(data) {
- var data1 = data.val()
- document.getElementById("edit-project-title").innerText = title.replace(/,/g, ".")
- document.getElementById("edit-project-link").value = data1["link"]
- document.getElementById("edit-project-status-value").value = data1["status"]
- document.getElementById("edit-project-description").value = data1["description"]
- document.getElementById("edit-project-box").style.display = "block"
- document.getElementById("new-project-box").style.display = "none"
- })
-}
-
+// START FIREBASE STUFF
// Firebase Check Log In Status
function checkLogin() {
@@ -134,6 +41,20 @@ function 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 Log In
function logIn() {
firebase.auth().setPersistence("local")
@@ -191,4 +112,177 @@ function setData(ref, element, read1) {
function sendData(ref, data) {
var database = firebase.database();
firebase.database().ref(ref).set(data);
+}
+//END FIREBASE STUFF
+
+// START PROJECTS STUFF
+
+function displayProjects(status) {
+ document.getElementById("projects").innerHTML = ""
+ database = firebase.database().ref("projects");
+ database.once('value', function (snapshot) {
+ snapshot.forEach(function (child) {
+ firebase.database().ref("projects/" + child["key"]).on('value', function (data) {
+ var data1 = data.val();
+ var a = document.createElement("div")
+ var title = data1["title"]
+ a.innerHTML = ""
+
+ if (status === "all") {
+ document.getElementById("projects").appendChild(a)
+ } else if (data1["status"] === status) {
+ document.getElementById("projects").appendChild(a)
+ }
+ })
+ })
+ });
+}
+
+function openProjects() {
+ document.getElementById("projects_tab").style.display = "block"
+ document.getElementById("program_tab").style.display = "none"
+ document.getElementById("page_title").innerHTML = "Dashboard - Projects"
+}
+
+function newProject() {
+ var data = {
+ title: document.getElementById("new-project-title").value.replace(/\./g, ","),
+ link: document.getElementById("new-project-link").value,
+ status: document.getElementById("new-project-status-value").value,
+ description: document.getElementById("new-project-description").value
+ }
+ firebase.database().ref("projects/" + document.getElementById("new-project-title").value.replace(/\./g, ",")).set(data)
+ document.getElementById("new-project-title").value = '';
+ document.getElementById("new-project-link").value = '';
+ document.getElementById("new-project-status-value").value = 'active';
+ document.getElementById("new-project-description").value = '';
+ document.getElementById("new-project-box").style.display = "none"
+ displayProjects("all")
+}
+
+function openNewProject() {
+ document.getElementById("new-project-box").style.display = "block"
+ document.getElementById("edit-project-box").style.display = "none"
+}
+
+// Edit Selected Project
+function saveProject() {
+ var title = document.getElementById("edit-project-title").innerHTML.replace(/\./g, ",")
+ var data = {
+ title: title,
+ link: document.getElementById("edit-project-link").value,
+ status: document.getElementById("edit-project-status-value").value,
+ description: document.getElementById("edit-project-description").value
+ }
+ firebase.database().ref("projects/" + title).set(data)
+ document.getElementById("edit-project-title").innerHTML = '';
+ document.getElementById("edit-project-link").value = '';
+ // document.getElementById("edit-project-status").value = 'active';
+ document.getElementById("edit-project-description").value = '';
+ document.getElementById("edit-project-box").style.display = "none"
+ displayProjects("all")
+}
+
+
+function editProject(name) {
+ var title = name.replace(/`/g, "'")
+ var database = firebase.database().ref("projects/" + title);
+ database.on('value', function (data) {
+ var data1 = data.val()
+ document.getElementById("edit-project-title").innerText = title.replace(/,/g, ".")
+ document.getElementById("edit-project-link").value = data1["link"]
+ document.getElementById("edit-project-status-value").value = data1["status"]
+ document.getElementById("edit-project-description").value = data1["description"]
+ document.getElementById("edit-project-box").style.display = "block"
+ document.getElementById("new-project-box").style.display = "none"
+ })
+}
+// END PROJECTS STUFF
+
+// START PROGRAM STUFF
+
+function displayProgram() {
+ document.getElementById("program").innerHTML = ""
+ database = firebase.database().ref("programs");
+ database.once('value', function (snapshot) {
+ snapshot.forEach(function (child) {
+ firebase.database().ref("programs/" + child["key"]).on('value', function (data) {
+ var data1 = data.val();
+ var a = document.createElement("div")
+ var title = data1["title"]
+ //a.innerHTML = ""
+ a.innerHTML = " "
+ document.getElementById("program").appendChild(a)
+ })
+ })
+ });
+}
+
+function openProgram() {
+ document.getElementById("program_tab").style.display = "block"
+ document.getElementById("projects_tab").style.display = "none"
+ document.getElementById("page_title").innerHTML = "Dashboard - Software"
+}
+
+
+function newProgram() {
+ var data = {
+ title: document.getElementById("new-program-title").value.replace(/\./g, ","),
+ imglink: document.getElementById("new-program-image").value,
+ description: document.getElementById("new-program-description").value,
+ author: document.getElementById("new-program-author").value,
+ programtype: document.getElementById("new-program-type").value,
+ link: document.getElementById("new-program-link").value
+ }
+ firebase.database().ref("programs/" + document.getElementById("new-program-title").value.replace(/\./g, ",")).set(data)
+ document.getElementById("new-program-title").value = '';
+ document.getElementById("new-program-link").value = '';
+ document.getElementById("new-program-image").value = '';
+ document.getElementById("new-program-type").value = '';
+ document.getElementById("new-program-author").value = '';
+ document.getElementById("new-program-description").value = '';
+ document.getElementById("new-program-box").style.display = "none"
+ displayProgram()
+}
+
+function openNewProgram() {
+ document.getElementById("new-program-box").style.display = "block"
+ document.getElementById("edit-program-box").style.display = "none"
+}
+
+// Edit Selected Program
+function saveProgram() {
+ var title = document.getElementById("edit-program-title").innerHTML.replace(/\./g, ",")
+ var data = {
+ title: title,
+ imglink: document.getElementById("edit-program-link").value,
+ description: document.getElementById("edit-program-description").value,
+ author: document.getElementById("edit-program-author").value,
+ programtype: document.getElementById("edit-program-type").value,
+ link: document.getElementById("edit-program-link").value
+ }
+ firebase.database().ref("programs/" + title).set(data)
+ document.getElementById("edit-program-title").innerHTML = '';
+ document.getElementById("edit-program-link").value = '';
+ // document.getElementById("edit-program-status").value = 'active';
+ document.getElementById("edit-program-description").value = '';
+ document.getElementById("edit-program-box").style.display = "none"
+ displayProgram()
+}
+
+
+function editProgram(name) {
+ var title = name.replace(/`/g, "'")
+ var database = firebase.database().ref("programs/" + title);
+ database.on('value', function (data) {
+ var data1 = data.val()
+ document.getElementById("edit-program-title").innerText = title.replace(/,/g, ".")
+ document.getElementById("edit-program-link").value = data1["link"]
+ document.getElementById("edit-program-image").value = data1["imglink"]
+ document.getElementById("edit-program-author").value = data1["author"]
+ document.getElementById("edit-program-type").value = data1["programtype"]
+ document.getElementById("edit-program-description").value = data1["description"]
+ document.getElementById("edit-program-box").style.display = "block"
+ document.getElementById("new-program-box").style.display = "none"
+ })
}
\ No newline at end of file
diff --git a/dashboard/style.css b/dashboard/style.css
index 010acd6..3bef143 100644
--- a/dashboard/style.css
+++ b/dashboard/style.css
@@ -121,6 +121,24 @@
margin: 10px;
}
+ #new_button_program {
+ position: absolute;
+ right: 3%;
+ bottom: 3.5%;
+ z-index: 1;
+}
+
+ #program_tab {
+ width: 100%;
+ height: 100%;
+ ;
+ }
+
+ .program-card {
+ width: 90%;
+ margin: 10px;
+ }
+
.login-card {
position: absolute;
top: 0;