diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index ecedddc3..12ce43ad 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,6 +1,6 @@ --- -name: Bug report -about: Create a report to help us improve +name: Report A bug. +about: Create a report of a present bug. title: "[BUG]" labels: bug assignees: '' diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index ecedddc3..36a7fe59 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,27 +1,20 @@ --- -name: Bug report -about: Create a report to help us improve -title: "[BUG]" -labels: bug +name: Feature request +about: Suggest an idea for this project +title: "[FR] " +labels: enhancement assignees: '' --- -**Describe the bug** -A clear and concise description of what the bug is. +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -**To Reproduce** -Please indicate how did you make this happen. +**Describe the solution you'd like** +A clear and concise description of what you want to happen. -**Expected behaviuor** -Please add a clear and concise description of what you expected to happen. - -**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. +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. **Additional context** -Add any other context about the problem here. +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/vulnerability.md b/.github/ISSUE_TEMPLATE/vulnerability.md new file mode 100644 index 00000000..a408ffd7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/vulnerability.md @@ -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. diff --git a/README.md b/README.md index 7f2aeb75..f9afa194 100644 --- a/README.md +++ b/README.md @@ -48,11 +48,13 @@ - Brave Supported - Opera Supported - Vivaldi Supported + - Chromium-based browsers are supported - Firefox (Experimental - available [here](https://addons.mozilla.org/en-US/firefox/addon/betterseqta-plus/) + - Safari (Experimental - only available via compilation) ## 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 :) @@ -104,7 +106,7 @@ npm run build 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 diff --git a/package.json b/package.json index 95e2d010..917d8e93 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "betterseqtaplus", "version": "3.3.1", "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", "scripts": { "dev": "MODE=chrome vite dev", diff --git a/src/SEQTA.ts b/src/SEQTA.ts index 0c4f18f1..4fbc9251 100644 --- a/src/SEQTA.ts +++ b/src/SEQTA.ts @@ -53,7 +53,8 @@ async function init() { if (hasSEQTAText && hasSEQTATitle && !IsSEQTAPage) { IsSEQTAPage = true - console.log('[BetterSEQTA+] Verified SEQTA Page') + console.info('[BetterSEQTA+] Verified SEQTA Page') + const documentLoadStyle = document.createElement('style') documentLoadStyle.textContent = documentLoadCSS document.head.appendChild(documentLoadStyle) @@ -77,7 +78,7 @@ async function init() { document.head.appendChild(injectedStyle) } } - + console.info('[BetterSEQTA+] Successfully initalised BetterSEQTA+, starting to load assets.') main() } catch (error: any) { console.error(error) @@ -104,7 +105,7 @@ async function HideMenuItems(): Promise { for (const [menuItem, { toggle }] of Object.entries(settingsState.menuitems)) { if (!toggle) { 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 { menuItemStyle.innerText = stylesheetInnerText document.head.appendChild(menuItemStyle) } 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 { break; case 'home': window.location.replace(`${location.origin}/#?page=/home`); - console.log('[BetterSEQTA+] Started Init') + console.info('[BetterSEQTA+] Started Init') if (settingsState.onoff) loadHomePage() finishLoad(); break; @@ -648,7 +649,7 @@ async function handleTimetable(): Promise { } async function handleNewsPage(): Promise { - console.log('[BetterSEQTA+] Started Init'); + console.info('[BetterSEQTA+] Started Init'); if (settingsState.onoff) { SendNewsPage(); if (settingsState.notificationcollector) { @@ -867,7 +868,7 @@ function main() { } if (settingsState.onoff) { - console.log('[BetterSEQTA+] Enabled') + console.info('[BetterSEQTA+] Enabled') if (settingsState.DarkMode) document.documentElement.classList.add('dark') document.querySelector('.legacy-root')?.classList.add('hidden') @@ -887,7 +888,7 @@ function main() { } function InjectCustomIcons() { - console.log('[BetterSEQTA+] Injecting Icons') + console.info('[BetterSEQTA+] Injecting Icons') const style = document.createElement('style') style.setAttribute('type', 'text/css') @@ -902,7 +903,7 @@ function InjectCustomIcons() { } export function AppendElementsToDisabledPage() { - console.log("[BetterSEQTA+] Appending elements to disabled page") + console.info("[BetterSEQTA+] Appending elements to disabled page") AddBetterSEQTAElements() let settingsStyle = document.createElement('style') @@ -2027,7 +2028,7 @@ async function AddCustomShortcutsToPage() { export async function loadHomePage() { // 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' const element = document.querySelector('[data-key=home]') @@ -2373,7 +2374,7 @@ export function enableNotificationCollector() { 'notifications__bubble___1EkSQ' )[0] if (typeof alertdiv == 'undefined') { - console.log('[BetterSEQTA+] No notifications currently') + console.info('[BetterSEQTA+] No notifications currently') } else { alertdiv.textContent = Notifications.payload.notifications.length } @@ -2423,7 +2424,7 @@ function createNewShortcut(link: any, icon: any, viewBox: any, title: any) { export function SendNewsPage() { setTimeout(function () { // 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' var element = document.querySelector('[data-key=news]') @@ -2496,4 +2497,4 @@ async function CheckForMenuList() { } catch (error) { return; } -} \ No newline at end of file +} diff --git a/src/css/injected.scss b/src/css/injected.scss index 680312f9..da0b497d 100644 --- a/src/css/injected.scss +++ b/src/css/injected.scss @@ -2615,157 +2615,6 @@ li.MessageList__unread___3imtO { 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 { align-items: center; transition: 200ms; @@ -2982,4 +2831,4 @@ li.MessageList__unread___3imtO { background: var(--background-primary) !important; z-index: 1; padding: 10px; -} \ No newline at end of file +}