- // ==UserScript==
- // @name Google Classroom - Moonlight
- // @namespace Violentmonkey Scripts
- // @match https://classroom.google.com/*
- // @grant none
- // @version 2.2
- // @author Risuleia
- // @icon https://i.pinimg.com/originals/98/d3/a2/98d3a283f98cded8e639957e935bd373.png
- // @require https://code.jquery.com/jquery-3.6.0.min.js
- // @license MIT
- // @description Custom theme for Google Classroom
- // ==/UserScript==
-
- // ============ START ============ //
- (function() {
- 'use strict';
-
- var style = `
- /* css */
- @import url('https://fonts.googleapis.com/css2?family=Caveat&display=swap');
-
- /* background */
- body {
- background: rgba(21,31,46,0.8) url("https://i.imgur.com/LHj4Gil.jpg") center/100% fixed;
- background-repeat: no-repeat;
- background-size: cover;
- }
- /* global setting */
- * {
- font-family: Caveat;
- color: #fff !important;
- }
- * {
- border-color: rgba(21,31,46,0.8);
- }
- * {
- box-shadow: none !important;
- }
-
- /* scrollbar */
- ::-webkit-scrollbar {
- background: transparent;
- width: 5px;
- }
- ::-webkit-scrollbar-corner {
- background: transparent;
- }
- ::-webkit-scrollbar-track {
- background: transparent;
- }
- ::-webkit-scrollbar-thumb {
- background: linear-gradient(180deg, rgba(6,171,255,1) 5%, rgba(102,0,204,1) 97%);
- -webkit-border-radius: 1ex;
- }
- /* Annoucement box */
- .hgjBDc {
- background: rgba(21,31,46,0.8);
- }
- .vnnr5e .I9OJHe, .vnnr5e .CIy9F {
- background: rgba(21,31,46,0.8);
- }
- .vnnr5e:not(.RDPZE):hover .I9OJHe, .vnnr5e:not(.RDPZE):hover .CIy9F {
- background: rgba(21,31,46,0.8);
- }
- .qk0lee:focus {
- background: rgba(21,31,46,0.8);
- color: #fff;
- }
- .Erb9le:not(.RDPZE) .qmMNRc:hover {
- color: #fff;
- }
- .rxO3db {
- background: rgba(21,31,46,0.8);
- }
- .e19J0b, .Y5sE8d:not(.RDPZE) {
- background: rgba(21,31,46,0.8);
- }
- .l4V7wb {
- color: #fff;
- background: rgba(21,31,46,0.8);
- border: 1px solid #4c4c4c;
- border-radius: 4px;
- }
- .T2Ybvb.KRoqRc.editable {
- font-size: 1.5rem;
- }
- .Erb9le:not(.RDPZE) .qmMNRc.y7OZL .DPvwYc {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- -webkit-background-clip: text !important;
- -webkit-text-fill-color: transparent !important;
- }
- .Y5sE8d:not(.RDPZE) .snByac {
- font-size: 1.05rem;
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- -webkit-background-clip: text !important;
- -webkit-text-fill-color: transparent !important;
- }
- .Erb9le:not(.RDPZE) .qmMNRc.y7OZL {
- background: rgba(21,31,46,0.8) !important;
- }
- .Y5sE8d:not(.RDPZE) {
- background: rgba(21,31,46,0.8) !important;
- }
- .hVNH5c .K0NPx {
- background: rgba(21,31,46,0.8) !important;
- }
- .FtBNWb {
- background: rgba(21,31,46,0.8) !important;
- }
- .I7OXgf.ZEeHrd {
- background: rgba(21,31,46,0.8) !important;
- }
- .jfvobd {
- color: #ffffff !important;
- }
- .GWh4Ge .kx3Hed {
- color: #ffffff !important;
- }
- /* top navbar */
- .Hwv4mb, .xHPsid .hN1OOc {
- font-family: Caveat;
- font-size: 2rem;
- }
- .DShyMc-MTA5NzA3NjA1MzQy .eumXzf:after {
- -webkit-border-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- border-image-slice: 9;
- }
- .DShyMc-MTA5NzA3NjA1MzQy .VnOHwf-Tvm9db {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .VnOHwf-Tvm9db {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .VnOHwf-Tvm9db {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .VnOHwf-Tvm9db {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .eumXzf:after {
- -webkit-border-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- border-image-slice: 9;
- }
- /* loading gradient */
- .DShyMc-AaTFfe .bFjUmb-Ysl7Fe.kRqvHe {
- background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- }
- .aP3ZPb.kRqvHe.bFjUmb-Ysl7Fe {
- background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- }
- .bFjUmb-Wvd9Cc:not(.O1l69):not(.J1HJOd):not(.TIunU) {
- background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- }
- .aP3ZPb {
- background: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- }
-
- /* join/create class */
- .D3oBEe .qTs5Xc, .fyExH {
- background: none;
- }
- [aria-checked="true"]>.rq8Mwb, [aria-checked="mixed"]>.rq8Mwb {
- background: #ffffffc4;
- border-radius: 5px;
- }
-
- /* font fix */
- /* material post dates */
- .tmMkWb {
- font-family: Caveat;
- font-size: 1.4em;
- }
- /* class details */
- .uTUgB, .csjh4b {
- font-family: Caveat;
- }
- .csjh4b {
- font-size: 1.78rem;
- }
- / "upcoming" /
- .EZrbnd .sxa9Pc {
- font-family: Caveat;
- }
- /* member names */
- .asQXV {
- font-family: Caveat;
- font-size: 1.2rem;
- }
- /* attachments */
- .QDKOcc {
- font-family: Caveat;
- font-size: 1.1rem;
- }
- /* due work alert */
- .sdDCme {
- font-size: 1.12rem;
- }
- .VBEdtc-Wvd9Cc:hover {
- color: #fff;
- font-size: 1rem;
- }
- /* textarea text */
- textarea {
- font-family: Caveat !important;
- font-size: 1.5em !important;
- }
- /* default announement text */
- .K6Ovqd {
- font-size: 1.5rem !important;
- }
- .fidHdf {
- margin: 0 !important;
- }
- /* semi-global text */
- .EZrbnd {
- font-family: Caveat;
- }
- /* announement content */
- .obylVb:not(:empty) {
- font-size: 1.2rem;
- }
- /* comments content */
- .tLDEHd {
- font-size: 1.2rem
- }
- /* topic names */
- .PazDv {
- font-family: Caveat;
- font-size: 2.5rem;
- }
- /* people list */
- .XjYjO {
- font-family: Caveat;
- font-size: 2.5rem;
- }
- /* class name */
- .YVvGBb {
- font-family: Caveat;
- }
- .A6dC2c {
- font-size: 1.15rem;
- }
- .dDKhVc {
- font-size: 1rem;
- }
- .tLDEHd {
- font-family: Caveat;
- }
- /* materials, questions, assignments, etc */
- .tL9Q4c {
- font-family: Caveat;
- font-size: 1.5rem;
- }
- .NE9bBb {
- color: #fff !important;
- }
- /* gradebook */
- .VnOHwf-Tvm9db {
- font-family: Caveat;
- }
- .EhRlC {
- font-size: 1.5rem !important;
- color: #1e8e3e !important;
- }
- .lYU7F {
- font-size: 1.5rem !important;
- color: #c5221f !important;
- }
- .ppMo6b {
- font-size: 1.3rem;
- color: #b3d3ec !important;
- }
- /* account panel */
- .gb_1b {
- color: #fff;
- }
- .gb_wb.gb_wb {
- color: #fff;
- }
- .gb_l .gb_mb {
- color: #fff;
- }
- .gb_sb.gb_sb {
- color: #fff;
- }
- .gb_wb.gb_wb {
- color: #fff;
- }
-
- /* google drive attachment window */
- .yawtRb, .TNg8Ce, .ye3Lg, .Y7Vyje {
- background: none !important;
- }
- .jfvobd {
- color: #fff;
- }
- .GWh4Ge .kx3Hed {
- color: #ffffffad;
- }
- .w7qIhd {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- }
- .TNg8Ce .KKjvXb .kx3Hed {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%) !important;
- -webkit-background-clip: text !important;
- -webkit-text-fill-color: transparent !important;
- }
- .eizQhe-ObfsIf-mJRMzd-PFprWc, .eizQhe-ObfsIf-jXK9ad, {
- background: rgba(21,31,46,0.8);
- }
- .ndfHFb-jyrRxf-haAclf .ndfHFb-XuHpsb-haAclf {
- background: none;
- }
- .eizQhe-ObfsIf-jXK9ad {
- color: #dadce073;
- }
- .pGOlGd .eizQhe-ObfsIf-mJRMzd:not(.eizQhe-ObfsIf-gk6SMd) .eizQhe-mJRMzd-V1ur5d-fmcmS {
- color: #ffffffc4;
- }
- .iXlbzd, .ndfHFb-jyrRxf-tJHJj-r4nke, .ndfHFb-jyrRxf-haAclf .ndfHFb-rBfmuc-E2o6qc-V67aGc {
- color: #ffffffc4;
- }
- .ndfHFb-jyrRxf-tJHJj {
- background: none;
- }
- .eizQhe-jyrRxf-V1ur5d-r4nke>.eizQhe-mJRMzd-V1ur5d-fmcmS, .ndfHFb-vWsuo-s4QLm-haAclf > span {
- color: #ffffffc4;
- }
- .ndfHFb-vWsuo-s4QLm-haAclf > span:nth-child(1) {
- border-right: 1px solid #ffffffc4;
- padding-right: 5px;
- }
- .pGOlGd .eizQhe-ObfsIf-mJRMzd-V1ur5d-haAclf, .TgyWAb-ObfsIf-haAclf {
- border-top: 1px solid;
- border-image: radial-gradient(circle, #dadce073 60%, transparent 95%);
- border-image-slice: 9;
- }
- .picker-dialog.XKSfm-Sx9Kwc {
- background: rgba(21,31,46,0.8) !important;
- }
- .yawtRb .Icoilb svg, .yawtRb .lVYtmc svg, .kZyufc svg {
- fill: #ffffffc4;
- }
- .iXlbzd, .pGOlGd .ndfHFb-ObfsIf-haAclf .ndfHFb-rBfmuc-E2o6qc-V67aGc {
- color: #ffffffc4;
- }
- .pGOlGd .ndfHFb-jyrRxf-haAclf .eizQhe-jyrRxf-V1ur5d-haAclf svg {
- fill: #fff;
- }
- .DrCRke {
- opacity .8;
- }
- .SI7vke ::-webkit-scrollbar-thumb {
- background: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- }
- .SI7vke ::-webkit-scrollbar-track {
- background: rgba(21,31,46,0.8) !important;
- }
- .SI7vke ::-webkit-scrollbar {
- width: 5px !important;
- }
- .eizQhe-ObfsIf-jXK9ad:hover {
- transform: scale(1.12);
- transition: transform .45s ease-out;
- z-index: 999;
- }
- .ndfHFb-jyrRxf-oKdM2c:hover {
- transform: scale(1.035);
- transition: transform .45s ease-out;
- z-index: 999;
- }
-
- /* Logo */
- .s7ovNb {
- visibility: hidden;
- overflow: visible;
- }
- .s7ovNb::after {
- line-height: 3rem;
- overflow: visible;
- visibility: visible;
- position: absolute;
- top: 7px;
- left: 1.2em;
- content: 'Google Classroom';
- font-family: Caveat;
- font-size: 2.8rem;
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .XIpEib {
- overflow: visible;
- }
- /* scheduled */
- .VBEdtc-Wvd9Cc:hover {
- font-size: 1.5rem !important;
- }
- .IMvYId, .IMvYId:visited {
- font-size: 1.05rem;
- }
- .DShyMc-MzI2OTAxNzI5NjYw .tUJKGd:not(.xp2dJ):not(.rZXyy):hover.idtp4e {
- background: rgba(21,31,46,0.8);
- }
- .p0oLxb>.bnqxkd {
- background: rgba(21,31,46,0.8);
- }
- .QkA63b .GJYBjd {
- background: rgba(21,31,46,0.8);
- }
- .DShyMc-MzI2OTAxNzI5NjYw.bFjUmb-Ysl7Fe, .DShyMc-MzI2OTAxNzI5NjYw .bFjUmb-Ysl7Fe, .DShyMc-MzI2OTAxNzI5NjYw .VUoKZ {
- background: rgba(21,31,46,0.8) !important;
- }
- .y2d25 {
- background: rgba(21,31,46,0.9);
- }
- .dKKcxf, .RPt7lf.miHM0e>.NE9bBb {
- background: rgba(21,31,46,0.8);
- }
- .GJYBjd:not(.CeoRYc) {
- background: rgba(21,31,46,0.9) !important;
- }
- .p0oLxb {
- background: rgba(21,31,46,0.9) !important;
- }
- /* transitions */
- .GWZ7yf:hover, .Aopndd:hover, .d4Fe0d:hover, .v9TZ3c:hover {
- transform: scale(1.05) !important;
- transition: transform 0.2s linear !important;
- }
- .ZoT1D:hover.idtp4e {
- background: rgba(21,31,46,0.8) !important;
- }
- .tUJKGd:hover .SFCE1b, .UISY8d-Ysl7Fe:not(.S6Vdac):hover, .OlXwxf.OlXwxf:hover {
- background: rgba(21,31,46,0.8) !important;
- transform: scale(1.05) !important;
- transition: transform 0.2s linear !important;
- }
- .GWZ7yf:focus-within {
- transform: scale(1.05) !important;
- tansition: transform: 0.2s linear !important;
- }
- .OlXwxf .SFCE1b:hover {
- background: rgba(21,31,46,0.8) !important;
- }
- .uArJ5e.UQuaGc.kCyAyd.l3F1ye.TNOizd.pOf0gc.UJYYgf:hover {
- transform: scale(1.12);
- transition: transform .45s ease-out;
- z-index: 999;
- }
- .EmVfjc.qs41qe .xq3j6.ERcjC .X6jHbb {
- animation: spinner-left-spin 1333ms cubic-bezier(0.4,0.0,0.2,1) infinite both, loadingAnim 0.5s linear infinite both;
- }
- @keyframes loadingAnim{
- 0% {border-color: #06abff}
- 100% {border-color: #6600CC 97%}
- }
- /* transition fix */
- .Sgw65b {
- overflow: visible !important;
- max-width: 78.1%;
- }
- /* transparency */
- .gHz6xd {
- background: rgba(21,31,46,0.8);
- }
- .Aopndd {
- background: rgba(21,31,46,0.8);
- }
- .d4Fe0d {
- background: rgba(21,31,46,0.8) !important;
- }
- .qk0lee {
- background: rgba(21,31,46,0.8);
- }
- .joJglb {
- background: rgba(21,31,46,0.8);
- }
- .GWZ7yf {
- background: rgba(21,31,46,0.8);
- }
- .IzVHde {
- background: rgba(21,31,46,0.8);
- }
- .OX4Vcb {
- background: rgba(21,31,46,0.8);
- opacity: 0.7;
- }
- .ETRkCe {
- background: rgba(21,31,46,0.8) !important;
- }
- .Xzp3fc {
- background: rgba(21,31,46,0.8);
- border-radius: 8px;
- }
- .FpfvHe {
- background: rgba(21,31,46,0.8);
- border-radius: 8px;
- }
- .CJXzee {
- background: rgba(21,31,46,0.8);
- border-radius: 8px;
- }
- .CJXzee a.rUnD6d {
- background: rgba(21,31,46,0.8);
- border-radius: 8px;
- background-clip: padding-box;
- }
- .l3F1ye:not(.RDPZE) {
- background: rgba(21,31,46,0);
- border-radius: 8px;
- }
- .pEwOBc {
- background: rgba(21,31,46,0.8);
- border-radius: 8px;
- }
- .feojCc {
- background: rgba(21,31,46,0.8);
- }
- .Xi8cpb, a.Xi8cpb {
- background: rgba(21,31,46,0.8);
- }
- .tUJKGd:not(.xp2dJ).ndcsBf .idtp4e {
- background: rgba(21,31,46,0.8);
- }
- .DShyMc-MTA5NzA3NjA1MzQy .tUJKGd:not(.xp2dJ).ndcsBf .idtp4e {
- background: rgba(21,31,46,0.8);
- }
- .SS7JKe .qRUolc {
- background: rgba(21,31,46,0.8) !important;
- }
- .Shk6y {
- font-size: 1.5rem;
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .pn5mce .MQL3Ob, .a4Vkrf, .ybOdnf:not(.RDPZE).iWO5td, .jBmls {
- background: rgba(21,31,46,0.8) !important;
- }
- .ry3kXd {
- background: rgba(21,31,46,0.8) !important;
- }
- .e19J0b .CeoRYc {
- background: rgba(21,31,46,0.8) !important;
- }
- .CDELXb {
- background: rgba(21,31,46,0.8) !important;
- }
- .I5Bhjd {
- background: rgba(21,31,46,0.8) !important;
- }
- .cLpBac {
- background: rgba(21,31,46,0.8) !important;
- background-clip: padding-box !important;
- }
- .l4V7wb:not(.Fxmcue) {
- border: none !important;
- }
- .dKKcxf, .STMvPe {
- background: rgba(21,31,46,0.8) !important;
- }
- .ncFHed .MocG8c.KKjvXb, .OA0qNb .LMgvRb[aria-selected="true"], .tWfTvb [role="option"][aria-selected="true"] {
- background: rgba(21,31,46,0.8) !important;
- }
- .gb_l.gb_1a.gb_2a {
- background: rgba(21,31,46,0.8);
- }
- .x7zFFe table {
- background: rgba(21,31,46,0.8) !important;
- }
- .HMUCnd {
- background: rgba(21,31,46,0.8) !important;
- }
- .jgvuAb.iWO5td .ncFHed {
- background: rgba(21,31,46,0.8) !important;
- }
- .vUBwW .DPvwYc, .TGnLfc {
- color: white !important;
- }
- .DShyMc-MzI2ODk3OTk4MjE5 .mxmXhf {
- fill: #fff !important;
- }
- .tWfTvb, .XaepId, .NE9bBb, .aVeDNe .MQL3Ob {
- background: rgba(21,31,46,0.8) !important;
- }
- .JPdR6b.qjTEB {
- background: rgba(21,31,46,0.8) !important;
- }
- .fWf7qe .Yalane {
- background: rgba(21,31,46,0.8) !important;
- background-clip: padding-box !important;
- }
- .z80M1.FwR7Pc .jO7h3c {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .z80M1.qs41qe .jO7h3c {
- background-image: linear-gradient(to right, #06abff 5%, #6600CC 97%);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- }
- .z80M1.FwR7Pc {
- background: rgba(21,31,46,0.8);
- }
- .FeRvI .oJeWuf {
- background: rgba(21,31,46,0.8);
- }
- .z80M1.qs41qe {
- background: rgba(21,31,46,0.8);
- }
- .xdKj9c, .Je07k, tbody .qwFLJb {
- background: rgba(21,31,46,0.5);
- }
- .YEeyed, .VUfVLb, thead .qwFLJb {
- background: rgba(21,31,46,0.8);
- }
- .xdKj9c.kTKNNc, .Je07k.kTKNNc, tbody .qwFLJb.kTKNNc {
- background: rgba(21,31,46,0.8);
- }
- .tUJKGd:not(.xp2dJ).ndcsBf .idtp4e {
- background: rgba(21,31,46,0.8);
- }
- .ypv4re {
- background: rgba(21,31,46,0.8);
- border-top-right-radius: 5px;
- border-top-left-radius: 5px;
- }
- .ypv4re:not(.pco8Kc) {
- background: rgba(21,31,46,0.8);
- border-radius: 5px;
- }
- .j70YMc:not(.pco8Kc) {
- background: rgba(21,31,46,0.8);
- border-radius: 5px;
- }
- .vnnr5e:not(.RDPZE):hover .I9OJHe, .vnnr5e:not(.RDPZE):hover .CIy9F {
- background-color: transparent !important;
- }
- .vnnr5e .CIy9F, .vnnr5e .I9OJHe {
- background: none;
- }
- .gb_wb.gb_wb {
- background: rgba(21,31,46,0.8);
- }
- .gb_sb.gb_sb {
- background: rgba(21,31,46,0.8);
- }
- .gb_wb.gb_wb {
- background: rgba(21,31,46,0.8);
- }
- .gb_Db.gb_Db {
- background: rgba(21,31,46,0.8);
- }
- .gb_Nb>.gb_Mb:hover {
- background: rgba(21,31,46,0.4);
- }
- /* borders fix */
- .joJglb, .BdCNc, .d4Fe0d .Aopndd {
- border-color: transparent !important;
- }
- .u73Apc, .uO32ac, .gQZxn, .ycbm1d, .s2g3Xd, .n4xnA, .d6CWTd, .tfGBod.tfGBod:not(.xp2dJ), .tfGBod.xp2dJ .jWCzBe, .tfGBod.xp2dJ .iobNdf, .PeGHgb.Q8U8uc .Ono85c+.oh9CFb, * {
- border-color: #4c4c4c !important;
- }
- .QkA63b .GJYBjd {
- border: 1px solid #4c4c4c !important;
- }
- `;
-
- var elem = document.createElement('style');
- elem.type = 'text/css';
- elem.innerText = style;
- document.head.appendChild(elem);
- })();
-
- // ============ END ============ //