From f5ee6f7aff8e416760c9e1e288e88bfd590f4d1a Mon Sep 17 00:00:00 2001 From: Kenneth Jao Date: Tue, 6 Sep 2016 00:27:43 -0400 Subject: [PATCH] Added classesfor admin --- hourglass/client/admin/admin.css | 58 ++++++++++++++++++++++- hourglass/client/admin/admin.html | 76 ++++++++++++++++++++++++++++--- hourglass/client/admin/admin.js | 51 +++++++++++++++------ hourglass/client/main/main.js | 2 +- 4 files changed, 164 insertions(+), 23 deletions(-) diff --git a/hourglass/client/admin/admin.css b/hourglass/client/admin/admin.css index b443669..877405d 100644 --- a/hourglass/client/admin/admin.css +++ b/hourglass/client/admin/admin.css @@ -1,6 +1,8 @@ #adminBanner { width: 100%; + height: 32%; position: relative; + background-size: 100vw; } #adminTabs { @@ -106,6 +108,58 @@ #adminContent { width: 90%; - height: 100%; + height: 68%; float: right; -} \ No newline at end of file + overflow-y: scroll; +} + +.classItem { + width: 20%; + margin: 2% 0 2% 2%; + padding: 1.5%; + + box-shadow: 2px 2px 5px 3px #666; + + display: inline-block; +} + +.classItem h2 { + -webkit-filter: none; + filter: none; +} + +.basicInfo, .userInfo { + width: 90%; + padding: 2% 0 5% 10%; + display: table; +} + +.keyContainer { + width: 100%; + margin: 5% 0 0 0; + display: table-row; +} + +.key { + font-weight: 400; + font-size: 120%; + width: 40%; + padding-top: 2%; + display: table-cell; +} + +.modify { + width: 60%; + padding: 0; + display: table-cell; +} + +.aUserContainer { + margin-left: -50%; +} + +.aUserContainer p { + margin: 0; + padding: 1%; +} + diff --git a/hourglass/client/admin/admin.html b/hourglass/client/admin/admin.html index dd5cf95..02b8107 100644 --- a/hourglass/client/admin/admin.html +++ b/hourglass/client/admin/admin.html @@ -1,11 +1,11 @@ - diff --git a/hourglass/client/admin/admin.js b/hourglass/client/admin/admin.js index 6217b95..11db086 100644 --- a/hourglass/client/admin/admin.js +++ b/hourglass/client/admin/admin.js @@ -2,10 +2,7 @@ Session.set("adminTab","aClasses"); Template.admin.helpers({ banner() { - if(Meteor.user() === null || Meteor.user() === undefined) return; - var w = window.innerWidth; - var h = window.innerHeight * 0.3; - return "width:" + w + "px;height:" + h + "px;background-image:url(\'" + Meteor.user().profile.banner + "\');background-size:" + w+"px"; + return "background-image:url(" + Session.get("user").banner + ")"; }, filters() { return [{filter:"Lol"}]; @@ -13,13 +10,41 @@ Template.admin.helpers({ adminTab(val) { return Session.equals("adminTab",val); }, + adminTabColor(val) { + var value = {true:"header",false:"adminButtons"}; + return themeColors[Session.get("user").preferences.theme][value[Session.equals("adminTab",val)]]; + }, collection(val) { switch(val) { case "classes": - var classes = classes.find().fetch(); - for(var i = 0; i < classes.length; i++) { - + var userClasses = classes.find().fetch(); + for(var i = 0; i < userClasses.length; i++) { + if(userClasses[i].privacy) { + userClasses[i].privacy = "True"; + } else { + userClasses[i].privacy = "False"; + } + + if(userClasses[i].code === "") { + userClasses[i].code = "None"; + } + userClasses[i].category = userClasses[i].category.charAt(0).toUpperCase() + userClasses[i].category.slice(1); + + userClasses[i].admin = getEmail(userClasses[i].admin); + var types = ["subscribers","moderators","banned"]; + for(var j = 0; j < types.length; j++) { + if(userClasses[i][types[j]].length === 0) { + userClasses[i][types[j]][k] = {"email":"None"}; + continue; + } + for(var k = 0; k < userClasses[i][types[j]].length; k++) { + userClasses[i][types[j]][k] = { + "email": getEmail(userClasses[i][types[j]][k]) + }; + } + } } + return userClasses; break; case "users": break; @@ -35,10 +60,10 @@ Template.admin.helpers({ Template.admin.events({ 'click #adminTabs li' (event) { - var id = event.target.id; - document.getElementById(Session.get("adminTab")).style.backgroundColor = themeColors[Meteor.user().profile.preferences.theme].adminButtons; - Session.set("adminTab",id); - document.getElementById(id).style.backgroundColor = themeColors[Meteor.user().profile.preferences.theme].header; - + Session.set("adminTab",event.target.id); } -}) \ No newline at end of file +}); + +function getEmail(id) { + return Meteor.users.findOne({_id:id}).services.google.email; +} \ No newline at end of file diff --git a/hourglass/client/main/main.js b/hourglass/client/main/main.js index b66af2b..162efd1 100644 --- a/hourglass/client/main/main.js +++ b/hourglass/client/main/main.js @@ -36,7 +36,7 @@ var ref = { }; // Reactive variables. -Session.set("user",null); // Stores user preferences. +Session.set("user",{}); // Stores user preferences. Session.set("calendarClasses", null); Session.set("sidebar", null); // Status of sidebar Session.set("newWork", null); // If user creating new work.