diff --git a/calendar.html b/calendar.html
index 840bc641..4057d20e 100644
--- a/calendar.html
+++ b/calendar.html
@@ -9,7 +9,7 @@
-
+
\ No newline at end of file
diff --git a/css/popup.css b/css/popup.css
index 12a0f4ad..4507d85b 100644
--- a/css/popup.css
+++ b/css/popup.css
@@ -1,11 +1,11 @@
.card {
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
transition: 0.3s;
margin: 5px;
}
.card:hover {
- box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.2);
+ box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2), 0 4px 20px 0 rgba(0, 0, 0, 0.19);
}
.container {
@@ -25,6 +25,15 @@ body {
min-height: 400px;
}
+.settingsbut {
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ float: right;
+ margin-right: 5px;
+ border: 0px
+}
+
.matbut {
border: none;
outline: none;
@@ -84,10 +93,12 @@ body {
transform: scale(0, 0);
opacity: 1;
}
+
20% {
transform: scale(25, 25);
opacity: 1;
}
+
100% {
opacity: 0;
transform: scale(40, 40);
diff --git a/js/background.js b/js/background.js
index 07b38421..26e1e067 100644
--- a/js/background.js
+++ b/js/background.js
@@ -1,23 +1,19 @@
/* Handle messages and their commands from content and popup scripts*/
-chrome.runtime.onMessage.addListener(function(request, sender, response) {
- if(request.command == "courseStorage") {
- if(request.action == "add"){
- add(request,sender,response);
+chrome.runtime.onMessage.addListener(function (request, sender, response) {
+ if (request.command == "courseStorage") {
+ if (request.action == "add") {
+ add(request, sender, response);
}
- if(request.action == "remove"){
- remove(request,sender,response);
+ if (request.action == "remove") {
+ remove(request, sender, response);
}
- }
- else if(request.command == "isSingleConflict"){
- isSingleConflict(request.dtarr,request.unique,response);
- }
- else if(request.command == "checkConflicts"){
+ } else if (request.command == "isSingleConflict") {
+ isSingleConflict(request.dtarr, request.unique, response);
+ } else if (request.command == "checkConflicts") {
checkConflicts(response);
- }
- else if(request.command == "alreadyContains"){
- alreadyContains(request.unique,response);
- }
- else{
+ } else if (request.command == "alreadyContains") {
+ alreadyContains(request.unique, response);
+ } else {
const xhr = new XMLHttpRequest();
const method = request.method ? request.method.toUpperCase() : "GET";
xhr.open(method, request.url, true);
@@ -32,71 +28,83 @@ chrome.runtime.onMessage.addListener(function(request, sender, response) {
});
/* Initially set the course data in storage */
-chrome.runtime.onInstalled.addListener(function() {
- var arr = new Array();
- chrome.storage.sync.set({savedCourses: arr}, function() {
- console.log('initial course list');
- });
- chrome.storage.sync.set({courseConflictHighlight: true}, function() {
- console.log('initial highlighting: true');
- });
+chrome.runtime.onInstalled.addListener(function () {
+ var arr = new Array();
+ chrome.storage.sync.set({
+ savedCourses: arr
+ }, function () {
+ console.log('initial course list');
+ });
+ chrome.storage.sync.set({
+ courseConflictHighlight: true
+ }, function () {
+ console.log('initial highlighting: true');
+ });
});
/* Find all the conflicts in the courses and send them out/ if there is even a conflict*/
function checkConflicts(sendResponse) {
- chrome.storage.sync.get('savedCourses', function(data) {
+ chrome.storage.sync.get('savedCourses', function (data) {
var conflicts = [];
var courses = data.savedCourses;
- for(var i = 0; i nextimes[0]){
+ if (nextday == currday) {
+ if (currtimes[0] < nextimes[1] && currtimes[1] > nextimes[0]) {
return true;
}
}
@@ -107,42 +115,54 @@ function isConflict(adtarr, bdtarr){
/* Add the requested course to the storage*/
function add(request, sender, sendResponse) {
- chrome.storage.sync.get('savedCourses', function(data) {
+ chrome.storage.sync.get('savedCourses', function (data) {
var courses = data.savedCourses;
courses.push(request.course)
console.log(courses);
- chrome.storage.sync.set({savedCourses: courses});
- sendResponse({done:"Added: ("+request.course.unique+") "+request.course.coursename,label:"Remove Course -"});
+ chrome.storage.sync.set({
+ savedCourses: courses
+ });
+ sendResponse({
+ done: "Added: (" + request.course.unique + ") " + request.course.coursename,
+ label: "Remove Course -"
+ });
});
}
/* Find and Remove the requested course from the storage*/
function remove(request, sender, sendResponse) {
- chrome.storage.sync.get('savedCourses', function(data) {
+ chrome.storage.sync.get('savedCourses', function (data) {
var courses = data.savedCourses;
console.log(courses);
var index = 0;
- while(index(${savedCourses[currindex].unique})`);
$("#timelines").append(makeLine(savedCourses[currindex].datetimearr));
- var uncapProf = savedCourses[currindex].profname
- uncapProf = uncapProf.charAt(0) + uncapProf.substring(1).toLowerCase();
+ var uncapProf = prettifyName(savedCourses[currindex].profname);
+ if (uncapProf == "") {
+ uncapProf = "Undecided";
+ }
$("#prof").html(`with ${uncapProf}`);
}
});
@@ -186,8 +188,10 @@ $(function () {
var classInfo = savedCourses[i];
var department = classInfo.coursename.substring(0, classInfo.coursename.search(/\d/) - 2);
var course_nbr = classInfo.coursename.substring(classInfo.coursename.search(/\d/), classInfo.coursename.indexOf(" ", classInfo.coursename.search(/\d/)));
- var uncapProf = classInfo.profname;
- uncapProf = uncapProf.charAt(0) + uncapProf.substring(1).toLowerCase();
+ var uncapProf = prettifyName(classInfo.profname);
+ if (uncapProf == "") {
+ uncapProf = "Undecided";
+ }
classSchedules.push({
title: `${department}-${course_nbr} with ${uncapProf}`,
start: moment().format("YYYY-MM-") +
@@ -227,4 +231,10 @@ $(function () {
$("#calendar").fullCalendar('addEventSource', classSchedules, true);
});
}
+ /* Format the Professor Name */
+ function prettifyName(profname) {
+ return profname.replace(/\w\S*/g, function (txt) {
+ return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
+ });
+ }
});
\ No newline at end of file
diff --git a/js/popup.js b/js/popup.js
index 7fa0cb58..8d1aa4e2 100644
--- a/js/popup.js
+++ b/js/popup.js
@@ -37,7 +37,10 @@ chrome.storage.sync.get('savedCourses', function (data) {
}
var department = courses[i].coursename.substring(0, courses[i].coursename.search(/\d/) - 2);
var course_nbr = courses[i].coursename.substring(courses[i].coursename.search(/\d/), courses[i].coursename.indexOf(" ", courses[i].coursename.search(/\d/)));
- var profname = courses[i].profname.substring(0, 1) + courses[i].profname.substring(1).toLowerCase();
+ var profname = prettifyName(courses[i].profname);
+ if (profname == "") {
+ profname = "Undecided Professor";
+ }
var listhtml = "" + department + " " + course_nbr + "" + " with " + profname + " (" + courses[i].unique + ")" + "
▼
" + makeLine(i) + "
";
$("#courseList").append(listhtml);
}
@@ -50,6 +53,13 @@ function getSimpleName(coursename, unique) {
return department + " " + course_nbr + " (" + unique + ")";
}
+/* Format the Professor Name */
+function prettifyName(profname) {
+ return profname.replace(/\w\S*/g, function (txt) {
+ return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
+ });
+}
+
/* Update the conflict messages */
function updateConflicts() {
chrome.runtime.sendMessage({
@@ -67,7 +77,7 @@ function updateConflicts() {
text += "
";
}
}
- $("#courseList").prepend("" + text + ">");
+ $("#courseList").prepend("
" + text + ">");
}
});
}
diff --git a/popup.html b/popup.html
index 3b2fe3bb..08b6f946 100644
--- a/popup.html
+++ b/popup.html
@@ -4,9 +4,10 @@
+
-
+