From 4d221670b30435e03083353c3ff1ff166f51d10f Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Sat, 8 Oct 2022 22:10:45 +1100 Subject: [PATCH 01/24] Initial Teacher Modern Theme commit Changed the settings label colours, fixed some button hover colours, and an active button hover colour. TODO within Test Editing: Questions, Grading, Reporting, Input Styles, possibly more. --- css/modern/all.css | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/css/modern/all.css b/css/modern/all.css index d8b829eb..c307f1c0 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2862,3 +2862,23 @@ variable-intellisense { [modern=true]:root .splus-button-tile.active { background-color: var(--active) !important; } + + +/* Teacher Areas */ +/* Test Setup */ +[modern="true"]:root .settings-label { + color: var(--text); +} + +/* Button Hover */ +[modern="true"] ._2mytC:hover a, +[modern="true"] ._2mytC:focus a, +[modern="true"]:root .Oq4U1:hover:not(:active), +[modern="true"]:root .Oq4U1:focus { + background-color: var(--hover-color); +} + +/* Active Buttons */ +[modern="true"]:root .Oq4U1:active { + background-color: var(--active); +} From 62b451a163308ab0862ced1f814f77a6ee97d345 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Sat, 22 Oct 2022 20:35:52 +1100 Subject: [PATCH 02/24] Fixed colour on optgroup --- css/modern/all.css | 1 + 1 file changed, 1 insertion(+) diff --git a/css/modern/all.css b/css/modern/all.css index c307f1c0..fab106d6 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -71,6 +71,7 @@ variable-intellisense { [modern=true]:root textarea, [modern=true]:root select, +[modern=true]:root optgroup, [modern=true]:root input[type=text] { background-color: var(--input) !important; color: var(--text) !important; From ad428a0e6419445a2003bfff7a49c76a161d6b40 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 18:37:06 +1100 Subject: [PATCH 03/24] Fixed up some mistakes and more Modern Annotatable File (Teacher -> Edit Assignment) is now modern themed. --- css/modern/all.css | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/css/modern/all.css b/css/modern/all.css index fab106d6..9f58e2b6 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2871,15 +2871,23 @@ variable-intellisense { color: var(--text); } +/* Buttons */ +[modern=true]:root .s-grade-item-assignment-submission-app { + background-color: var(--primary); + color: var(--text); +} + /* Button Hover */ -[modern="true"] ._2mytC:hover a, -[modern="true"] ._2mytC:focus a, -[modern="true"]:root .Oq4U1:hover:not(:active), -[modern="true"]:root .Oq4U1:focus { +[modern=true]:root ._2mytC:hover a, +[modern=true]:root ._2mytC:focus a, +[modern=true]:root .Oq4U1:hover:not(:active), +[modern=true]:root .Oq4U1:focus, +[modern=true]:root .s-grade-item-assignment-submission-app:hover, +[modern=true]:root .s-grade-item-assignment-submission-app:focus { background-color: var(--hover-color); } /* Active Buttons */ -[modern="true"]:root .Oq4U1:active { +[modern=true]:root .Oq4U1:active { background-color: var(--active); } From 4d4c7df4b14f717994aa67ea63613fc1546a908f Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 18:40:48 +1100 Subject: [PATCH 04/24] Unpublished Assignments Modern Theme --- css/modern/all.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/css/modern/all.css b/css/modern/all.css index 9f58e2b6..95bea962 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2891,3 +2891,11 @@ variable-intellisense { [modern=true]:root .Oq4U1:active { background-color: var(--active); } + +/* */ +/* Course Materials Page */ +/* */ +[modern=true]:root .unpublished, +[modern=true]:root #folder-contents-table .unpublished .folder-contents-cell { + background-color: var(--primary); +} From 81f3fac910cf26b00fb0e444f19fed1c177d5d64 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 18:44:50 +1100 Subject: [PATCH 05/24] View Course As box Modern Theme I really need to start checking off multiple things at once as opposed to doing commits whenever I notice things. --- css/modern/all.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/css/modern/all.css b/css/modern/all.css index 95bea962..a8e6bd1d 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2899,3 +2899,9 @@ variable-intellisense { [modern=true]:root #folder-contents-table .unpublished .folder-contents-cell { background-color: var(--primary); } + +[modern=true] .masquerade-box { + background-color: var(--secondary); + border: var(--modern-border); +} + From f95e966feea48a453a67c45346f73877acae235f Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 19:36:50 +1100 Subject: [PATCH 06/24] Stylised the popup overlay background This was done in a modern-compatible way, however if modern is not enabled, will default to whatever the primary colour is. --- css/all.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/css/all.css b/css/all.css index bade8dc6..b586b166 100644 --- a/css/all.css +++ b/css/all.css @@ -411,6 +411,11 @@ h1.setting-title { display: inline; } +.popups-overlay { + /* Modern-Compatible, however will default back to normal if Modern is not enabled.*/ + background-color: var(--primary, var(--primary-color)); +} + .popups-body .no-answer-provided { background: url('https://app.schoology.com/sites/all/themes/schoology_theme/images/error_404.png') no-repeat 0 0; padding: 0 0 0 25px; From 4fd0377ed3230c77faa04b3eeace6dcf53837a67 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 19:57:15 +1100 Subject: [PATCH 07/24] Loading overlay now themed --- css/all.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/css/all.css b/css/all.css index b586b166..bcdb8007 100644 --- a/css/all.css +++ b/css/all.css @@ -411,7 +411,8 @@ h1.setting-title { display: inline; } -.popups-overlay { +.popups-overlay, +.active-loader .loading-overlay { /* Modern-Compatible, however will default back to normal if Modern is not enabled.*/ background-color: var(--primary, var(--primary-color)); } From 47b7fa4319c64649020cc6795674af43996a9d17 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 20:57:13 +1100 Subject: [PATCH 08/24] Grades, Badges, Attendance, Members should be done --- css/modern/all.css | 120 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 116 insertions(+), 4 deletions(-) diff --git a/css/modern/all.css b/css/modern/all.css index a8e6bd1d..8dce6863 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -37,6 +37,14 @@ variable-intellisense { --cal20: #461b2d; } +[modern=true]:root span[role="button"], +[modern=true]:root #badges-fullscreen-btn { + background-color: var(--primary); + background-image: none; + border: var(--modern-border); + border-radius: var(--border-radius); +} + [modern=true]:root { --modern-border: var(--border-size) solid var(--contrast-border); } @@ -405,6 +413,7 @@ variable-intellisense { [modern=true]:root tr.error { background-color: var(--error) !important; border-color: var(--error) !important; + color: var(--text); } [modern=true]:root .splus-courses-navbar-button div[role=menu], @@ -867,6 +876,7 @@ variable-intellisense { [modern=true]:root .userlist_input input[type=text] { background-color: var(--input) !important; border-radius: var(--border-radius) !important; + color: white; } [modern=true]:root #edge-filters-btn { @@ -2864,10 +2874,11 @@ variable-intellisense { background-color: var(--active) !important; } - +/*****************/ /* Teacher Areas */ -/* Test Setup */ -[modern="true"]:root .settings-label { +/* */ +/* Test Setup */ +[modern=true]:root .settings-label { color: var(--text); } @@ -2883,7 +2894,13 @@ variable-intellisense { [modern=true]:root .Oq4U1:hover:not(:active), [modern=true]:root .Oq4U1:focus, [modern=true]:root .s-grade-item-assignment-submission-app:hover, -[modern=true]:root .s-grade-item-assignment-submission-app:focus { +[modern=true]:root .s-grade-item-assignment-submission-app:focus, +[modern=true]:root span[role="button"]:hover, +[modern=true]:root span[role="button"]:focus, +[modern=true]:root #grading-rubric-edit-slider .large-submit-buttons button.btn.submit.ng-binding:hover, +[modern=true]:root #grading-rubric-edit-slider .large-submit-buttons button.btn.submit.ng-binding:focus, +[modern=true]:root .sort-handle:hover, +[modern=true]:root .sort-handle:focus { background-color: var(--hover-color); } @@ -2905,3 +2922,98 @@ variable-intellisense { border: var(--modern-border); } +/* */ +/* Badges Page */ +/* */ +[modern=true]:root .even .badge-course-table-cell { + background-color: var(--primary); +} + +[modern=true]:root th.badge-course-table-cell, +[modern=true]:root #s-badge-table-main .sticky-header th { + background-color: var(--secondary); +} + +[modern=true]:root th.badge-course-table-cell .action-links-unfold { + background-color: var(--input) !important; +} + +[modern=true]:root th.badge-course-table-cell .action-links-unfold span { + filter: contrast(5%); +} + +/* */ +/* Grades Page */ +/* */ +[modern=true]:root .scale-level-scale { + background-color: var(--highlight); + border: var(--modern-border); +} + +[modern=true]:root #s-grading-category-add-form .form-item, +[modern=true]:root #s-grading-category-add-form fieldset { + background-color: var(--primary); +} + +[modern=true]:root #grading-rubric-edit-slider .right-column { + border-color: var(--border-color); +} + +[modern=true]:root #grading-rubric-edit-slider .large-submit-buttons { + background-color: var(--secondary); + border-color: var(--border-color); +} + +[modern=true]:root #grading-rubric-edit-slider .large-submit-buttons button.btn.submit.ng-binding { + background-color: var(--primary); + box-shadow: 0px 2px 0px var(--highlight); +} + +[modern=true]:root .sort-handle { + background-color: var(--accent); +} + +[modern=true]:root #grading-rubric-edit-slider .ui-sortable-helper, +[modern=true]:root #district-mastery-grading-rubric-edit-slider .ui-sortable-helper, +[modern=true]:root #grading-rubric-edit-slider .ui-sortable-helper td, +[modern=true]:root #district-mastery-grading-rubric-edit-slider .ui-sortable-helper td { + background-color: var(--active); +} + +[modern=true]:root .rubric-editor-add-criteria, +[modern=true]:root .rubric-editor-add-objectives { + color: text; +} + +[modern=true]:root #grading-rubric-edit-slider .large-submit-buttons .btn.cancel.ng-scope { + color: var(--muted-text); +} + +[modern=true]:root #grading-rubric-edit-slider .large-submit-buttons .btn.cancel.ng-scope:hover, +[modern=true]:root #grading-rubric-edit-slider .large-submit-buttons .btn.cancel.ng-scope:focus { + color: var(--text); +} + +[modern=true]:root .alignment-form-container .header { + background-color: var(--secondary); +} + +[modern=true]:root .guid-item:active, +[modern=true]:root .alignment-form-container .header .search-tab.active, +[modern=true]:root .alignment-form-container li.active, +[modern=true]:root .alignment-form-container div.active { + background-color: var(--active); +} + +[modern=true]:root .alignment-breadcrumbs .breadcrumb-item:first-child, +[modern=true]:root .alignment-breadcrumbs .breadcrumb-item, +[modern=true]:root .alignment-form-container li, +[modern=true]:root .selected-container .selected-item { + color: var(--link-color); + border-color: var(--contrast-border); +} + +[modern=true]:root .alignment-form-container li .gray, +[modern=true]:root .alignment-form-container div .gray { + color: var(--text); +} From 32b47d3dd5b180aa849ab4424753d6ffd25bc546 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 21:27:05 +1100 Subject: [PATCH 09/24] Members done-- Attendance wasn't either. --- css/modern/all.css | 71 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/css/modern/all.css b/css/modern/all.css index 8dce6863..a364df60 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2922,6 +2922,8 @@ variable-intellisense { border: var(--modern-border); } + + /* */ /* Badges Page */ /* */ @@ -2942,6 +2944,9 @@ variable-intellisense { filter: contrast(5%); } + + + /* */ /* Grades Page */ /* */ @@ -3017,3 +3022,69 @@ variable-intellisense { [modern=true]:root .alignment-form-container div .gray { color: var(--text); } + +/* */ +/* MEMBERS PAGE */ +/* */ +[modern=true]:root .s-enrollment-invite-form .metadata-wrapper, +[modern=true]:root #grading-group-create { + color: var(--text); +} + +[modern=true]:root .s-enrollment-invite-form .user-invite-wrapper { + background-color: var(--accent); + color: var(--text); +} + +[modern=true]:root .s-enrollment-invite-form .user-name-wrapper, +[modern=true]:root .people-filters .selected-users, +[modern=true]:root .people-filters .show-all-users { + color: var(--link-color); +} + +[modern=true]:root .people-filters .selected-users.active, +[modern=true]:root .people-filters .show-all-users.active { + color: var(--contrast-text); + background-color: var(--active); +} + +[modern=true]:root .term-item-tag, +[modern=true]:root .locked-question .tag-item { + color: var(--text); + background-color: var(--secondary); + border-color: var(--border-color); +} + +[modern=true]:root .link-btn { + background: var(--secondary); + color: var(--text); + border: var(--modern-border); + border-radius: var(--border-radius); + border-color: var(--border-color); +} + +[modern=true]:root .s-enrollment-invite-form .s-enrollment-invite-list-wrapper, +[modern=true]:root .s-enrollment-invite-form #network-selected { + background-color: var(--primary); + border-color: var(--border-color); +} + +[modern=true]:root .submit-btn { + background: var(--primary); + color: var(--contrast-text); + border-radius: var(--border-radius); +} + +[modern=true]:root .cancel-btn { + background: var(--accent) !important; + color: var(--muted-text) !important; + border-radius: var(--border-radius); +} + +[modern=true]:root .submit-btn:hover, +[modern=true]:root .submit-btn:focus, +[modern=true]:root .cancel-btn:hover, +[modern=true]:root .cancel-btn:focus { + background: var(--hover-color) !important; + color: var(--text) !important; +} From 5917aa544fe463eb9a1a8a9c9969b8b0d5ba73e2 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 21:57:24 +1100 Subject: [PATCH 10/24] Attendance Page should now work. --- css/modern/all.css | 74 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 68 insertions(+), 6 deletions(-) diff --git a/css/modern/all.css b/css/modern/all.css index a364df60..ed785419 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2924,15 +2924,19 @@ variable-intellisense { -/* */ -/* Badges Page */ -/* */ -[modern=true]:root .even .badge-course-table-cell { +/* */ +/* Badges & Attendance Pages */ +/* */ +[modern=true]:root .even .badge-course-table-cell, +[modern=true]:root #s-attendance-edit-form tbody td, +[modern=true]:root #s-attendance-edit-form tbody td div, +[modern=true] #s-attendance-edit-form tbody th { background-color: var(--primary); } [modern=true]:root th.badge-course-table-cell, -[modern=true]:root #s-badge-table-main .sticky-header th { +[modern=true]:root #s-badge-table-main .sticky-header th, +[modern=true]:root #s-attendance-edit-form thead th { background-color: var(--secondary); } @@ -2940,11 +2944,68 @@ variable-intellisense { background-color: var(--input) !important; } -[modern=true]:root th.badge-course-table-cell .action-links-unfold span { +[modern=true]:root th.badge-course-table-cell .action-links-unfold span, +[modern=true]:root .date-chooser a.prev span, +[modern=true]:root .date-chooser a.next span { filter: contrast(5%); } +[modern=true]:root #s-attendance-taken-row .attendance-taken-label { + color: var(--text); +} + +[modern=true]:root #s-attendance-taken-row.odd td, +[modern=true]:root #s-attendance-taken-row.even td { + background-color: var(--accent); +} + +[modern=true]:root #s-attendance-edit-form tbody tr:hover th, +[modern=true]:root #s-attendance-edit-form #s-attendance-taken-row .attendance-taken-status:hover, +[modern=true]:root #s-attendance-edit-form #s-attendance-taken-row .attendance-taken-status:focus { + background-color: var(--hover-color); +} + +[modern=true]:root #s-attendance-edit-form #s-attendance-taken-row .edited { + background-color: var(--highlight); +} + +[modern=true]:root #attendance-comment-field { + background-color: var(--accent); + border: var(--modern-border); +} + +[modern=true]:root .comment-status-label { + color: var(--text); +} + +[modern=true]:root #s-attendance-edit-form #s-attendance-taken-row .attendance-taken-status--start { + background-color: var(--active); + border-color: var(--contrast-border); +} + +[modern=true]:root .footer-buttons .date-chooser-calendar, +[modern=true]:root .header-buttons .date-chooser-calendar, +[modern=true]:root .footer-buttons .infotip, +[modern=true]:root .header-buttons .infotip { + background: var(--primary); + border: var(--modern-border); + border-radius: var(--border-radius); +} +[modern=true]:root a.prev:hover, +[modern=true]:root a.prev:focus, +[modern=true]:root a.next:hover, +[modern=true]:root a.next:focus { + background-color: var(--hover-color); +} + +[modern=true]:root a.prev { + border-radius: var(--border-radius) 0 0 var(--border-radius); +} + +[modern=true]:root a.next { + border-radius: 0 var(--border-radius) var(--border-radius) 0; +} /* */ @@ -3088,3 +3149,4 @@ variable-intellisense { background: var(--hover-color) !important; color: var(--text) !important; } + From b4a67bba1e55f56561582070020334f4b1c86a03 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 22:00:53 +1100 Subject: [PATCH 11/24] Popups overlay is ID, not Class. --- css/all.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/all.css b/css/all.css index bcdb8007..3d559880 100644 --- a/css/all.css +++ b/css/all.css @@ -411,7 +411,7 @@ h1.setting-title { display: inline; } -.popups-overlay, +#popups-overlay, .active-loader .loading-overlay { /* Modern-Compatible, however will default back to normal if Modern is not enabled.*/ background-color: var(--primary, var(--primary-color)); From 768b39458c2c76b972d5805b57a8c8fbec455c56 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 22:04:01 +1100 Subject: [PATCH 12/24] I made le big mistake Yeah nah Comment/Like on comments shouldn't have a border... oops! those are buttons! --- css/modern/all.css | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/css/modern/all.css b/css/modern/all.css index ed785419..1e517224 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -37,14 +37,6 @@ variable-intellisense { --cal20: #461b2d; } -[modern=true]:root span[role="button"], -[modern=true]:root #badges-fullscreen-btn { - background-color: var(--primary); - background-image: none; - border: var(--modern-border); - border-radius: var(--border-radius); -} - [modern=true]:root { --modern-border: var(--border-size) solid var(--contrast-border); } @@ -2927,6 +2919,13 @@ variable-intellisense { /* */ /* Badges & Attendance Pages */ /* */ +[modern=true]:root #badges-fullscreen-btn { + background-color: var(--primary); + background-image: none; + border: var(--modern-border); + border-radius: var(--border-radius); +} + [modern=true]:root .even .badge-course-table-cell, [modern=true]:root #s-attendance-edit-form tbody td, [modern=true]:root #s-attendance-edit-form tbody td div, From befe31cce30104b9f378fd6688e171daa1166a19 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 22:45:00 +1100 Subject: [PATCH 13/24] Added the Gradebook Page to Modern Theme --- css/modern/all.css | 146 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 117 insertions(+), 29 deletions(-) diff --git a/css/modern/all.css b/css/modern/all.css index 1e517224..cdfbd5a2 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -216,8 +216,8 @@ variable-intellisense { } /* Hover over Links in Schoology's Native Notifications */ -[modern="true"]:root .drGks a:hover, -[modern="true"]:root .drGks a:focus { +[modern=true]:root .drGks a:hover, +[modern=true]:root .drGks a:focus { background-color: var(--highlight); } @@ -776,7 +776,7 @@ variable-intellisense { color: var(--text) !important; } -[modern="true"]:root .comment-body-wrapper { +[modern=true]:root .comment-body-wrapper { color: var(--text) !important; } @@ -1331,35 +1331,35 @@ variable-intellisense { background-color: var(--input); } -[modern="true"]:root #ui-datepicker-div { +[modern=true]:root #ui-datepicker-div { background-color: var(--input) !important; } -[modern="true"]:root .ui-datepicker-days-cell a { +[modern=true]:root .ui-datepicker-days-cell a { background-color: var(--primary) !important; border-color: var(--border-color) !important; } -[modern="true"]:root .ui-datepicker-unselectable { +[modern=true]:root .ui-datepicker-unselectable { background-color: var(--accent) !important; } -[modern="true"]:root .ui-datepicker-days-cell.ui-datepicker-current-day a { +[modern=true]:root .ui-datepicker-days-cell.ui-datepicker-current-day a { background-color: var(--active) !important; } -[modern="true"]:root .ui-datepicker-days-cell-over a { +[modern=true]:root .ui-datepicker-days-cell-over a { background-color: var(--hover-color) !important; } -[modern="true"]:root .ui-datepicker-links > div > a { +[modern=true]:root .ui-datepicker-links > div > a { background-color: var(--input); background-blend-mode: screen; border: var(--modern-border); border-radius: var(--border-radius); } -[modern="true"]:root .ui-datepicker-links > div:hover > a { +[modern=true]:root .ui-datepicker-links > div:hover > a { background-color: var(--hover-color); } @@ -1780,7 +1780,7 @@ variable-intellisense { } [modern=true]:root .portfolio-card, -[modern="true"]:root .item-card { +[modern=true]:root .item-card { background: var(--primary) !important; } @@ -1790,46 +1790,54 @@ variable-intellisense { border-radius: var(--border-radius) !important; } -[modern="true"]:root .tw-bs .portfolio-card__item-count-num { +[modern=true]:root .tw-bs .portfolio-card__item-count-num { color: var(--contrast-text) !important; } -[modern="true"]:root .tw-bs .btn { +[modern=true]:root .tw-bs .btn { background-color: var(--primary) !important; border: var(--modern-border) !important; border-radius: var(--border-radius) !important; color: var(--contrast-text) !important; } -[modern="true"]:root .tw-bs .item-form__title-inline .sgy-autosave-input .form-group:hover label, -[modern="true"]:root .tw-bs .item-form__title-inline .sgy-autosave-input .form-group:hover label span { +[modern=true]:root .tw-bs .btn:hover { + background-color: var(--hover-color) !important; +} + +[modern=true]:root .tw-bs .dropdown-menu { + background-color: var(--primary) !important; +} + +[modern=true]:root .tw-bs .item-form__title-inline .sgy-autosave-input .form-group:hover label, +[modern=true]:root .tw-bs .item-form__title-inline .sgy-autosave-input .form-group:hover label span { color: var(--muted-text) !important; } -[modern="true"]:root .sgy-autosave-input.sgy-autosave-input--editing label span, -[modern="true"]:root .sgy-autosave-input.sgy-autosave-input--editing .form-group:hover label span { +[modern=true]:root .sgy-autosave-input.sgy-autosave-input--editing label span, +[modern=true]:root .sgy-autosave-input.sgy-autosave-input--editing .form-group:hover label span { color: var(--text) !important; } -[modern="true"]:root .tw-bs .remaining-char-len { +[modern=true]:root .tw-bs .remaining-char-len { color: var(--text) !important; } -[modern="true"]:root .tw-bs .add-item-dropdown__add-new-icon::before, -[modern="true"]:root .tw-bs .portfolio-list__add-new-icon::before { +[modern=true]:root .tw-bs .add-item-dropdown__add-new-icon::before, +[modern=true]:root .tw-bs .portfolio-list__add-new-icon::before { background-color: var(--primary) !important; border-color: var(--border-color) !important; } -[modern="true"]:root .tw-bs .item-view-container, -[modern="true"]:root .tw-bs .item-form__title-bar, -[modern="true"]:root .tw-bs .item-page { +[modern=true]:root .tw-bs .item-view-container, +[modern=true]:root .tw-bs .item-form__title-bar, +[modern=true]:root .tw-bs .item-page { background-color: var(--background-color) !important; border-color: var(--border-color) !important; outline-color: var(--border-color) !important; } -[modern="true"]:root .tw-bs .item-card__title-link { +[modern=true]:root .tw-bs .item-card__title-link { color: var(--link-color) !important; } @@ -2125,11 +2133,11 @@ variable-intellisense { border-color: var(--contrast-border) !important; } -[modern="true"]:root .update-comments-pagenation { +[modern=true]:root .update-comments-pagenation { background-color: var(--accent); } -[modern="true"]:root .feed-comments-viewall-container { +[modern=true]:root .feed-comments-viewall-container { color: var(--link-color); } @@ -3007,9 +3015,9 @@ variable-intellisense { } -/* */ -/* Grades Page */ -/* */ +/* */ +/* Grade Setup Page */ +/* */ [modern=true]:root .scale-level-scale { background-color: var(--highlight); border: var(--modern-border); @@ -3083,6 +3091,11 @@ variable-intellisense { color: var(--text); } +[modern=true]:root .empty { + color: var(--muted-text); +} + + /* */ /* MEMBERS PAGE */ /* */ @@ -3149,3 +3162,78 @@ variable-intellisense { color: var(--text) !important; } + + + +/* */ +/* Gradebook Page */ +/* */ +[modern=true]:root .s-js-grid-loading-cover { + background-color: var(--primary); +} + +[modern=true]:root .grader-grid-table-header-wrapper .grader-grid-header-cell, +[modern=true]:root .grader-grid-table-header-wrapper .grader-grid-header-cell.hidden-grade .gradebook__major-period-title, +[modern=true]:root .grader-grid-table-header-wrapper .grader-grid-header-cell.showing-unpublished .gradebook__major-period-title { + background-color: var(--secondary); + color: var(--text); +} + +[modern=true]:root .enhanced-gb-body .grid-table-col-header-static-content .select2-container:not(.select2-dropdown-open) .select2-choice > .select2-chosen, +[modern=true]:root .enhanced-gb-body .s-js-grades-gradebook-options-bar .select2-container:not(.select2-dropdown-open) .select2-choice > .select2-chosen { + color: var(--text) !important; +} + +[modern=true]:root .grader-grid--crosshair-line-column, +[modern=true]:root .grader-grid--crosshair-line-row, +[modern=true]:root .grader-grid--crosshair-center { + background-color: var(--hover-color) !important; +} + +[modern=true]:root .gradebook__grade-custom-override + .grader-grid-col-header-gp, +[modern=true]:root .gradebook__grade-custom-override + .grader-grid-col-header-overall { + background-color: var(--primary); +} + +[modern=true]:root .grader-grid-cell:not(.gradebook__grade-custom-override) .grader-grid-cell-block:not(.updated) .grade-value, +[modern=true]:root .grader-grid-cell:not(.gradebook__grade-custom-override) .grader-grid-cell-block:not(.updated) .s-js-grader-grid-cell-display, +[modern=true]:root .grader-grid-table-header-wrapper .gradebook__major-grade-period-header .gradebook__subperiod-element-calculated, +[modern=true]:root .grader-grid-table-header-wrapper .gradebook__major-grade-period-header .grading-period-override-column { + color: var(--text); +} + +[modern=true]:root .gradebook__subperiod-element-calculated.has-override-column, +[modern=true]:root .grading-period-override-column { + background-color: var(--accent); +} + +[modern=true]:root .enhanced-gb-body .s-js-grades-gradebook-options-bar .select2-container.select2-dropdown-open.select2-container-active span { + color: var(--link-color); +} + +[modern=true]:root .enhanced-gb-body .s-js-grades-gradebook-options-bar .select2-container.select2-dropdown-open.select2-container-active { + background-color: var(--primary); + border-radius: var(--border-radius); +} + +[modern=true]:root #autocomplete.grading-scale-ac-popup ul li, +[modern=true]:root .enhanced-gb-body #main-content-wrapper .action-links a, +[modern=true]:root .enhanced-gb-body #main-content-wrapper .action-links button, +[modern=true]:root .enhanced-gb-body .s-course-csm-toggler.select2-toggle.select2-drop .select2-result-label, +[modern=true]:root .enhanced-gb-body .s-grades-grader-filters-dropdown.select2-toggle.select2-drop .select2-result-label { + background-color: var(--secondary); + color: var(--text); +} + +[modern=true]:root #autocomplete.grading-scale-ac-popup ul li:hover, +[modern=true]:root .enhanced-gb-body #main-content-wrapper .action-links a:hover, +[modern=true]:root .enhanced-gb-body #main-content-wrapper .action-links button:hover, +[modern=true]:root .enhanced-gb-body .s-course-csm-toggler.select2-toggle.select2-drop .select2-result-label:hover, +[modern=true]:root .enhanced-gb-body .s-grades-grader-filters-dropdown.select2-toggle.select2-drop .select2-result-label:hover, +[modern=true]:root #autocomplete.grading-scale-ac-popup ul li:focus, +[modern=true]:root .enhanced-gb-body #main-content-wrapper .action-links a:focus, +[modern=true]:root .enhanced-gb-body #main-content-wrapper .action-links button:focus, +[modern=true]:root .enhanced-gb-body .s-course-csm-toggler.select2-toggle.select2-drop .select2-result-label:focus, +[modern=true]:root .enhanced-gb-body .s-grades-grader-filters-dropdown.select2-toggle.select2-drop .select2-result-label:focus { + background-color: var(--hover-color); +} From e769dff39ee321f97890d0b9b0a56fb3d1cb8291 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 22:56:10 +1100 Subject: [PATCH 14/24] Final touches on Teacher Modern Theme Of course, there will be more work to do, but this is most of it done now. --- css/modern/all.css | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/css/modern/all.css b/css/modern/all.css index cdfbd5a2..23250c0d 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2909,6 +2909,27 @@ variable-intellisense { background-color: var(--active); } +[modern="true"]:root .s-share-checkbox-form-wrapper .checkboxes-wrapper { + background-color: var(--primary); +} + +[modern="true"]:root #attachment-selector #toggle-copy:hover { + background-color: var(--hover-color); +} + + +[modern="true"]:root .comments-list .comment { + background: var(--primary); + border: var(--modern-border); + border-color: var(--border-color); + color: var(--text); +} + +[modern=true]:root .comment-date { + color: var(--muted-text); +} + + /* */ /* Course Materials Page */ /* */ @@ -2922,7 +2943,10 @@ variable-intellisense { border: var(--modern-border); } - +[modern="true"]:root div.grade-assignment-popup .description, [modern="true"]:root #sEditGradeTable tr th { + color: var(--text); + background-color: var(--primary); +} /* */ /* Badges & Attendance Pages */ From cbc4f145e0a4b4d4ca12a52f4e5992c2192fccbf Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 23:10:10 +1100 Subject: [PATCH 15/24] Oops forgot to modernize parent names --- css/modern/all.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/css/modern/all.css b/css/modern/all.css index 23250c0d..54537c33 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -3123,6 +3123,10 @@ variable-intellisense { /* */ /* MEMBERS PAGE */ /* */ +[modern=true]:root .parent-names-list.description { + color: var(--muted-text); +} + [modern=true]:root .s-enrollment-invite-form .metadata-wrapper, [modern=true]:root #grading-group-create { color: var(--text); From 87a1809c4470f781cb70f5cbc33114d6498dd3d5 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 23:13:01 +1100 Subject: [PATCH 16/24] Minor: Attendance Header needed Background Not background color. --- css/modern/all.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/modern/all.css b/css/modern/all.css index 54537c33..06b20345 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2968,7 +2968,7 @@ variable-intellisense { [modern=true]:root th.badge-course-table-cell, [modern=true]:root #s-badge-table-main .sticky-header th, [modern=true]:root #s-attendance-edit-form thead th { - background-color: var(--secondary); + background: var(--secondary); } [modern=true]:root th.badge-course-table-cell .action-links-unfold { From c308c2ab17092a2d8ad53fee3e4f88142a99517f Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 3 Nov 2022 23:31:54 +1100 Subject: [PATCH 17/24] Very minor fixes Left/Right arrows were forgotten as far as colours go, Fullscreen button on badges now shows Rubric -- Forgot to change the text colour on the buttons and active background on the handle... Did you know that Schoology loves using !important?! I didn't! --- css/modern/all.css | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/css/modern/all.css b/css/modern/all.css index 06b20345..b2fa27a8 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -2953,7 +2953,6 @@ variable-intellisense { /* */ [modern=true]:root #badges-fullscreen-btn { background-color: var(--primary); - background-image: none; border: var(--modern-border); border-radius: var(--border-radius); } @@ -3027,7 +3026,12 @@ variable-intellisense { [modern=true]:root a.prev:focus, [modern=true]:root a.next:hover, [modern=true]:root a.next:focus { - background-color: var(--hover-color); + background: var(--hover-color); +} + +[modern=true]:root a.prev, +[modern=true]:root a.next { + background: var(--primary); } [modern=true]:root a.prev { @@ -3074,7 +3078,7 @@ variable-intellisense { [modern=true]:root #district-mastery-grading-rubric-edit-slider .ui-sortable-helper, [modern=true]:root #grading-rubric-edit-slider .ui-sortable-helper td, [modern=true]:root #district-mastery-grading-rubric-edit-slider .ui-sortable-helper td { - background-color: var(--active); + background-color: var(--active) !important; } [modern=true]:root .rubric-editor-add-criteria, @@ -3112,13 +3116,18 @@ variable-intellisense { [modern=true]:root .alignment-form-container li .gray, [modern=true]:root .alignment-form-container div .gray { - color: var(--text); + color: var(--text) !important; } [modern=true]:root .empty { color: var(--muted-text); } +[modern="true"]:root .add-criteria-text { + color: var(--text); +} + + /* */ /* MEMBERS PAGE */ @@ -3265,3 +3274,7 @@ variable-intellisense { [modern=true]:root .enhanced-gb-body .s-grades-grader-filters-dropdown.select2-toggle.select2-drop .select2-result-label:focus { background-color: var(--hover-color); } + +[modern="true"]:root #grade-comment-field { + background-color: var(--primary); +} From 33dedb451acd36607e3917a2edc121fba2c9e353 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Mon, 14 Nov 2022 13:17:52 +1100 Subject: [PATCH 18/24] Made the header + footer links link colour. --- css/modern/all.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/css/modern/all.css b/css/modern/all.css index b2fa27a8..380e47ff 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -248,7 +248,7 @@ variable-intellisense { [modern=true]:root footer li a, [modern=true]:root header li a { - color: var(--contrast-text) !important; + color: var(--link-color) !important; } [modern=true]:root .splus-modal-footer-text { From 70d5eb41c95bd0e68f05b295e803fe757f7196c0 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Wed, 7 Dec 2022 15:44:28 +1100 Subject: [PATCH 19/24] Migrated my changes to scss Find and replace is helpful :+1: --- scss/modern/all.scss | 421 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 419 insertions(+), 2 deletions(-) diff --git a/scss/modern/all.scss b/scss/modern/all.scss index 52fa88b8..b1894dbd 100644 --- a/scss/modern/all.scss +++ b/scss/modern/all.scss @@ -72,6 +72,7 @@ variable-intellisense { textarea, select, + optgroup, input[type=text] { background-color: var(--input) !important; color: var(--text) !important; @@ -266,7 +267,7 @@ variable-intellisense { footer li a, header li a { - color: var(--contrast-text) !important; + color: var(--link-color) !important; } .splus-modal-footer-text { @@ -435,6 +436,7 @@ variable-intellisense { tr.error { background-color: var(--error) !important; border-color: var(--error) !important; + color: var(--text); } // Courses and Groups Dropdown @@ -911,6 +913,7 @@ variable-intellisense { .userlist_input input[type=text] { background-color: var(--input) !important; border-radius: var(--border-radius) !important; + color: white; } #edge-filters-btn { @@ -1860,6 +1863,14 @@ variable-intellisense { .portfolio-view__add-new-bg { border-bottom: var(--modern-border) !important; } + + .btn:hover { + background-color: var(--hover-color) !important; + } + + .dropdown-menu { + background-color: var(--primary) !important; + } } .portfolio-route-content { @@ -3111,4 +3122,410 @@ variable-intellisense { .splus-button-tile.active { background-color: var(--active) !important; } -} \ No newline at end of file + + /*****************/ + /* Teacher Areas */ + /* */ + /* Test Setup */ + .settings-label { + color: var(--text); + } + + /* Buttons */ + .s-grade-item-assignment-submission-app { + background-color: var(--primary); + color: var(--text); + } + + /* Button Hover */ + ._2mytC:hover a, + ._2mytC:focus a, + .Oq4U1:hover:not(:active), + .Oq4U1:focus, + .s-grade-item-assignment-submission-app:hover, + .s-grade-item-assignment-submission-app:focus, + span[role="button"]:hover, + span[role="button"]:focus, + #grading-rubric-edit-slider .large-submit-buttons button.btn.submit.ng-binding:hover, + #grading-rubric-edit-slider .large-submit-buttons button.btn.submit.ng-binding:focus, + .sort-handle:hover, + .sort-handle:focus { + background-color: var(--hover-color); + } + + /* Active Buttons */ + .Oq4U1:active { + background-color: var(--active); + } + + .s-share-checkbox-form-wrapper .checkboxes-wrapper { + background-color: var(--primary); + } + + #attachment-selector #toggle-copy:hover { + background-color: var(--hover-color); + } + + + .comments-list .comment { + background: var(--primary); + border: var(--modern-border); + border-color: var(--border-color); + color: var(--text); + } + + .comment-date { + color: var(--muted-text); + } + + + + /* */ + /* Course Materials Page */ + /* */ + .unpublished, + #folder-contents-table .unpublished .folder-contents-cell { + background-color: var(--primary); + } + + .masquerade-box { + background-color: var(--secondary); + border: var(--modern-border); + } + + div.grade-assignment-popup .description, #sEditGradeTable tr th { + color: var(--text); + background-color: var(--primary); + } + + /* */ + /* Badges & Attendance Pages */ + /* */ + #badges-fullscreen-btn { + background-color: var(--primary); + border: var(--modern-border); + border-radius: var(--border-radius); + } + + .even .badge-course-table-cell, + #s-attendance-edit-form tbody td, + #s-attendance-edit-form tbody td div, + #s-attendance-edit-form tbody th { + background-color: var(--primary); + } + + th.badge-course-table-cell, + #s-badge-table-main .sticky-header th, + #s-attendance-edit-form thead th { + background: var(--secondary); + } + + th.badge-course-table-cell .action-links-unfold { + background-color: var(--input) !important; + } + + th.badge-course-table-cell .action-links-unfold span, + .date-chooser a.prev span, + .date-chooser a.next span { + filter: contrast(5%); + } + + #s-attendance-taken-row .attendance-taken-label { + color: var(--text); + } + + #s-attendance-taken-row.odd td, + #s-attendance-taken-row.even td { + background-color: var(--accent); + } + + #s-attendance-edit-form tbody tr:hover th, + #s-attendance-edit-form #s-attendance-taken-row .attendance-taken-status:hover, + #s-attendance-edit-form #s-attendance-taken-row .attendance-taken-status:focus { + background-color: var(--hover-color); + } + + #s-attendance-edit-form #s-attendance-taken-row .edited { + background-color: var(--highlight); + } + + #attendance-comment-field { + background-color: var(--accent); + border: var(--modern-border); + } + + .comment-status-label { + color: var(--text); + } + + #s-attendance-edit-form #s-attendance-taken-row .attendance-taken-status--start { + background-color: var(--active); + border-color: var(--contrast-border); + } + + .footer-buttons .date-chooser-calendar, + .header-buttons .date-chooser-calendar, + .footer-buttons .infotip, + .header-buttons .infotip { + background: var(--primary); + border: var(--modern-border); + border-radius: var(--border-radius); + } + + a.prev:hover, + a.prev:focus, + a.next:hover, + a.next:focus { + background: var(--hover-color); + } + + a.prev, + a.next { + background: var(--primary); + } + + a.prev { + border-radius: var(--border-radius) 0 0 var(--border-radius); + } + + a.next { + border-radius: 0 var(--border-radius) var(--border-radius) 0; + } + + + /* */ + /* Grade Setup Page */ + /* */ + .scale-level-scale { + background-color: var(--highlight); + border: var(--modern-border); + } + + #s-grading-category-add-form .form-item, + #s-grading-category-add-form fieldset { + background-color: var(--primary); + } + + #grading-rubric-edit-slider .right-column { + border-color: var(--border-color); + } + + #grading-rubric-edit-slider .large-submit-buttons { + background-color: var(--secondary); + border-color: var(--border-color); + } + + #grading-rubric-edit-slider .large-submit-buttons button.btn.submit.ng-binding { + background-color: var(--primary); + box-shadow: 0px 2px 0px var(--highlight); + } + + .sort-handle { + background-color: var(--accent); + } + + #grading-rubric-edit-slider .ui-sortable-helper, + #district-mastery-grading-rubric-edit-slider .ui-sortable-helper, + #grading-rubric-edit-slider .ui-sortable-helper td, + #district-mastery-grading-rubric-edit-slider .ui-sortable-helper td { + background-color: var(--active) !important; + } + + .rubric-editor-add-criteria, + .rubric-editor-add-objectives { + color: text; + } + + #grading-rubric-edit-slider .large-submit-buttons .btn.cancel.ng-scope { + color: var(--muted-text); + } + + #grading-rubric-edit-slider .large-submit-buttons .btn.cancel.ng-scope:hover, + #grading-rubric-edit-slider .large-submit-buttons .btn.cancel.ng-scope:focus { + color: var(--text); + } + + .alignment-form-container .header { + background-color: var(--secondary); + } + + .guid-item:active, + .alignment-form-container .header .search-tab.active, + .alignment-form-container li.active, + .alignment-form-container div.active { + background-color: var(--active); + } + + .alignment-breadcrumbs .breadcrumb-item:first-child, + .alignment-breadcrumbs .breadcrumb-item, + .alignment-form-container li, + .selected-container .selected-item { + color: var(--link-color); + border-color: var(--contrast-border); + } + + .alignment-form-container li .gray, + .alignment-form-container div .gray { + color: var(--text) !important; + } + + .empty { + color: var(--muted-text); + } + + .add-criteria-text { + color: var(--text); + } + + + + /* */ + /* MEMBERS PAGE */ + /* */ + .parent-names-list.description { + color: var(--muted-text); + } + + .s-enrollment-invite-form .metadata-wrapper, + #grading-group-create { + color: var(--text); + } + + .s-enrollment-invite-form .user-invite-wrapper { + background-color: var(--accent); + color: var(--text); + } + + .s-enrollment-invite-form .user-name-wrapper, + .people-filters .selected-users, + .people-filters .show-all-users { + color: var(--link-color); + } + + .people-filters .selected-users.active, + .people-filters .show-all-users.active { + color: var(--contrast-text); + background-color: var(--active); + } + + .term-item-tag, + .locked-question .tag-item { + color: var(--text); + background-color: var(--secondary); + border-color: var(--border-color); + } + + .link-btn { + background: var(--secondary); + color: var(--text); + border: var(--modern-border); + border-radius: var(--border-radius); + border-color: var(--border-color); + } + + .s-enrollment-invite-form .s-enrollment-invite-list-wrapper, + .s-enrollment-invite-form #network-selected { + background-color: var(--primary); + border-color: var(--border-color); + } + + .submit-btn { + background: var(--primary); + color: var(--contrast-text); + border-radius: var(--border-radius); + } + + .cancel-btn { + background: var(--accent) !important; + color: var(--muted-text) !important; + border-radius: var(--border-radius); + } + + .submit-btn:hover, + .submit-btn:focus, + .cancel-btn:hover, + .cancel-btn:focus { + background: var(--hover-color) !important; + color: var(--text) !important; + } + + + + + /* */ + /* Gradebook Page */ + /* */ + .s-js-grid-loading-cover { + background-color: var(--primary); + } + + .grader-grid-table-header-wrapper .grader-grid-header-cell, + .grader-grid-table-header-wrapper .grader-grid-header-cell.hidden-grade .gradebook__major-period-title, + .grader-grid-table-header-wrapper .grader-grid-header-cell.showing-unpublished .gradebook__major-period-title { + background-color: var(--secondary); + color: var(--text); + } + + .enhanced-gb-body .grid-table-col-header-static-content .select2-container:not(.select2-dropdown-open) .select2-choice > .select2-chosen, + .enhanced-gb-body .s-js-grades-gradebook-options-bar .select2-container:not(.select2-dropdown-open) .select2-choice > .select2-chosen { + color: var(--text) !important; + } + + .grader-grid--crosshair-line-column, + .grader-grid--crosshair-line-row, + .grader-grid--crosshair-center { + background-color: var(--hover-color) !important; + } + + .gradebook__grade-custom-override + .grader-grid-col-header-gp, + .gradebook__grade-custom-override + .grader-grid-col-header-overall { + background-color: var(--primary); + } + + .grader-grid-cell:not(.gradebook__grade-custom-override) .grader-grid-cell-block:not(.updated) .grade-value, + .grader-grid-cell:not(.gradebook__grade-custom-override) .grader-grid-cell-block:not(.updated) .s-js-grader-grid-cell-display, + .grader-grid-table-header-wrapper .gradebook__major-grade-period-header .gradebook__subperiod-element-calculated, + .grader-grid-table-header-wrapper .gradebook__major-grade-period-header .grading-period-override-column { + color: var(--text); + } + + .gradebook__subperiod-element-calculated.has-override-column, + .grading-period-override-column { + background-color: var(--accent); + } + + .enhanced-gb-body .s-js-grades-gradebook-options-bar .select2-container.select2-dropdown-open.select2-container-active span { + color: var(--link-color); + } + + .enhanced-gb-body .s-js-grades-gradebook-options-bar .select2-container.select2-dropdown-open.select2-container-active { + background-color: var(--primary); + border-radius: var(--border-radius); + } + + #autocomplete.grading-scale-ac-popup ul li, + .enhanced-gb-body #main-content-wrapper .action-links a, + .enhanced-gb-body #main-content-wrapper .action-links button, + .enhanced-gb-body .s-course-csm-toggler.select2-toggle.select2-drop .select2-result-label, + .enhanced-gb-body .s-grades-grader-filters-dropdown.select2-toggle.select2-drop .select2-result-label { + background-color: var(--secondary); + color: var(--text); + } + + #autocomplete.grading-scale-ac-popup ul li:hover, + .enhanced-gb-body #main-content-wrapper .action-links a:hover, + .enhanced-gb-body #main-content-wrapper .action-links button:hover, + .enhanced-gb-body .s-course-csm-toggler.select2-toggle.select2-drop .select2-result-label:hover, + .enhanced-gb-body .s-grades-grader-filters-dropdown.select2-toggle.select2-drop .select2-result-label:hover, + #autocomplete.grading-scale-ac-popup ul li:focus, + .enhanced-gb-body #main-content-wrapper .action-links a:focus, + .enhanced-gb-body #main-content-wrapper .action-links button:focus, + .enhanced-gb-body .s-course-csm-toggler.select2-toggle.select2-drop .select2-result-label:focus, + .enhanced-gb-body .s-grades-grader-filters-dropdown.select2-toggle.select2-drop .select2-result-label:focus { + background-color: var(--hover-color); + } + + #grade-comment-field { + background-color: var(--primary); + } +} From 296c37d8a53783fcf41917e675f02bad8c9c3506 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 8 Dec 2022 12:13:31 +1100 Subject: [PATCH 20/24] Fixed the changes from other commits that vanished --- scss/modern/all.scss | 168 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 142 insertions(+), 26 deletions(-) diff --git a/scss/modern/all.scss b/scss/modern/all.scss index b1894dbd..f4d0c7b3 100644 --- a/scss/modern/all.scss +++ b/scss/modern/all.scss @@ -229,6 +229,13 @@ variable-intellisense { color: var(--text); } + .drGks a { + &:hover, + &:focus { + background-color: var(--highlight); + } + } + .grade-data { color: var(--grades) !important; } @@ -323,10 +330,10 @@ variable-intellisense { } .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text { - background-color: var(--text) !important; - color: var(--secondary) !important; - filter: Invert(var(--theme-is-dark)) !important; + background-color: var(--secondary) !important; + color: var(--text) !important; border-radius: var(--border-radius) !important; + background-blend-mode: screen; } .action-links-unfold { @@ -824,6 +831,10 @@ variable-intellisense { color: var(--text) !important; } + .comment-body-wrapper { + color: var(--text) !important; + } + .s-polls-poll-option, #edge-filters-menu { background: none !important; @@ -1414,6 +1425,10 @@ variable-intellisense { background-color: var(--accent); } + .tab-nav:hover { + background-color: var(--hover-color); + } + .tab-nav.active { background-color: var(--input); @@ -1422,6 +1437,43 @@ variable-intellisense { } } + #ui-datepicker-div { + background-color: var(--input) !important; + } + + .ui-datepicker-days-cell a { + background-color: var(--primary) !important; + border-color: var(--border-color) !important; + } + + .ui-datepicker-unselectable { + background-color: var(--accent) !important; + } + + .ui-datepicker-days-cell.ui-datepicker-current-day a { + background-color: var(--active) !important; + } + + .ui-datepicker-days-cell-over a { + background-color: var(--hover-color) !important; + } + + .ui-datepicker-links { + > div { + > a { + background-color: var(--input); + background-blend-mode: screen; + border: var(--modern-border); + border-radius: var(--border-radius); + } + &:hover { + > a { + background-color: var(--hover-color); + } + } + } + } + // Course Page .action-links, @@ -1887,7 +1939,8 @@ variable-intellisense { background: var(--accent) !important; } - .portfolio-card { + .portfolio-card, + .item-card { background: var(--primary) !important; } @@ -1898,6 +1951,61 @@ variable-intellisense { background: var(--primary) !important; border-radius: var(--border-radius) !important; } + + .portfolio-card__item-count-num { + color: var(--contrast-text) !important; + } + + .btn { + background-color: var(--primary) !important; + border: var(--modern-border) !important; + border-radius: var(--border-radius) !important; + color: var(--contrast-text) !important; + + &:hover { + background-color: var(--hover-color) !important; + } + } + + .dropdown-menu { + background-color: var(--primary) !important; + } + + .item-form__title-inline .sgy-autosave-input .form-group:hover { + label, + label span { + color: var(--muted-text) !important; + } + } + + .remaining-char-len { + color: var(--text) !important; + } + + .add-item-dropdown__add-new-icon::before, + .portfolio-list__add-new-icon::before { + background-color: var(--primary) !important; + border-color: var(--border-color) !important; + } + + .item-view-container, + .item-form__title-bar, + .item-page { + background-color: var(--background-color) !important; + border-color: var(--border-color) !important; + outline-color: var(--border-color) !important; + } + + .item-card__title-link { + color: var(--link-color) !important; + } + } + + .sgy-autosave-input.sgy-autosave-input--editing { + label span, + .form-group:hover label span { + color: var(--text) !important; + } } // School / Group Page @@ -2236,6 +2344,14 @@ variable-intellisense { border-color: var(--contrast-border) !important; } + .update-comments-pagenation { + background-color: var(--accent); + } + + .feed-comments-viewall-container { + color: var(--link-color); + } + .dropbox-viewer-item-wrapper { background-color: var(--primary); } @@ -3123,21 +3239,21 @@ variable-intellisense { background-color: var(--active) !important; } - /*****************/ - /* Teacher Areas */ - /* */ - /* Test Setup */ + // + // Teacher Areas + // + // Test Setup .settings-label { color: var(--text); } - /* Buttons */ + // Buttons .s-grade-item-assignment-submission-app { background-color: var(--primary); color: var(--text); } - /* Button Hover */ + // Button Hover ._2mytC:hover a, ._2mytC:focus a, .Oq4U1:hover:not(:active), @@ -3153,7 +3269,7 @@ variable-intellisense { background-color: var(--hover-color); } - /* Active Buttons */ + // Active Buttons .Oq4U1:active { background-color: var(--active); } @@ -3180,9 +3296,9 @@ variable-intellisense { - /* */ - /* Course Materials Page */ - /* */ + // // + // Course Materials Page // + // // .unpublished, #folder-contents-table .unpublished .folder-contents-cell { background-color: var(--primary); @@ -3198,9 +3314,9 @@ variable-intellisense { background-color: var(--primary); } - /* */ - /* Badges & Attendance Pages */ - /* */ + // // + // Badges & Attendance Pages // + // // #badges-fullscreen-btn { background-color: var(--primary); border: var(--modern-border); @@ -3293,9 +3409,9 @@ variable-intellisense { } - /* */ - /* Grade Setup Page */ - /* */ + // // + // Grade Setup Page // + // // .scale-level-scale { background-color: var(--highlight); border: var(--modern-border); @@ -3379,9 +3495,9 @@ variable-intellisense { - /* */ - /* MEMBERS PAGE */ - /* */ + // // + // MEMBERS PAGE // + // // .parent-names-list.description { color: var(--muted-text); } @@ -3452,9 +3568,9 @@ variable-intellisense { - /* */ - /* Gradebook Page */ - /* */ + // // + // Gradebook Page // + // // .s-js-grid-loading-cover { background-color: var(--primary); } From c346a080a72a79a02f8e6d6d07f399b527870aa4 Mon Sep 17 00:00:00 2001 From: rhinolary <39052241+Roguim@users.noreply.github.com> Date: Thu, 8 Dec 2022 12:13:59 +1100 Subject: [PATCH 21/24] Post SCSS Recompile --- css/modern/all.css | 138 ++++++++++++++++++--------------------------- 1 file changed, 56 insertions(+), 82 deletions(-) diff --git a/css/modern/all.css b/css/modern/all.css index 380e47ff..fb3032b8 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -79,27 +79,27 @@ variable-intellisense { border-radius: var(--border-radius) !important; } -[modern=true][style-override=true]:root .s-edge-feed .edge-item *[style] { +[modern=true]:root[style-override=true] .s-edge-feed .edge-item *[style] { color: var(--text) !important; background: none !important; } -[modern=true][style-override=true]:root .discussion-view .discussion-prompt *[style], -[modern=true][style-override=true]:root .discussion-view .comment-body-wrapper *[style] { +[modern=true]:root[style-override=true] .discussion-view .discussion-prompt *[style], +[modern=true]:root[style-override=true] .discussion-view .comment-body-wrapper *[style] { color: var(--text) !important; background: none !important; } -[modern=true][style-override=true]:root #important-post-body *[style], -[modern=true][style-override=true]:root #main-inner .info-container *[style], -[modern=true][style-override=true]:root .standard-page .s-page-content-full *[style], -[modern=true][style-override=true]:root .discussion-prompt *[style], -[modern=true][style-override=true]:root .comment-comment .comment-body-wrapper *[style], -[modern=true][style-override=true]:root .instructions-content *[style], -[modern=true][style-override=true]:root .lrn_stimulus .lrn_stimulus_content *[style], -[modern=true][style-override=true]:root .lrn-possible-answer *[style], -[modern=true][style-override=true]:root .folder-description *[style], -[modern=true][style-override=true]:root .item-info *[style] { +[modern=true]:root[style-override=true] #important-post-body *[style], +[modern=true]:root[style-override=true] #main-inner .info-container *[style], +[modern=true]:root[style-override=true] .standard-page .s-page-content-full *[style], +[modern=true]:root[style-override=true] .discussion-prompt *[style], +[modern=true]:root[style-override=true] .comment-comment .comment-body-wrapper *[style], +[modern=true]:root[style-override=true] .instructions-content *[style], +[modern=true]:root[style-override=true] .lrn_stimulus .lrn_stimulus_content *[style], +[modern=true]:root[style-override=true] .lrn-possible-answer *[style], +[modern=true]:root[style-override=true] .folder-description *[style], +[modern=true]:root[style-override=true] .item-info *[style] { color: var(--text) !important; background: none !important; } @@ -215,9 +215,7 @@ variable-intellisense { color: var(--text); } -/* Hover over Links in Schoology's Native Notifications */ -[modern=true]:root .drGks a:hover, -[modern=true]:root .drGks a:focus { +[modern=true]:root .drGks a:hover, [modern=true]:root .drGks a:focus { background-color: var(--highlight); } @@ -315,7 +313,7 @@ variable-intellisense { border-radius: var(--border-radius) !important; } -[modern=true][dark=false]:root .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text { +[modern=true]:root[dark=false] .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text { background-color: var(--secondary) !important; color: var(--text) !important; } @@ -325,8 +323,8 @@ variable-intellisense { background-color: var(--muted-text) !important; } -[modern=true][dark=false]:root .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text:hover, -[modern=true][dark=false]:root .action-links-unfold:hover { +[modern=true]:root[dark=false] .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text:hover, +[modern=true]:root[dark=false] .action-links-unfold:hover { background-color: var(--muted-text) !important; } @@ -777,7 +775,7 @@ variable-intellisense { } [modern=true]:root .comment-body-wrapper { - color: var(--text) !important; + color: var(--text) !important; } [modern=true]:root .s-polls-poll-option, @@ -880,7 +878,7 @@ variable-intellisense { background-image: url("/sites/all/themes/schoology_theme/images/btn-sprite.png?2f89e2e4127348b5") !important; } -[modern=true][dark=false]:root #edge-filters-btn { +[modern=true]:root[dark=false] #edge-filters-btn { background-color: var(--secondary) !important; color: var(--text) !important; filter: none !important; @@ -1319,27 +1317,27 @@ variable-intellisense { background-color: var(--accent); } -[modern=true]:root .tab-nav.active { - background-color: var(--input); -} - [modern=true]:root .tab-nav:hover { background-color: var(--hover-color); } +[modern=true]:root .tab-nav.active { + background-color: var(--input); +} + [modern=true]:root .tab-nav.active:hover { background-color: var(--input); } - + [modern=true]:root #ui-datepicker-div { background-color: var(--input) !important; } - + [modern=true]:root .ui-datepicker-days-cell a { background-color: var(--primary) !important; border-color: var(--border-color) !important; } - + [modern=true]:root .ui-datepicker-unselectable { background-color: var(--accent) !important; } @@ -1347,18 +1345,18 @@ variable-intellisense { [modern=true]:root .ui-datepicker-days-cell.ui-datepicker-current-day a { background-color: var(--active) !important; } - + [modern=true]:root .ui-datepicker-days-cell-over a { background-color: var(--hover-color) !important; } - + [modern=true]:root .ui-datepicker-links > div > a { background-color: var(--input); background-blend-mode: screen; border: var(--modern-border); border-radius: var(--border-radius); } - + [modern=true]:root .ui-datepicker-links > div:hover > a { background-color: var(--hover-color); } @@ -1765,6 +1763,14 @@ variable-intellisense { border-bottom: var(--modern-border) !important; } +[modern=true]:root .tw-bs .btn:hover { + background-color: var(--hover-color) !important; +} + +[modern=true]:root .tw-bs .dropdown-menu { + background-color: var(--primary) !important; +} + [modern=true]:root .portfolio-route-content { border: var(--modern-border) !important; border-radius: var(--border-radius) !important; @@ -1814,11 +1820,6 @@ variable-intellisense { color: var(--muted-text) !important; } -[modern=true]:root .sgy-autosave-input.sgy-autosave-input--editing label span, -[modern=true]:root .sgy-autosave-input.sgy-autosave-input--editing .form-group:hover label span { - color: var(--text) !important; -} - [modern=true]:root .tw-bs .remaining-char-len { color: var(--text) !important; } @@ -1841,7 +1842,10 @@ variable-intellisense { color: var(--link-color) !important; } - +[modern=true]:root .sgy-autosave-input.sgy-autosave-input--editing label span, +[modern=true]:root .sgy-autosave-input.sgy-autosave-input--editing .form-group:hover label span { + color: var(--text) !important; +} [modern=true]:root #school-events { padding: var(--padding) !important; @@ -2136,11 +2140,11 @@ variable-intellisense { [modern=true]:root .update-comments-pagenation { background-color: var(--accent); } - + [modern=true]:root .feed-comments-viewall-container { color: var(--link-color); } - + [modern=true]:root .dropbox-viewer-item-wrapper { background-color: var(--primary); } @@ -2262,7 +2266,7 @@ variable-intellisense { color: var(--text) !important; } -[modern=true][dark=true]:root #assessment-darktheme-warning-message[data-popup=true] { +[modern=true]:root[dark=true] #assessment-darktheme-warning-message[data-popup=true] { display: block !important; text-align: center; width: 50%; @@ -2274,11 +2278,11 @@ variable-intellisense { border-radius: var(--border-radius); } -[modern=true][dark=true]:root #assessment-darktheme-warning-message .click-to-hide { +[modern=true]:root[dark=true] #assessment-darktheme-warning-message .click-to-hide { padding-top: 10px !important; } -[modern=true][dark=true]:root #assessment-darktheme-warning-message .click-to-hide span { +[modern=true]:root[dark=true] #assessment-darktheme-warning-message .click-to-hide span { text-decoration: underline; cursor: pointer; } @@ -2874,21 +2878,15 @@ variable-intellisense { background-color: var(--active) !important; } -/*****************/ -/* Teacher Areas */ -/* */ -/* Test Setup */ [modern=true]:root .settings-label { color: var(--text); } -/* Buttons */ [modern=true]:root .s-grade-item-assignment-submission-app { background-color: var(--primary); color: var(--text); } -/* Button Hover */ [modern=true]:root ._2mytC:hover a, [modern=true]:root ._2mytC:focus a, [modern=true]:root .Oq4U1:hover:not(:active), @@ -2904,21 +2902,19 @@ variable-intellisense { background-color: var(--hover-color); } -/* Active Buttons */ [modern=true]:root .Oq4U1:active { background-color: var(--active); } -[modern="true"]:root .s-share-checkbox-form-wrapper .checkboxes-wrapper { +[modern=true]:root .s-share-checkbox-form-wrapper .checkboxes-wrapper { background-color: var(--primary); } -[modern="true"]:root #attachment-selector #toggle-copy:hover { +[modern=true]:root #attachment-selector #toggle-copy:hover { background-color: var(--hover-color); } - -[modern="true"]:root .comments-list .comment { +[modern=true]:root .comments-list .comment { background: var(--primary); border: var(--modern-border); border-color: var(--border-color); @@ -2929,28 +2925,21 @@ variable-intellisense { color: var(--muted-text); } - -/* */ -/* Course Materials Page */ -/* */ [modern=true]:root .unpublished, [modern=true]:root #folder-contents-table .unpublished .folder-contents-cell { background-color: var(--primary); } -[modern=true] .masquerade-box { +[modern=true]:root .masquerade-box { background-color: var(--secondary); border: var(--modern-border); } - -[modern="true"]:root div.grade-assignment-popup .description, [modern="true"]:root #sEditGradeTable tr th { + +[modern=true]:root div.grade-assignment-popup .description, [modern=true]:root #sEditGradeTable tr th { color: var(--text); background-color: var(--primary); } -/* */ -/* Badges & Attendance Pages */ -/* */ [modern=true]:root #badges-fullscreen-btn { background-color: var(--primary); border: var(--modern-border); @@ -2960,7 +2949,7 @@ variable-intellisense { [modern=true]:root .even .badge-course-table-cell, [modern=true]:root #s-attendance-edit-form tbody td, [modern=true]:root #s-attendance-edit-form tbody td div, -[modern=true] #s-attendance-edit-form tbody th { +[modern=true]:root #s-attendance-edit-form tbody th { background-color: var(--primary); } @@ -3042,10 +3031,6 @@ variable-intellisense { border-radius: 0 var(--border-radius) var(--border-radius) 0; } - -/* */ -/* Grade Setup Page */ -/* */ [modern=true]:root .scale-level-scale { background-color: var(--highlight); border: var(--modern-border); @@ -3100,7 +3085,7 @@ variable-intellisense { } [modern=true]:root .guid-item:active, -[modern=true]:root .alignment-form-container .header .search-tab.active, +[modern=true]:root .alignment-form-container .header .search-tab.active, [modern=true]:root .alignment-form-container li.active, [modern=true]:root .alignment-form-container div.active { background-color: var(--active); @@ -3123,15 +3108,10 @@ variable-intellisense { color: var(--muted-text); } -[modern="true"]:root .add-criteria-text { +[modern=true]:root .add-criteria-text { color: var(--text); } - - -/* */ -/* MEMBERS PAGE */ -/* */ [modern=true]:root .parent-names-list.description { color: var(--muted-text); } @@ -3199,12 +3179,6 @@ variable-intellisense { color: var(--text) !important; } - - - -/* */ -/* Gradebook Page */ -/* */ [modern=true]:root .s-js-grid-loading-cover { background-color: var(--primary); } @@ -3275,6 +3249,6 @@ variable-intellisense { background-color: var(--hover-color); } -[modern="true"]:root #grade-comment-field { +[modern=true]:root #grade-comment-field { background-color: var(--primary); } From 637c871aa435b2d639f81746d8b285ed7722a37b Mon Sep 17 00:00:00 2001 From: dsnsgithub <48170013+dsnsgithub@users.noreply.github.com> Date: Wed, 7 Dec 2022 19:25:03 -0800 Subject: [PATCH 22/24] fix minimum grade calculation for blank/zero score --- js/grades.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/grades.js b/js/grades.js index cd395dc1..29a865e2 100644 --- a/js/grades.js +++ b/js/grades.js @@ -703,7 +703,7 @@ var fetchQueue = []; if (colMatch) { let scorePercent = Number.parseFloat(colMatch[1]); - if (scorePercent && !Number.isNaN(scorePercent)) { + if ((scorePercent || scorePercent === 0) && !Number.isNaN(scorePercent)) { total += (weightPercent.slice(1, -2) / 100) * scorePercent; let weight = Number.parseFloat(weightPercent.slice(1, -2)); totalPercentWeight += weight; From d4a1ad05a85cd972866abdde994553bc06603871 Mon Sep 17 00:00:00 2001 From: dsnsgithub <48170013+dsnsgithub@users.noreply.github.com> Date: Wed, 7 Dec 2022 19:29:07 -0800 Subject: [PATCH 23/24] add rounding to final minimum grade calculation --- js/grades.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/js/grades.js b/js/grades.js index 29a865e2..8eff4cbf 100644 --- a/js/grades.js +++ b/js/grades.js @@ -743,20 +743,17 @@ var fetchQueue = []; deltaScore = -scoreVal; } - deltaScore = Math.round(deltaScore * 100) / 100; + // ?: Using Math.ceil ensures finalGrade >= desiredGrade when possible + deltaScore = Math.ceil(deltaScore * 100) / 100; - if (deltaScore < -scoreVal) { - // probably 1 under due to rounding - deltaScore++; - } - - // TODO refactor: we already have our DOM elements + const finalGrade = Math.round((scoreVal + deltaScore) * 100) / 100; if (score) { - score.title = scoreVal + deltaScore; - score.textContent = scoreVal + deltaScore; + // TODO refactor: we already have our DOM elements + score.title = finalGrade; + score.textContent = finalGrade; } - prepareScoredAssignmentGrade(element.querySelector(".injected-assignment-percent"), scoreVal + deltaScore, maxVal); + prepareScoredAssignmentGrade(element.querySelector(".injected-assignment-percent"), finalGrade, maxVal); recalculateCategoryScore(catRow, deltaScore, noGrade ? maxVal : 0); recalculatePeriodScore(perRow, deltaScore, noGrade ? maxVal : 0); }; From e783a536008a33ba7830f817c482e00c915679cb Mon Sep 17 00:00:00 2001 From: Aaron Opell Date: Tue, 13 Dec 2022 22:01:58 -0800 Subject: [PATCH 24/24] Add many new features and bump version --- css/all.css | 13 ++++++-- css/modern/all.css | 60 ++++++++++++++++++++++------------- imgs/lausd-2022.png | Bin 0 -> 9689 bytes js/all-idle.js | 6 ++++ js/all.js | 35 ++++++++++++++++++--- js/api-key.js | 2 +- js/background.js | 18 +++++++++++ js/course.js | 63 +++++++++++++++++++++++++++++-------- js/courses.js | 4 ++- js/default-themes.js | 15 +++++++++ js/grades.js | 20 +++++++++++- js/home.js | 30 ++++++++++++++++-- js/preload.js | 69 +++++++++++++++++++++++++++++++++++++++-- js/theme-editor.js | 14 +++++++-- js/theme-model.js | 2 +- js/theme.js | 3 ++ js/version-specific.js | 30 +++++++++--------- manifest.json | 2 +- scss/modern/all.scss | 2 +- theme-editor.html | 11 +++++-- themes/README.md | 5 +-- 21 files changed, 329 insertions(+), 75 deletions(-) create mode 100644 imgs/lausd-2022.png diff --git a/css/all.css b/css/all.css index aad3bdc0..803cbda7 100644 --- a/css/all.css +++ b/css/all.css @@ -278,12 +278,21 @@ video.easter-egg { justify-content: space-between; } -.restore-defaults { - color: red !important; +.settings-actions-wrapper { margin-top: 10px; font-weight: normal; } +.settings-actions-wrapper > a, +.settings-actions-wrapper > span { + margin-left: 10px; + margin-right: 10px; +} + +.restore-defaults { + color: red !important; +} + .margin-under { margin-bottom: 10px !important; } diff --git a/css/modern/all.css b/css/modern/all.css index a83f7cfc..4ed6ac80 100644 --- a/css/modern/all.css +++ b/css/modern/all.css @@ -89,27 +89,27 @@ variable-intellisense { border-radius: var(--border-radius) !important; } -[modern=true]:root[style-override=true] .s-edge-feed .edge-item *[style] { +[modern=true][style-override=true]:root .s-edge-feed .edge-item *[style] { color: var(--text) !important; background: none !important; } -[modern=true]:root[style-override=true] .discussion-view .discussion-prompt *[style], -[modern=true]:root[style-override=true] .discussion-view .comment-body-wrapper *[style] { +[modern=true][style-override=true]:root .discussion-view .discussion-prompt *[style], +[modern=true][style-override=true]:root .discussion-view .comment-body-wrapper *[style] { color: var(--text) !important; background: none !important; } -[modern=true]:root[style-override=true] #important-post-body *[style], -[modern=true]:root[style-override=true] #main-inner .info-container *[style], -[modern=true]:root[style-override=true] .standard-page .s-page-content-full *[style], -[modern=true]:root[style-override=true] .discussion-prompt *[style], -[modern=true]:root[style-override=true] .comment-comment .comment-body-wrapper *[style], -[modern=true]:root[style-override=true] .instructions-content *[style], -[modern=true]:root[style-override=true] .lrn_stimulus .lrn_stimulus_content *[style], -[modern=true]:root[style-override=true] .lrn-possible-answer *[style], -[modern=true]:root[style-override=true] .folder-description *[style], -[modern=true]:root[style-override=true] .item-info *[style] { +[modern=true][style-override=true]:root #important-post-body *[style], +[modern=true][style-override=true]:root #main-inner .info-container *[style], +[modern=true][style-override=true]:root .standard-page .s-page-content-full *[style], +[modern=true][style-override=true]:root .discussion-prompt *[style], +[modern=true][style-override=true]:root .comment-comment .comment-body-wrapper *[style], +[modern=true][style-override=true]:root .instructions-content *[style], +[modern=true][style-override=true]:root .lrn_stimulus .lrn_stimulus_content *[style], +[modern=true][style-override=true]:root .lrn-possible-answer *[style], +[modern=true][style-override=true]:root .folder-description *[style], +[modern=true][style-override=true]:root .item-info *[style] { color: var(--text) !important; background: none !important; } @@ -327,7 +327,7 @@ variable-intellisense { border-radius: var(--border-radius) !important; } -[modern=true]:root[dark=false] .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text { +[modern=true][dark=false]:root .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text { background-color: var(--secondary) !important; color: var(--text) !important; } @@ -337,8 +337,8 @@ variable-intellisense { background-color: var(--muted-text) !important; } -[modern=true]:root[dark=false] .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text:hover, -[modern=true]:root[dark=false] .action-links-unfold:hover { +[modern=true][dark=false]:root .action-links-wrapper-expanded .action-links-unfold .action-links-unfold-text:hover, +[modern=true][dark=false]:root .action-links-unfold:hover { background-color: var(--muted-text) !important; } @@ -942,7 +942,7 @@ variable-intellisense { background-image: url("/sites/all/themes/schoology_theme/images/btn-sprite.png?2f89e2e4127348b5") !important; } -[modern=true]:root[dark=false] #edge-filters-btn { +[modern=true][dark=false]:root #edge-filters-btn { background-color: var(--secondary) !important; color: var(--text) !important; filter: none !important; @@ -1397,7 +1397,7 @@ variable-intellisense { } [modern=true]:root .tab-nav:hover { - background-color: var(--active); + background-color: var(--hover-color); } [modern=true]:root .tab-nav.active { @@ -1901,9 +1901,25 @@ variable-intellisense { background: var(--primary) !important; } +[modern=true]:root .tw-bs .portfolio-card__item-count-num { + color: var(--contrast-text) !important; +} + +[modern=true]:root .tw-bs .btn { + background-color: var(--primary) !important; + border: var(--modern-border) !important; + border-radius: var(--border-radius) !important; + color: var(--contrast-text) !important; +} + +[modern=true]:root .tw-bs .item-form__title-inline .sgy-autosave-input .form-group:hover label, [modern=true]:root .tw-bs .item-form__title-inline .sgy-autosave-input .form-group:hover label span { + color: var(--muted-text) !important; +} + [modern=true]:root .tw-bs .portfolio-list__list-view > .ui-state-highlight, [modern=true]:root .tw-bs .portfolio-item-list > .ui-state-highlight { background: var(--primary) !important; + border-radius: var(--border-radius) !important; } [modern=true]:root .tw-bs .portfolio-card__item-count-num { @@ -1937,7 +1953,7 @@ variable-intellisense { [modern=true]:root .tw-bs .add-item-dropdown__add-new-icon::before, [modern=true]:root .tw-bs .portfolio-list__add-new-icon::before { background-color: var(--primary) !important; - border-color: var(--modern-border) !important; + border-color: var(--border-color) !important; } [modern=true]:root .tw-bs .item-view-container, @@ -2384,7 +2400,7 @@ variable-intellisense { color: var(--text) !important; } -[modern=true]:root[dark=true] #assessment-darktheme-warning-message[data-popup=true] { +[modern=true][dark=true]:root #assessment-darktheme-warning-message[data-popup=true] { display: block !important; text-align: center; width: 50%; @@ -2396,11 +2412,11 @@ variable-intellisense { border-radius: var(--border-radius); } -[modern=true]:root[dark=true] #assessment-darktheme-warning-message .click-to-hide { +[modern=true][dark=true]:root #assessment-darktheme-warning-message .click-to-hide { padding-top: 10px !important; } -[modern=true]:root[dark=true] #assessment-darktheme-warning-message .click-to-hide span { +[modern=true][dark=true]:root #assessment-darktheme-warning-message .click-to-hide span { text-decoration: underline; cursor: pointer; } diff --git a/imgs/lausd-2022.png b/imgs/lausd-2022.png new file mode 100644 index 0000000000000000000000000000000000000000..7ab7e5fdaef970935b047984a12e3d8a4dcf22ba GIT binary patch literal 9689 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 X4sglRgsJ>TjR8~?-pkj^nuYxj`K)O) literal 0 HcmV?d00001 diff --git a/js/all-idle.js b/js/all-idle.js index 43cb8e99..5412e449 100644 --- a/js/all-idle.js +++ b/js/all-idle.js @@ -356,6 +356,12 @@ }).observe(document.getElementById("body"), { attributes: true, attributeFilter: ["aria-hidden"] }); })(); +(function () { + if (location.pathname.startsWith("/link") && Setting.getValue("autoBypassLinkRedirects") === "enabled") { + document.querySelector("a.s-extlink-direct[href]").click(); + } +})(); + (function () { setTimeout(() => { let assessmentStartContainer = document.querySelector(`.assessment-delivery-landing-app div._3dHTa`); diff --git a/js/all.js b/js/all.js index f6b4bc73..7159364c 100644 --- a/js/all.js +++ b/js/all.js @@ -112,6 +112,16 @@ let modalFooterText = "Schoology Plus © Aaron Opell, Glen Husman 2017-2021" let frame = document.createElement("iframe"); frame.src = `https://schoologypl.us/changelog?version=${chrome.runtime.getManifest().version}`; +function generateDebugInfo() { + return JSON.stringify({ + version: chrome.runtime.getManifest().version, + getBrowser: getBrowser(), + url: location.href, + storageContents: __storage, + userAgent: navigator.userAgent + }, null, 2); +} + let modals = [ new Modal( "settings-modal", @@ -312,7 +322,7 @@ let modals = [ ]), createElement("h2", ["setting-entry"], { textContent: "Icons and Images" }), createElement("div", ["setting-entry"], {}, [ - + createElement("ul", ["contributor-list"], { style: { listStyle: "inside" }, innerHTML: (function (contribs) { @@ -410,10 +420,25 @@ let modals = [ })() ]), modalFooterText + ), + new Modal( + "debug-modal", + "Debug Info", + createElement("div", ["splus-modal-contents"], {}, [ + createElement("div", ["setting-entry"], {}, [ + createButton("debug-modal-clipboard-copy", "Copy to Clipboard", event => navigator.clipboard.writeText(generateDebugInfo())), + ]), + createElement("pre", [], { + id: "debug-modal-content", + textContent: "Loading..." + }), + ]), + modalFooterText, + (modal, x) => document.getElementById("debug-modal-content").textContent = generateDebugInfo() ) ]; -(() => { +(async () => { // Run when new version installed let newVersion = Setting.getValue("newVersion"); if (!newVersion || newVersion != chrome.runtime.getManifest().version) { @@ -444,7 +469,7 @@ let modals = [ ] }); - versionSpecificFirstLaunch(currentVersion, newVersion); + await versionSpecificFirstLaunch(currentVersion, newVersion); Setting.setValue("newVersion", chrome.runtime.getManifest().version); } })(); @@ -1131,9 +1156,9 @@ async function createQuickAccess() { } } catch (err) { if (err === "noapikey") { - wrapper.appendChild(createElement("div", ["quick-access-no-api"], { }, [ + wrapper.appendChild(createElement("div", ["quick-access-no-api"], {}, [ createElement("p", [], { textContent: "Please grant access to your enrolled courses in order to use this feature." }), - createButton("quick-access-grant-access", "Grant Access", () => {location.pathname = "/api"; }), + createButton("quick-access-grant-access", "Grant Access", () => { location.pathname = "/api"; }), ])); } else { throw err; diff --git a/js/api-key.js b/js/api-key.js index 7295c0a9..7e494cf8 100644 --- a/js/api-key.js +++ b/js/api-key.js @@ -87,7 +87,7 @@ ]) ])); - let submitButton = null; //document.getElementById("edit-reveal") || document.getElementById("edit-request"); + let submitButton = document.getElementById("edit-reveal") || document.getElementById("edit-request"); if(submitButton === null) { let permElement = document.getElementsByClassName("splus-permissions-description")[0]; permElement.append(createElement("br", [], {})); diff --git a/js/background.js b/js/background.js index 3362ab62..691e979f 100644 --- a/js/background.js +++ b/js/background.js @@ -47,6 +47,24 @@ chrome.runtime.onInstalled.addListener(function (details) { // TODO: Open window here to ask new users to select their domain // chrome.tabs.create({ url: "https://schoologypl.us" }) trackEvent("Runtime onInstalled", details.reason, "Versions"); + + chrome.contextMenus.create({ + "title": "Theme Editor", + "contexts": ["browser_action"], + "onclick": () => window.open(chrome.runtime.getURL("/theme-editor.html"), "_blank") + }); + + chrome.contextMenus.create({ + "title": "Discord Support Server", + "contexts": ["browser_action"], + "onclick": () => window.open("https://discord.schoologypl.us", "_blank") + }); + + chrome.contextMenus.create({ + "title": "Schoology Plus Website", + "contexts": ["browser_action"], + "onclick": () => window.open("https://schoologypl.us?utm_source=ext-context-menu", "_blank") + }); }); Logger.log("Loaded event page"); diff --git a/js/course.js b/js/course.js index 7a49f7f6..965acaad 100644 --- a/js/course.js +++ b/js/course.js @@ -53,7 +53,10 @@ let courseSettingsCourseName; ]) ]), createElement("p", ["add-grade-symbol"], {}, [ - createElement("a", [], { textContent: "Add Grading Symbol", href: "#", onclick: (event) => createRow() }) + createElement("a", [], { textContent: "+ Add Grading Symbol", href: "#", onclick: (event) => createRow() }) + ]), + createElement("p", ["add-grade-symbol"], {}, [ + createElement("a", [], { textContent: "> Set as default grading scale for all courses", href: "#", onclick: setDefaultScale }) ]) ]), createElement("div", ["setting-entry"], {}, [ @@ -68,14 +71,16 @@ let courseSettingsCourseName; ]), createElement("div", ["settings-buttons-wrapper"], undefined, [ createButton("save-course-settings", "Save Settings", saveCourseSettings), - createElement("a", ["restore-defaults"], { textContent: "Restore Defaults", onclick: restoreCourseDefaults, href: "#" }) + createElement("div", ["settings-actions-wrapper"], {}, [ + createElement("a", ["restore-defaults"], { textContent: "Restore Defaults", onclick: restoreCourseDefaults, href: "#" }) + ]), ]) ]), modalFooterText, setCourseOptionsContent)); })(); document.querySelector("#course-settings-modal .close").onclick = modalClose; -const defaultGradingScale = { "90": "A", "80": "B", "70": "C", "60": "D", "0": "F" }; +const defaultGradingScale = Setting.getValue("getGradingScale")(null); let gradingScale = defaultGradingScale; function setCourseOptionsContent(modal, options) { @@ -146,8 +151,7 @@ function createRow(percentage, symbol) { gradingScaleWrapper.appendChild(row); } -function saveCourseSettings() { - let currentValue = Setting.getValue("gradingScales", {}); +function getCreatedGradingScale() { let scale = {}; for (let r of document.querySelectorAll(".grade-symbol-row")) { let inputBoxes = r.querySelectorAll("input"); @@ -155,13 +159,30 @@ function saveCourseSettings() { scale[inputBoxes[0].value] = inputBoxes[1].value; } else { alert("Values cannot be empty!"); - return; + return null; } } - if (scale != currentValue[courseIdNumber]) { - trackEvent("gradingScales", "set value", "Course Settings"); + + return scale; +} + +function saveCourseSettings(skipSavingGradingScale = false) { + let currentValue = Setting.getValue("gradingScales", {}); + + if (skipSavingGradingScale) { + let scale = getCreatedGradingScale(); + + if (scale === null) { + alert("Values cannot be empty!"); + return; + } + + if (scale != currentValue[courseIdNumber]) { + trackEvent("gradingScales", "set value", "Course Settings"); + } + + currentValue[courseIdNumber] = scale; } - currentValue[courseIdNumber] = scale; let currentAliasesValue = Setting.getValue("courseAliases", {}); let newAliasValue = document.getElementById("setting-input-course-alias").value; @@ -194,19 +215,35 @@ function saveCourseSettings() { }); } +function setDefaultScale() { + let scale = getCreatedGradingScale(); + + if (scale === null) { + alert("Values cannot be empty!"); + return; + } + + if (confirm("Are you sure you want to set this as your default grading scale?\n\nThis will replace the grading scale for all courses except for those where you have already defined custom grading scales.\n\nThis will also save your course settings and reload the page.")) { + Setting.setValue("defaultGradingScale", scale, () => saveCourseSettings(true)); + } +} + function restoreCourseDefaults() { trackEvent("restore-course-defaults", "restore default values", "Course Settings"); let currentValue = Setting.getValue("gradingScales", {}); - currentValue[courseIdNumber] = defaultGradingScale; + delete currentValue[courseIdNumber]; let currentAliasesValue = Setting.getValue("courseAliases", {}); - currentAliasesValue[courseIdNumber] = null; + delete currentAliasesValue[courseIdNumber]; let courseIconOverride = Setting.getValue("forceDefaultCourseIcons", {}); - courseIconOverride[courseIdNumber] = null; + delete courseIconOverride[courseIdNumber]; + + let courseQuickLinks = Setting.getValue("courseQuickLinks", {}); + delete courseQuickLinks[courseIdNumber]; if (confirm(`Are you sure you want to reset all options for the course "${courseSettingsCourseName}" to their default values? This action is irreversible.`)) { - Setting.setValues({ gradingScales: currentValue, courseAliases: currentAliasesValue, forceDefaultCourseIcons: courseIconOverride }, () => { + Setting.setValues({ gradingScales: currentValue, courseAliases: currentAliasesValue, forceDefaultCourseIcons: courseIconOverride, courseQuickLinks: courseQuickLinks }, () => { alert("Settings restored. Reloading."); location.reload(); }); diff --git a/js/courses.js b/js/courses.js index 73253749..21e53e89 100644 --- a/js/courses.js +++ b/js/courses.js @@ -75,7 +75,9 @@ $.contextMenu({ }); if (location.search.includes("reorder")) { - document.querySelector("#reorder-ui .link-btn").click(); + setTimeout(() => { + document.querySelector("#reorder-ui .link-btn").click(); + }, 750); } Logger.debug("Finished loading courses.js"); \ No newline at end of file diff --git a/js/default-themes.js b/js/default-themes.js index 33d1d6c8..c35c64bc 100644 --- a/js/default-themes.js +++ b/js/default-themes.js @@ -287,6 +287,21 @@ let __defaultThemes = [ "border": "#024f7d" } }, + "logo": { + "preset": "lausd_2022" + } + }, + { + "name": "LAUSD 2019", + "version": 2, + "color": { + "custom": { + "primary": "#143f69", + "hover": "#345f89", + "background": "#345f89", + "border": "#024f7d" + } + }, "logo": { "preset": "lausd_2019" } diff --git a/js/grades.js b/js/grades.js index 8eff4cbf..0a6400fc 100644 --- a/js/grades.js +++ b/js/grades.js @@ -886,7 +886,25 @@ var fetchQueue = []; }; } - calcMinFor.separator = "-----"; + calcMinFor.separator1 = "-----"; + + calcMinFor.calculateMinGradeForCustom = { + name: "For Custom Value", + callback: function (key, opt) { + trackEvent("assignment", `calc-min-for-custom`, "What-If Grades"); + + let value = prompt("Please enter a grade to calculate for (a number on the scale of 0 to 100)"); + + if (!Number.isNaN(value) && !Number.isNaN(Number.parseFloat(value))) { + // if a number, calculate + calculateMinimumGrade(this[0], Number.parseFloat(value) / 100); + } else { + alert("Invalid number") + } + } + }; + + calcMinFor.separator2 = "-----"; calcMinFor.courseOptions = { name: "Change Grade Boundaries", callback: function () { diff --git a/js/home.js b/js/home.js index c28a88bd..333b2526 100644 --- a/js/home.js +++ b/js/home.js @@ -73,9 +73,16 @@ function postFromBroadcast(broadcast) { function dismissNotification(event) { let id = event.target.dataset.broadcastId; + let unreadBroadcasts = Setting.getValue("unreadBroadcasts"); unreadBroadcasts.splice(unreadBroadcasts.findIndex(x => x.id == id), 1); Setting.setValue("unreadBroadcasts", unreadBroadcasts); + + let readBroadcasts = localStorage.getItem("splus-readBroadcasts"); + readBroadcasts = readBroadcasts === null ? [] : JSON.parse(readBroadcasts); + readBroadcasts.push(id); + localStorage.setItem("splus-readBroadcasts", JSON.stringify(readBroadcasts)); + document.getElementById(`broadcast${id}`).outerHTML = ""; } @@ -84,7 +91,18 @@ function formatDateAsString(date) { } if (homeFeedContainer && Setting.getValue("broadcasts") !== "disabled") { - (function () { + (async function () { + try { + let onlineBroadcasts = await (await fetch("https://schoologypl.us/alert.json")).json(); + + let readBroadcasts = localStorage.getItem("splus-readBroadcasts"); + readBroadcasts = readBroadcasts === null ? [] : JSON.parse(readBroadcasts); + + saveBroadcasts(onlineBroadcasts.filter(b => !readBroadcasts.includes(b.id))); + } catch (err) { + // Ignore + } + let observer = new MutationObserver(function (mutations) { if (mutations.length == 0) { return; @@ -94,8 +112,14 @@ if (homeFeedContainer && Setting.getValue("broadcasts") !== "disabled") { // style is set on homeFeedContainer whenever Schoology decides to unhide it (static CSS sets display: none), i.e. when it's finished loading // once this happens, we can do our thing - for (let broadcast of Setting.getValue("unreadBroadcasts") || []) { - feed.insertAdjacentElement("afterbegin", postFromBroadcast(broadcast)); + let unreadBroadcasts = Setting.getValue("unreadBroadcasts"); + for (let broadcast of unreadBroadcasts || []) { + if (!broadcast.expires || broadcast.expires > Date.now()) { + feed.insertAdjacentElement("afterbegin", postFromBroadcast(broadcast)); + } else { + unreadBroadcasts.splice(unreadBroadcasts.findIndex(x => x.id == broadcast.id), 1); + Setting.setValue("unreadBroadcasts", unreadBroadcasts); + } } // then disconnect diff --git a/js/preload.js b/js/preload.js index 866d447d..4e9da86b 100644 --- a/js/preload.js +++ b/js/preload.js @@ -405,7 +405,12 @@ function updateSettings(callback) { // wrapper functions for e.g. defaults __storage.getGradingScale = function (courseId) { let defaultGradingScale = { "90": "A", "80": "B", "70": "C", "60": "D", "0": "F" }; - if (__storage.gradingScales && __storage.gradingScales[courseId]) { + + if (__storage.defaultGradingScale) { + defaultGradingScale = __storage.defaultGradingScale; + } + + if (courseId !== null && __storage.gradingScales && __storage.gradingScales[courseId]) { return __storage.gradingScales[courseId]; } @@ -763,6 +768,28 @@ function updateSettings(callback) { undefined, element => element.value ).control, + new Setting( + "autoBypassLinkRedirects", + "Automatically Bypass Link Redirects", + "Automatically skip the external link redirection page, clicking 'Continue' by default", + "enabled", + "select", + { + options: [ + { + text: "Enabled", + value: "enabled" + }, + { + text: "Disabled", + value: "disabled" + } + ] + }, + value => value, + undefined, + element => element.value + ).control, new Setting( "helpCenterFAB", "Schoology Help Button", @@ -826,7 +853,12 @@ function updateSettings(callback) { ]), createElement("div", ["settings-buttons-wrapper"], undefined, [ createButton("save-settings", "Save Settings", () => Setting.saveModified()), - createElement("a", ["restore-defaults"], { textContent: "Restore Defaults", onclick: Setting.restoreDefaults, href: "#" }) + createElement("div", ["settings-actions-wrapper"], {}, [ + createElement("a", [], { textContent: "View Debug Info", onclick: () => openModal("debug-modal"), href: "#" }), + createElement("a", [], { textContent: "Export Settings", onclick: Setting.export, href: "#" }), + createElement("a", [], { textContent: "Import Settings", onclick: Setting.import, href: "#" }), + createElement("a", ["restore-defaults"], { textContent: "Restore Defaults", onclick: Setting.restoreDefaults, href: "#" }) + ]), ]) ]); @@ -984,6 +1016,39 @@ Setting.restoreDefaults = function () { } } +/** + * Exports settings to the clipboard in JSON format + */ +Setting.export = function () { + trackEvent("export-settings", "export settings", "Setting"); + navigator.clipboard.writeText(JSON.stringify(__storage, null, 2)) + .then(() => alert("Copied settings to clipboard!")) + .catch(err => alert("Exporting settings failed!")); +} + +/** + * Import settings from clipboard in JSON format + */ +Setting.import = function () { + trackEvent("import-settings", "attempt import settings", "Setting"); + if (confirm("Are you sure you want to import settings? Importing invalid or malformed settings will most likely break Schoology Plus.")) { + let importedSettings = prompt("Please paste settings to import below:"); + + try { + let importedSettingsObj = JSON.parse(importedSettings); + } catch (err) { + alert("Failed to import settings! They were probably malformed. Make sure the settings are valid JSON."); + return; + } + + Setting.setValues(importedSettingsObj, () => { + trackEvent("import-settings", "successfully imported settings", "Setting"); + alert("Successfully imported settings. If Schoology Plus breaks, please restore defaults or reinstall. Reloading page.") + location.reload(); + }); + } +} + /** * Callback function called when any setting is changed in the settings menu * @param {Event} event Contains a `target` setting element diff --git a/js/theme-editor.js b/js/theme-editor.js index c9da837f..ddb8a40f 100644 --- a/js/theme-editor.js +++ b/js/theme-editor.js @@ -1,10 +1,11 @@ const schoologyPlusLogoImageUrl = chrome.runtime.getURL("/imgs/schoology-plus-wide.svg"); const schoologyLogoImageUrl = "https://ui.schoology.com/design-system/assets/schoology-logo-horizontal-white.884fbe559c66e06d28c5cfcbd4044f0e.svg"; const lausdLegacyImageUrl = chrome.runtime.getURL("/imgs/lausd-legacy.png"); -const lausdNewImageUrl = chrome.runtime.getURL("/imgs/lausd-2019.png"); +const lausd2019ImageUrl = chrome.runtime.getURL("/imgs/lausd-2019.png"); +const lausd2022ImageUrl = chrome.runtime.getURL("/imgs/lausd-2022.png"); const CURRENT_VERSION = SchoologyTheme.CURRENT_VERSION; const placeholderUrl = "https://via.placeholder.com/200x50?text=School+Logo"; -const LAUSD_THEMES = ["LAUSD Orange", "LAUSD Dark Blue"]; +const LAUSD_THEMES = ["LAUSD Orange", "LAUSD Dark Blue", "LAUSD 2019"]; const CLASSIC_THEMES = ["Schoology Plus", "Rainbow"] var defaultDomain = "app.schoology.com"; @@ -46,6 +47,7 @@ var themeBorderColor = document.getElementById("theme-border-color"); var themeLinkColor = document.getElementById("theme-link-color"); var themeSchoologyPlusLogo = document.getElementById("theme-schoology-plus-logo"); var themeSchoologyLogo = document.getElementById("theme-schoology-logo"); +var themeLAUSDLogo2022 = document.getElementById("theme-lausd-logo-2022"); var themeNewLAUSDLogo = document.getElementById("theme-new-lausd-logo"); var themeLAUSDLogo = document.getElementById("theme-lausd-logo"); var themeDefaultLogo = document.getElementById("theme-default-logo"); @@ -423,6 +425,9 @@ function renderTheme(t) { case "lausd_2019": themeNewLAUSDLogo.click(); break; + case "lausd_2022": + themeLAUSDLogo2022.click(); + break; case "default": themeDefaultLogo.click(); break; @@ -874,9 +879,12 @@ function updateOutput() { } else if (themeSchoologyLogo.checked) { theme.logo = new ThemeLogo(undefined, "schoology_logo"); setCSSVariable("background-url", `url(${schoologyLogoImageUrl})`); + } else if (themeLAUSDLogo2022.checked) { + theme.logo = new ThemeLogo(undefined, "lausd_2022"); + setCSSVariable("background-url", `url(${lausd2022ImageUrl})`); } else if (themeNewLAUSDLogo.checked) { theme.logo = new ThemeLogo(undefined, "lausd_2019"); - setCSSVariable("background-url", `url(${lausdNewImageUrl})`); + setCSSVariable("background-url", `url(${lausd2019ImageUrl})`); } else if (themeLAUSDLogo.checked) { theme.logo = new ThemeLogo(undefined, "lausd_legacy"); setCSSVariable("background-url", `url(${lausdLegacyImageUrl})`); diff --git a/js/theme-model.js b/js/theme-model.js index c0fa4f22..b92df5bb 100644 --- a/js/theme-model.js +++ b/js/theme-model.js @@ -279,7 +279,7 @@ class ThemeLogo { /** * Defines a logo image * @param {string} url Link to an image - * @param {"schoology_plus"|"schoology_logo"|"lausd_legacy"|"lausd_2019"|"default"} preset Built-in image + * @param {"schoology_plus"|"schoology_logo"|"lausd_legacy"|"lausd_2019"|"lausd_2022"|"default"} preset Built-in image */ constructor(url, preset) { this.url = url; diff --git a/js/theme.js b/js/theme.js index 9ae80d11..3a0e29f9 100644 --- a/js/theme.js +++ b/js/theme.js @@ -107,6 +107,9 @@ class Theme { case "lausd_legacy": Theme.setLogoUrl(chrome.runtime.getURL("/imgs/lausd-legacy.png")); break; + case "lausd_2022": + Theme.setLogoUrl(chrome.runtime.getURL("/imgs/lausd-2022.png")); + break; case "lausd_2019": Theme.setLogoUrl(chrome.runtime.getURL("/imgs/lausd-2019.png")); break; diff --git a/js/version-specific.js b/js/version-specific.js index fc4f0ab3..43c0139f 100644 --- a/js/version-specific.js +++ b/js/version-specific.js @@ -92,7 +92,7 @@ function createToastButton(text, id, onClick, transition = "fadeOutRight") { } /** - * @typedef {{id:number,title:string,message:string,timestamp?:Date,icon?:string}} Broadcast + * @typedef {{id:number,title:string,message:string,timestamp?:Date,expires?:timestamp}} Broadcast * @param {Broadcast[]} broadcasts Broadcasts to save * @param {()=>void} callback Function called after broadcasts are saved */ @@ -118,7 +118,7 @@ function saveBroadcasts(broadcasts, callback = undefined) { * @returns {Broadcast} */ function createBroadcast(id, title, message, timestamp = Date.now()) { - return { id, title, message, timestamp: +timestamp }; + return { id: String(id), title, message, timestamp: +timestamp }; } /** @@ -249,16 +249,6 @@ let migrationsTo = { } }, 50); }, - "7.4": function (currentVersion, previousVersion) { - var accessToAccountInterval = setInterval(function () { - if (document.readyState === "complete" && openModal && !document.querySelector(".splus-modal-open")) { - clearInterval(accessToAccountInterval); - if (!Setting.getValue("apistatus")) { - location.pathname = "/api"; - } - } - }, 50); - }, "7.5": function (currentVersion, previousVersion) { chrome.storage.sync.get(["themes"], values => { if (values.themes) { @@ -291,10 +281,20 @@ let migrationsTo = { Logger.log(`No themes to migrate`); } }); - } + }, + "7.7": function (currentVersion, previousVersion) { + var accessToAccountInterval = setInterval(function () { + if (document.readyState === "complete" && openModal && !document.querySelector(".splus-modal-open")) { + clearInterval(accessToAccountInterval); + if (!Setting.getValue("apistatus")) { + location.pathname = "/api"; + } + } + }, 50); + }, }; -function versionSpecificFirstLaunch(currentVersion, previousVersion) { +async function versionSpecificFirstLaunch(currentVersion, previousVersion) { Logger.log("[Updater] First launch after update, updating to ", currentVersion, " from ", previousVersion); if (!previousVersion) { @@ -310,5 +310,5 @@ function versionSpecificFirstLaunch(currentVersion, previousVersion) { } else if (compareVersions(migrateTo, currentVersion) <= 0 && compareVersions(migrateTo, previousVersion) > 0) { migrationsTo[migrateTo](currentVersion, previousVersion); } - } + } } \ No newline at end of file diff --git a/manifest.json b/manifest.json index 97042bab..efb0caff 100644 --- a/manifest.json +++ b/manifest.json @@ -10,7 +10,7 @@ "update_url": "https://schoologypl.us/firefox_updates.json" } }, - "version": "7.6", + "version": "7.7", "icons": { "128": "imgs/icon@128.png", "64": "imgs/icon@64.png", diff --git a/scss/modern/all.scss b/scss/modern/all.scss index 635e7abd..9e65c9ef 100644 --- a/scss/modern/all.scss +++ b/scss/modern/all.scss @@ -629,7 +629,7 @@ variable-intellisense { .color-dark-7, .color-dark-8, .color-dark-9, - .color-dark-10, { + .color-dark-10 { border-color: rgba(0, 0, 0, 0.4) !important; } diff --git a/theme-editor.html b/theme-editor.html index edf1b729..60067bdb 100644 --- a/theme-editor.html +++ b/theme-editor.html @@ -311,18 +311,25 @@
Logo
Schoology Logo

+

+ +

diff --git a/themes/README.md b/themes/README.md index cc3d9c79..cccc8cf5 100644 --- a/themes/README.md +++ b/themes/README.md @@ -96,7 +96,8 @@ A Schoology Plus theme has the following format and components (each component w "preset": "schoology_plus", "preset": "schoology_logo", "preset": "lausd_legacy", - "preset": "lausd_2019" + "preset": "lausd_2019", + "preset": "lausd_2022" }, "cursor": { "primary": "https://example.com/my-cursor-image.png" @@ -332,7 +333,7 @@ A Schoology Plus theme has the following format and components (each component w |Default Value|![Schoology Plus](https://imgur.com/znq2Mc1.png) |Description|Describes the logo to be displayed on the left side of the navbar. |Subkey Options (Must contain ***exactly one*** of these subkeys)|
KeyDescription
`url`A direct link to an image to be used as the logo. Should be **160x50** or smaller for best results.
`preset`One of the values described below that results in a preset image being used as the logo.
-|`preset` Values|
ValuePreview
`"schoology_plus"`![Schoology Plus](https://imgur.com/znq2Mc1.png)
`"schoology_logo"`![Schoology logo](https://i.imgur.com/y64kiCY.png)
`"lausd_legacy"`![LAUSD legacy](https://imgur.com/Mm7FXhD.png)
`"lausd_2019"`![LAUSD 2019](https://imgur.com/NOuGRyZ.png)
`"default"`Don't override the logo whatsoever
**NOTE**: The Schoology and Schoology Plus logos have a transparent background, however the LAUSD logo backgrounds are orange or dark blue as shown. +|`preset` Values|
ValuePreview
`"schoology_plus"`![Schoology Plus](https://imgur.com/znq2Mc1.png)
`"schoology_logo"`![Schoology logo](https://i.imgur.com/y64kiCY.png)
`"lausd_legacy"`![LAUSD legacy](https://imgur.com/Mm7FXhD.png)
`"lausd_2019"`![LAUSD 2019](https://imgur.com/NOuGRyZ.png)
`"lausd_2022"`![LAUSD 2022](https://i.imgur.com/QFbx7wL.png)
`"default"`Don't override the logo whatsoever
**NOTE**: The Schoology and Schoology Plus logos have a transparent background, however the LAUSD logo backgrounds are orange or dark blue as shown. **Examples** ```js // Example using "url"