From e388864082ed69ab156a77ebc53d2b04d7e1f003 Mon Sep 17 00:00:00 2001 From: Nicholas Pease Date: Tue, 29 Jun 2021 21:10:32 -0400 Subject: [PATCH] Added Blogs to Dashboard --- dashboard/index.html | 66 +++++++++++++++++++++++++++++++- dashboard/script.js | 89 +++++++++++++++++++++++++++++++++++++++++++- dashboard/style.css | 12 ++++++ 3 files changed, 164 insertions(+), 3 deletions(-) diff --git a/dashboard/index.html b/dashboard/index.html index ff7566f..5923131 100644 --- a/dashboard/index.html +++ b/dashboard/index.html @@ -98,7 +98,7 @@ class="mdl-color-text--blue-grey-400 material-icons" role="presentation">homeHome grid_viewProjects - rss_feedBlog Posts developer_boardSoftware @@ -291,6 +291,70 @@ New Project + diff --git a/dashboard/script.js b/dashboard/script.js index 307fc0d..d6c9221 100644 --- a/dashboard/script.js +++ b/dashboard/script.js @@ -5,10 +5,10 @@ function onLoad() { checkLogin() displayProjects("all") displayProgram() + displayBlog(); setInterval(function () { checkLogin(); }, 1000); - openProgram(); } // START FIREBASE STUFF @@ -141,6 +141,7 @@ function displayProjects(status) { function openProjects() { document.getElementById("projects_tab").style.display = "block" document.getElementById("program_tab").style.display = "none" + document.getElementById("blogs_tab").style.display = "none" document.getElementById("page_title").innerHTML = "Dashboard - Projects" } @@ -221,6 +222,7 @@ function displayProgram() { function openProgram() { document.getElementById("program_tab").style.display = "block" document.getElementById("projects_tab").style.display = "none" + document.getElementById("blogs_tab").style.display = "none" document.getElementById("page_title").innerHTML = "Dashboard - Software" } @@ -285,4 +287,87 @@ function editProgram(name) { document.getElementById("edit-program-box").style.display = "block" document.getElementById("new-program-box").style.display = "none" }) -} \ No newline at end of file +} + +// END PROGRAM STUFF + +// START BLOG POSTS +// START PROGRAM STUFF + +function displayBlog() { + document.getElementById("blog").innerHTML = "" + database = firebase.database().ref("blogs"); + database.once('value', function (snapshot) { + snapshot.forEach(function (child) { + firebase.database().ref("blogs/" + child["key"]).on('value', function (data) { + var data1 = data.val(); + var a = document.createElement("div") + var title = data1["title"] + a.innerHTML = "

" + data1['title'].replace(/,/g, '.') + "

" + data1['post'] + "
" + //a.innerHTML = "

" + data1['title'] + "

" + document.getElementById("blog").appendChild(a) + }) + }) + }); +} + +function openBlog() { + document.getElementById("blogs_tab").style.display = "block" + document.getElementById("projects_tab").style.display = "none" + document.getElementById("program_tab").style.display = "none" + document.getElementById("page_title").innerHTML = "Dashboard - Blog" +} + + +function newBlog() { + var date = new Date(); + var data = { + title: document.getElementById("new-blog-title").value.replace(/\./g, ","), + post: document.getElementById("new-blog-description").value, + author: document.getElementById("new-blog-author").value, + date: date.toString(0) + } + firebase.database().ref("blogs/" + document.getElementById("new-blog-title").value.replace(/\./g, ",")).set(data) + document.getElementById("new-blog-title").value = ''; + document.getElementById("new-blog-author").value = ''; + document.getElementById("new-blog-description").value = ''; + document.getElementById("new-blog-box").style.display = "none" + displayBlog() +} + +function openNewBlog() { + document.getElementById("new-blog-box").style.display = "block" + document.getElementById("edit-blog-box").style.display = "none" +} + +// Edit Selected Blog +function saveBlog() { + var title = document.getElementById("edit-blog-title").innerHTML.replace(/\./g, ",") + var data = { + title: title, + post: document.getElementById("edit-blog-description").value, + author: document.getElementById("edit-blog-author").value + } + firebase.database().ref("blogs/" + title).set(data) + document.getElementById("edit-blog-title").innerHTML = ''; + document.getElementById("edit-blog-author").innerHTML = ''; + document.getElementById("edit-blog-description").value = ''; + document.getElementById("edit-blog-box").style.display = "none" + displayBlog() +} + + +function editBlog(name) { + var title = name.replace(/`/g, "'") + var database = firebase.database().ref("blogs/" + title); + database.on('value', function (data) { + var data1 = data.val() + document.getElementById("edit-blog-title").innerText = title.replace(/,/g, ".") + document.getElementById("edit-blog-author").value = data1["author"] + document.getElementById("edit-blog-description").value = data1["post"] + document.getElementById("edit-blog-box").style.display = "block" + document.getElementById("new-blog-box").style.display = "none" + }) +} + +// END PROGRAM STUFF \ No newline at end of file diff --git a/dashboard/style.css b/dashboard/style.css index 3bef143..3a62295 100644 --- a/dashboard/style.css +++ b/dashboard/style.css @@ -128,6 +128,13 @@ z-index: 1; } +#new_button_blogs { + position: absolute; + right: 3%; + bottom: 3.5%; + z-index: 1; +} + #program_tab { width: 100%; height: 100%; @@ -139,6 +146,11 @@ margin: 10px; } + .blog-card { + width: 90%; + margin: 10px; +} + .login-card { position: absolute; top: 0;