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 + ")" + "

  • "; $("#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 @@ + - +