Merge pull request #6 from ar-cyber/patch-10

Patch 10
This commit is contained in:
Andrew R
2024-10-14 06:54:17 +10:30
committed by GitHub
7 changed files with 50 additions and 188 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
--- ---
name: Bug report name: Report A bug.
about: Create a report to help us improve about: Create a report of a present bug.
title: "[BUG]" title: "[BUG]"
labels: bug labels: bug
assignees: '' assignees: ''
+11 -18
View File
@@ -1,27 +1,20 @@
--- ---
name: Bug report name: Feature request
about: Create a report to help us improve about: Suggest an idea for this project
title: "[BUG]" title: "[FR] "
labels: bug labels: enhancement
assignees: '' assignees: ''
--- ---
**Describe the bug** **Is your feature request related to a problem? Please describe.**
A clear and concise description of what the bug is. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**To Reproduce** **Describe the solution you'd like**
Please indicate how did you make this happen. A clear and concise description of what you want to happen.
**Expected behaviuor** **Describe alternatives you've considered**
Please add a clear and concise description of what you expected to happen. A clear and concise description of any alternative solutions or features you've considered.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- If using Windows, the build number. Find this by using ```winver``` and copying down the build id.
**Additional context** **Additional context**
Add any other context about the problem here. Add any other context or screenshots about the feature request here.
+17
View File
@@ -0,0 +1,17 @@
---
name: Vulnerability
about: Report a vulnerability in this extension.
title: "[VUL] "
labels: ''
assignees: ''
---
**What is the vulnerability?**
Describe the vulnerability in concise language.
**Where is the vulnerability found?**
Describe where the vulnerability is found.
**What does this affect?**
Explain what it affects. E.G: It opens up my school email to the world. etc.
+4 -2
View File
@@ -48,11 +48,13 @@
- Brave Supported - Brave Supported
- Opera Supported - Opera Supported
- Vivaldi Supported - Vivaldi Supported
- Chromium-based browsers are supported
- Firefox (Experimental - available [here](https://addons.mozilla.org/en-US/firefox/addon/betterseqta-plus/) - Firefox (Experimental - available [here](https://addons.mozilla.org/en-US/firefox/addon/betterseqta-plus/)
- Safari (Experimental - only available via compilation)
## Creating Custom Themes ## Creating Custom Themes
If you are looking to create custom themes, I would recommend you start at the official documentation [here](https://betterseqta.gitbook.io/betterseqta-docs). You can see some premade examples along with a compilation script that can be used to allow for CSS frameworks and libraries such as SCSS to be used [here](https://github.com/SethBurkart123/BetterSEQTA-theme-generator). If you are looking to create custom themes, I would recommend you start at the official documentation [here](https://betterseqta.gitbook.io/betterseqta-docs). You can see some premade examples along with a compilation script that can be used to allow for CSS frameworks and libraries such as SCSS to be used [here](https://github.com/BetterSEQTA/BetterSEQTA-Theme-Generator).
Don't worry- if you get stuck feel free to ask around in the discord. We're open and happy to help out! Happy creating :) Don't worry- if you get stuck feel free to ask around in the discord. We're open and happy to help out! Happy creating :)
@@ -104,7 +106,7 @@ npm run build
3. Package it up (optional) 3. Package it up (optional)
``` ```
npm run package # This requires 7-Zip to be installed in order to work npm run zip # This requires 7-Zip to be installed in order to work
``` ```
## Folder Structure ## Folder Structure
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "betterseqtaplus", "name": "betterseqtaplus",
"version": "3.3.1", "version": "3.3.1",
"type": "module", "type": "module",
"description": "Enhance SEQTA Learn's usability and aesthetics! A fork of BetterSEQTA to continue development, and incorporate a plethora of new features!", "description": "Enhance SEQTA Learn's usability and aesthetics! A fork of BetterSEQTA to continue development, while incorporating a plethora of new and improved features!",
"browserslist": "> 0.5%, last 2 versions, not dead", "browserslist": "> 0.5%, last 2 versions, not dead",
"scripts": { "scripts": {
"dev": "MODE=chrome vite dev", "dev": "MODE=chrome vite dev",
+13 -12
View File
@@ -53,7 +53,8 @@ async function init() {
if (hasSEQTAText && hasSEQTATitle && !IsSEQTAPage) { if (hasSEQTAText && hasSEQTATitle && !IsSEQTAPage) {
IsSEQTAPage = true IsSEQTAPage = true
console.log('[BetterSEQTA+] Verified SEQTA Page') console.info('[BetterSEQTA+] Verified SEQTA Page')
const documentLoadStyle = document.createElement('style') const documentLoadStyle = document.createElement('style')
documentLoadStyle.textContent = documentLoadCSS documentLoadStyle.textContent = documentLoadCSS
document.head.appendChild(documentLoadStyle) document.head.appendChild(documentLoadStyle)
@@ -77,7 +78,7 @@ async function init() {
document.head.appendChild(injectedStyle) document.head.appendChild(injectedStyle)
} }
} }
console.info('[BetterSEQTA+] Successfully initalised BetterSEQTA+, starting to load assets.')
main() main()
} catch (error: any) { } catch (error: any) {
console.error(error) console.error(error)
@@ -104,7 +105,7 @@ async function HideMenuItems(): Promise<void> {
for (const [menuItem, { toggle }] of Object.entries(settingsState.menuitems)) { for (const [menuItem, { toggle }] of Object.entries(settingsState.menuitems)) {
if (!toggle) { if (!toggle) {
stylesheetInnerText += SetDisplayNone(menuItem) stylesheetInnerText += SetDisplayNone(menuItem)
console.log(`[BetterSEQTA+] Hiding ${menuItem} menu item`) console.info(`[BetterSEQTA+] Hiding ${menuItem} menu item`)
} }
} }
@@ -112,7 +113,7 @@ async function HideMenuItems(): Promise<void> {
menuItemStyle.innerText = stylesheetInnerText menuItemStyle.innerText = stylesheetInnerText
document.head.appendChild(menuItemStyle) document.head.appendChild(menuItemStyle)
} catch (error) { } catch (error) {
console.error("An error occurred:", error) console.error("[BetterSEQTA+] An error occurred:", error)
} }
} }
@@ -604,7 +605,7 @@ async function handleSublink(sublink: string | undefined): Promise<void> {
break; break;
case 'home': case 'home':
window.location.replace(`${location.origin}/#?page=/home`); window.location.replace(`${location.origin}/#?page=/home`);
console.log('[BetterSEQTA+] Started Init') console.info('[BetterSEQTA+] Started Init')
if (settingsState.onoff) loadHomePage() if (settingsState.onoff) loadHomePage()
finishLoad(); finishLoad();
break; break;
@@ -648,7 +649,7 @@ async function handleTimetable(): Promise<void> {
} }
async function handleNewsPage(): Promise<void> { async function handleNewsPage(): Promise<void> {
console.log('[BetterSEQTA+] Started Init'); console.info('[BetterSEQTA+] Started Init');
if (settingsState.onoff) { if (settingsState.onoff) {
SendNewsPage(); SendNewsPage();
if (settingsState.notificationcollector) { if (settingsState.notificationcollector) {
@@ -867,7 +868,7 @@ function main() {
} }
if (settingsState.onoff) { if (settingsState.onoff) {
console.log('[BetterSEQTA+] Enabled') console.info('[BetterSEQTA+] Enabled')
if (settingsState.DarkMode) document.documentElement.classList.add('dark') if (settingsState.DarkMode) document.documentElement.classList.add('dark')
document.querySelector('.legacy-root')?.classList.add('hidden') document.querySelector('.legacy-root')?.classList.add('hidden')
@@ -887,7 +888,7 @@ function main() {
} }
function InjectCustomIcons() { function InjectCustomIcons() {
console.log('[BetterSEQTA+] Injecting Icons') console.info('[BetterSEQTA+] Injecting Icons')
const style = document.createElement('style') const style = document.createElement('style')
style.setAttribute('type', 'text/css') style.setAttribute('type', 'text/css')
@@ -902,7 +903,7 @@ function InjectCustomIcons() {
} }
export function AppendElementsToDisabledPage() { export function AppendElementsToDisabledPage() {
console.log("[BetterSEQTA+] Appending elements to disabled page") console.info("[BetterSEQTA+] Appending elements to disabled page")
AddBetterSEQTAElements() AddBetterSEQTAElements()
let settingsStyle = document.createElement('style') let settingsStyle = document.createElement('style')
@@ -2027,7 +2028,7 @@ async function AddCustomShortcutsToPage() {
export async function loadHomePage() { export async function loadHomePage() {
// Sends the html data for the home page // Sends the html data for the home page
console.log('[BetterSEQTA+] Started Loading Home Page') console.info('[BetterSEQTA+] Started Loading Home Page')
document.title = 'Home ― SEQTA Learn' document.title = 'Home ― SEQTA Learn'
const element = document.querySelector('[data-key=home]') const element = document.querySelector('[data-key=home]')
@@ -2373,7 +2374,7 @@ export function enableNotificationCollector() {
'notifications__bubble___1EkSQ' 'notifications__bubble___1EkSQ'
)[0] )[0]
if (typeof alertdiv == 'undefined') { if (typeof alertdiv == 'undefined') {
console.log('[BetterSEQTA+] No notifications currently') console.info('[BetterSEQTA+] No notifications currently')
} else { } else {
alertdiv.textContent = Notifications.payload.notifications.length alertdiv.textContent = Notifications.payload.notifications.length
} }
@@ -2423,7 +2424,7 @@ function createNewShortcut(link: any, icon: any, viewBox: any, title: any) {
export function SendNewsPage() { export function SendNewsPage() {
setTimeout(function () { setTimeout(function () {
// Sends the html data for the home page // Sends the html data for the home page
console.log('[BetterSEQTA+] Started Loading News Page') console.info('[BetterSEQTA+] Started Loading News Page')
document.title = 'News ― SEQTA Learn' document.title = 'News ― SEQTA Learn'
var element = document.querySelector('[data-key=news]') var element = document.querySelector('[data-key=news]')
-151
View File
@@ -2615,157 +2615,6 @@ li.MessageList__unread___3imtO {
margin: 0; margin: 0;
} }
.upcoming-items {
background: var(--background-primary);
width: 100%;
max-height: 55em;
overflow-y: auto;
display: flex;
flex-direction: column;
color: var(--text-primary);
transition: 200ms;
border-radius: 16px;
}
.dark .upcoming-items {
box-shadow: inset 0px 40px 80px -40px rgba(0,0,0,0.6);
}
.upcoming-assessment-title {
color: var(--text-primary);
transition: 200ms;
font-size: 10px;
margin: 0;
}
.upcoming-assessment {
border: 3px solid var(--item-colour);
margin: 5px 50px;
height: 6em;
padding: 0px;
border-radius: 10px;
}
.upcoming-assessment {
display: flex;
}
.upcoming-date-container {
margin-bottom: 20px;
}
.upcoming-date-title h5 {
margin: 0;
font-weight: 500;
}
.upcoming-details {
width: 60%;
display: flex;
flex-direction: column;
justify-content: center;
padding: 0px 12px;
}
.upcoming-details h5 {
text-transform: uppercase;
color: #aaaaaa;
padding: 0px 4px;
margin: 0;
}
.upcoming-details p {
font-size: 15px;
padding: 4px;
}
.upcoming-special-day {
font-size: 20px;
}
.upcoming-blank {
display: flex;
border-bottom: 2px solid #bebebe;
margin: 5px 50px;
height: 2em;
padding: 0px;
}
.upcoming-blank p {
padding: 0;
margin: 0;
}
.upcoming-title {
display: flex;
align-content: space-between;
}
.upcoming-filters {
display: flex;
height: 26px;
width: 65%;
align-self: center;
align-items: center;
color: var(--text-color);
padding: 5px;
overflow-x: scroll;
overflow-y: hidden;
}
.upcoming-checkbox-container {
position: relative;
padding: none !important;
padding-left: 25px !important;
padding-right: 10px !important;
cursor: pointer;
font-size: 12px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
height: 20px;
align-items: center;
display: flex;
}
/* Hide the browser's default checkbox */
.upcoming-checkbox-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
padding: 0;
}
/* Create a custom checkbox */
.upcoming-checkmark {
position: absolute;
top: 0;
left: 0;
height: 15px;
width: 15px;
border: 3px solid var(--item-colour);
border-radius: 5px;
color: var(--text-color);
}
/* On mouse-over, add a grey background color */
.upcoming-checkbox-container:hover input ~ .upcoming-checkmark {
filter: brightness(0.8);
}
/* When the checkbox is checked, add a blue background */
.upcoming-checkbox-container input:checked ~ .upcoming-checkmark {
background: var(--item-colour);
}
/* Create the checkmark/indicator (hidden when not checked) */
.upcoming-checkmark:after {
content: "";
position: absolute;
display: none;
}
/* Show the checkmark when checked */
.upcoming-checkbox-container input:checked ~ .upcoming-checkmark:after {
display: block;
}
/* Style the checkmark/indicator */
.upcoming-checkbox-container .upcoming-checkmark:after {
left: 3.5px;
top: 0px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.upcoming-hiddenassessment {
color: #797979;
}
.titlebar { .titlebar {
align-items: center; align-items: center;
transition: 200ms; transition: 200ms;