From d7fc7582d131b157c5e6c4aa8a5b60b09eb8655f Mon Sep 17 00:00:00 2001 From: Jones Date: Fri, 30 May 2025 09:57:22 +0930 Subject: [PATCH 01/28] Remove chunk size warning --- vite.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/vite.config.ts b/vite.config.ts index b9b32943..229d002d 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -78,6 +78,7 @@ export default defineConfig(({ command }) => ({ emptyOutDir: false, minify: true, //sourcemap: sourcemap, + chunkSizeWarningLimit: 4000, rollupOptions: { input: { settings: join(__dirname, "src", "interface", "index.html"), From 6e5c3b4733e5faee611ddb43e385a4ba00061a99 Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Fri, 30 May 2025 12:05:23 +0930 Subject: [PATCH 02/28] Neaten 'here' button --- src/seqta/utils/Openers/OpenAboutPage.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index a953714a..1f441c10 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -5,6 +5,26 @@ import { animate, stagger } from "motion"; import { DeleteWhatsNew } from "../Whatsnew"; export function OpenAboutPage() { + if (!document.getElementById('about-here-link-style')) { + const style = document.createElement('style'); + style.id = 'about-here-link-style'; + style.textContent = ` + .about-here-link { + background: rgba(0, 102, 255, 0.07) !important; + border-radius: 0.3em !important; + padding: 2px 10px !important; + color: #176bb2 !important; + font-weight: 500 !important; + transition: background 0.2s, color 0.2s !important; + cursor: pointer !important; + } + .about-here-link:hover { + background: rgba(0, 102, 255, 0.13) !important; + color: #124c87 !important; + } + `; + document.head.appendChild(style); + } const background = document.createElement("div"); background.id = "whatsnewbk"; background.classList.add("whatsnewBackground"); @@ -28,7 +48,7 @@ export function OpenAboutPage() {

We are currently working on fixing bugs and adding useful features. If you want to make a feature request or report a bug, you can do so on GitHub (find icon below). We are always looking for more contributors!

Credits:

Nulkem created the original extension, was ported to Manifest V3 by MEGA-Dawg68, and is under active development by Crazypersonalph, SethBurkart123, and other contributors.

-

Full contributors list here

+

Full contributors list here

`).firstChild; From 37d62cf2a8c64f5a0863aa1f302625c14a335cc8 Mon Sep 17 00:00:00 2001 From: Jones Date: Fri, 30 May 2025 12:08:11 +0930 Subject: [PATCH 03/28] Neaten "here" button in openaboutpage.ts --- src/seqta/utils/Openers/OpenAboutPage.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index a953714a..1f441c10 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -5,6 +5,26 @@ import { animate, stagger } from "motion"; import { DeleteWhatsNew } from "../Whatsnew"; export function OpenAboutPage() { + if (!document.getElementById('about-here-link-style')) { + const style = document.createElement('style'); + style.id = 'about-here-link-style'; + style.textContent = ` + .about-here-link { + background: rgba(0, 102, 255, 0.07) !important; + border-radius: 0.3em !important; + padding: 2px 10px !important; + color: #176bb2 !important; + font-weight: 500 !important; + transition: background 0.2s, color 0.2s !important; + cursor: pointer !important; + } + .about-here-link:hover { + background: rgba(0, 102, 255, 0.13) !important; + color: #124c87 !important; + } + `; + document.head.appendChild(style); + } const background = document.createElement("div"); background.id = "whatsnewbk"; background.classList.add("whatsnewBackground"); @@ -28,7 +48,7 @@ export function OpenAboutPage() {

We are currently working on fixing bugs and adding useful features. If you want to make a feature request or report a bug, you can do so on GitHub (find icon below). We are always looking for more contributors!

Credits:

Nulkem created the original extension, was ported to Manifest V3 by MEGA-Dawg68, and is under active development by Crazypersonalph, SethBurkart123, and other contributors.

-

Full contributors list here

+

Full contributors list here

`).firstChild; From 59e195d2aa714c19d6e5f98a6816f95291c5ebe0 Mon Sep 17 00:00:00 2001 From: Jones Date: Fri, 30 May 2025 12:10:36 +0930 Subject: [PATCH 04/28] Update OpenAboutPage.ts - Fix coloring --- src/seqta/utils/Openers/OpenAboutPage.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index 1f441c10..ab543bb5 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -13,14 +13,14 @@ export function OpenAboutPage() { background: rgba(0, 102, 255, 0.07) !important; border-radius: 0.3em !important; padding: 2px 10px !important; - color: #176bb2 !important; + color:rgb(56, 166, 255) !important; font-weight: 500 !important; transition: background 0.2s, color 0.2s !important; cursor: pointer !important; } .about-here-link:hover { background: rgba(0, 102, 255, 0.13) !important; - color: #124c87 !important; + color:rgb(80, 168, 255) !important; } `; document.head.appendChild(style); From 280163111e9191d32d25dc7a21dc421eedab58e0 Mon Sep 17 00:00:00 2001 From: Jones Date: Fri, 30 May 2025 12:16:53 +0930 Subject: [PATCH 05/28] Update OpenAboutPage.ts - Move css to injected.scss --- src/seqta/utils/Openers/OpenAboutPage.ts | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index ab543bb5..2a3fbafb 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -5,26 +5,6 @@ import { animate, stagger } from "motion"; import { DeleteWhatsNew } from "../Whatsnew"; export function OpenAboutPage() { - if (!document.getElementById('about-here-link-style')) { - const style = document.createElement('style'); - style.id = 'about-here-link-style'; - style.textContent = ` - .about-here-link { - background: rgba(0, 102, 255, 0.07) !important; - border-radius: 0.3em !important; - padding: 2px 10px !important; - color:rgb(56, 166, 255) !important; - font-weight: 500 !important; - transition: background 0.2s, color 0.2s !important; - cursor: pointer !important; - } - .about-here-link:hover { - background: rgba(0, 102, 255, 0.13) !important; - color:rgb(80, 168, 255) !important; - } - `; - document.head.appendChild(style); - } const background = document.createElement("div"); background.id = "whatsnewbk"; background.classList.add("whatsnewBackground"); From 1ae9bd0652af8079e01af9c25fb35213d791c106 Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Fri, 30 May 2025 12:28:47 +0930 Subject: [PATCH 06/28] Add about-here-link styles to injected.scss --- src/css/injected.scss | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/css/injected.scss b/src/css/injected.scss index 299c23e7..f85a7ebf 100644 --- a/src/css/injected.scss +++ b/src/css/injected.scss @@ -3397,6 +3397,20 @@ body { margin-bottom: 12px; } +.about-here-link { + background: rgba(0, 102, 255, 0.07) !important; + border-radius: 0.3em !important; + padding: 2px 10px !important; + color:rgb(56, 166, 255) !important; + font-weight: 500 !important; + transition: background 0.2s, color 0.2s !important; + cursor: pointer !important; + } + .about-here-link:hover { + background: rgba(0, 102, 255, 0.13) !important; + color:rgb(80, 168, 255) !important; + } + @keyframes shimmer { 0% { background-position: -1000px 0; From a855fbe9ecd7d6d41eb18be4226faf24cacc2095 Mon Sep 17 00:00:00 2001 From: Jones Date: Fri, 30 May 2025 18:45:26 +0930 Subject: [PATCH 07/28] Update README.md - Fix spelling Somehow "preferred" was misspelled three whole times --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d6e82240..7e534c1b 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ npm install --legacy-peer-deps # Only NPM supported 2. Run the dev script (it updates as you save files) ``` -npm run dev # or use your perferred package manager +npm run dev # or use your preferred package manager ``` ### Building for production @@ -91,13 +91,13 @@ npm run dev # or use your perferred package manager 2. Run the build script ``` -npm run build # or use your perferred package manager +npm run build # or use your preferred package manager ``` 2.1. Package it up (optional) ``` -npm run zip # This REQUIRES 7-Zip to be installed in order to work. You can also use your perferred package manager +npm run zip # This REQUIRES 7-Zip to be installed in order to work. You can also use your preferred package manager ``` 3. Load the extension into chrome From 37a13cba07d9395890fc8737e86e57f0a80342c9 Mon Sep 17 00:00:00 2001 From: Jones Date: Fri, 30 May 2025 19:47:31 +0930 Subject: [PATCH 08/28] Update README.md - Fix numbering for instructions --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d6e82240..6bc41bc7 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Don't worry- if you get stuck feel free to ask around in the [discord](https://d git clone https://github.com/BetterSEQTA/BetterSEQTA-Plus ``` -1. Install dependencies +2. Install dependencies You may install the dependencies like below: @@ -80,27 +80,27 @@ npm install --legacy-peer-deps # Only NPM supported ### Running Development -2. Run the dev script (it updates as you save files) +3. Run the dev script (it updates as you save files) ``` -npm run dev # or use your perferred package manager +npm run dev # or use your preferred package manager ``` ### Building for production -2. Run the build script +4. Run the build script ``` -npm run build # or use your perferred package manager +npm run build # or use your preferred package manager ``` -2.1. Package it up (optional) +    4.1. Package it up (optional) ``` -npm run zip # This REQUIRES 7-Zip to be installed in order to work. You can also use your perferred package manager +npm run zip # This REQUIRES 7-Zip to be installed in order to work. You can also use your preferred package manager ``` -3. Load the extension into chrome +5. Load the extension into chrome - Go to `chrome://extensions` - Enable developer mode From 6e43be2a188e4fde8645e8bf099c72a09b98659b Mon Sep 17 00:00:00 2001 From: Jones Date: Fri, 30 May 2025 19:49:17 +0930 Subject: [PATCH 09/28] Update README.md - Fix numbering for instructions --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6bc41bc7..c9beef49 100644 --- a/README.md +++ b/README.md @@ -58,13 +58,13 @@ Don't worry- if you get stuck feel free to ask around in the [discord](https://d ## Getting started -1. Clone the repository +**1. Clone the repository** ``` git clone https://github.com/BetterSEQTA/BetterSEQTA-Plus ``` -2. Install dependencies +**2. Install dependencies** You may install the dependencies like below: @@ -80,7 +80,7 @@ npm install --legacy-peer-deps # Only NPM supported ### Running Development -3. Run the dev script (it updates as you save files) +**3. Run the dev script (it updates as you save files)** ``` npm run dev # or use your preferred package manager @@ -88,7 +88,7 @@ npm run dev # or use your preferred package manager ### Building for production -4. Run the build script +**4. Run the build script** ``` npm run build # or use your preferred package manager @@ -100,7 +100,7 @@ npm run build # or use your preferred package manager npm run zip # This REQUIRES 7-Zip to be installed in order to work. You can also use your preferred package manager ``` -5. Load the extension into chrome +**5. Load the extension into chrome** - Go to `chrome://extensions` - Enable developer mode From 3b9f8124cfffc309db3af11fca23b524722cf539 Mon Sep 17 00:00:00 2001 From: Jones Date: Sat, 31 May 2025 19:39:03 +0930 Subject: [PATCH 10/28] Update README.md - Fix indents --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c9beef49..810ad95d 100644 --- a/README.md +++ b/README.md @@ -58,13 +58,13 @@ Don't worry- if you get stuck feel free to ask around in the [discord](https://d ## Getting started -**1. Clone the repository** +    **1. Clone the repository** ``` git clone https://github.com/BetterSEQTA/BetterSEQTA-Plus ``` -**2. Install dependencies** +    **2. Install dependencies** You may install the dependencies like below: @@ -80,7 +80,7 @@ npm install --legacy-peer-deps # Only NPM supported ### Running Development -**3. Run the dev script (it updates as you save files)** +    **3. Run the dev script (it updates as you save files)** ``` npm run dev # or use your preferred package manager @@ -88,19 +88,19 @@ npm run dev # or use your preferred package manager ### Building for production -**4. Run the build script** +    **4. Run the build script** ``` npm run build # or use your preferred package manager ``` -    4.1. Package it up (optional) +    **4.1. Package it up (optional)** ``` npm run zip # This REQUIRES 7-Zip to be installed in order to work. You can also use your preferred package manager ``` -**5. Load the extension into chrome** +    **5. Load the extension into chrome** - Go to `chrome://extensions` - Enable developer mode From 84ab19eee7347ee126795e3340c4480d8252327c Mon Sep 17 00:00:00 2001 From: Jones Date: Sun, 1 Jun 2025 10:13:24 +0930 Subject: [PATCH 11/28] Update injected.scss - fix indents --- src/css/injected.scss | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/css/injected.scss b/src/css/injected.scss index f85a7ebf..d4103699 100644 --- a/src/css/injected.scss +++ b/src/css/injected.scss @@ -3398,18 +3398,18 @@ body { } .about-here-link { - background: rgba(0, 102, 255, 0.07) !important; - border-radius: 0.3em !important; - padding: 2px 10px !important; - color:rgb(56, 166, 255) !important; - font-weight: 500 !important; - transition: background 0.2s, color 0.2s !important; - cursor: pointer !important; - } - .about-here-link:hover { - background: rgba(0, 102, 255, 0.13) !important; - color:rgb(80, 168, 255) !important; - } + background: rgba(0, 102, 255, 0.07) !important; + border-radius: 0.3em !important; + padding: 2px 10px !important; + color:rgb(56, 166, 255) !important; + font-weight: 500 !important; + transition: background 0.2s, color 0.2s !important; + cursor: pointer !important; +} +.about-here-link:hover { + background: rgba(0, 102, 255, 0.13) !important; + color:rgb(80, 168, 255) !important; +} @keyframes shimmer { 0% { From 0b93223b84448d8b6b5feb2f5a85e632ce6aac0d Mon Sep 17 00:00:00 2001 From: Alphons Joseph <93847055+Crazypersonalph@users.noreply.github.com> Date: Mon, 2 Jun 2025 17:00:01 +0800 Subject: [PATCH 12/28] capitalise here --- src/seqta/utils/Openers/OpenAboutPage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index 2a3fbafb..5a23f12b 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -28,7 +28,7 @@ export function OpenAboutPage() {

We are currently working on fixing bugs and adding useful features. If you want to make a feature request or report a bug, you can do so on GitHub (find icon below). We are always looking for more contributors!

Credits:

Nulkem created the original extension, was ported to Manifest V3 by MEGA-Dawg68, and is under active development by Crazypersonalph, SethBurkart123, and other contributors.

-

Full contributors list here

+

Full contributors list HERE

`).firstChild; From 4c55cf43319ea41860c57a0e2fc77051f5a036e2 Mon Sep 17 00:00:00 2001 From: Jones Jankovic Date: Mon, 2 Jun 2025 19:10:52 +0930 Subject: [PATCH 13/28] Change name of class selector --- Push Procedure.txt | 14 ++++++++++++++ src/css/injected.scss | 4 ++-- src/seqta/utils/Openers/OpenAboutPage.ts | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 Push Procedure.txt diff --git a/Push Procedure.txt b/Push Procedure.txt new file mode 100644 index 00000000..9fd4a537 --- /dev/null +++ b/Push Procedure.txt @@ -0,0 +1,14 @@ +🔧 Step-by-step in command prompt: +Check the status of your changes: + + +git add . +This adds all the changed files. If you only want specific files, you can do git add filename. + + +git commit -m "commit message here" +Write something descriptive (but it doesn’t need to be Shakespeare). + + +git push origin main +Replace main with master if your branch is called that — check with git branch. \ No newline at end of file diff --git a/src/css/injected.scss b/src/css/injected.scss index d4103699..4de7aa2b 100644 --- a/src/css/injected.scss +++ b/src/css/injected.scss @@ -3397,7 +3397,7 @@ body { margin-bottom: 12px; } -.about-here-link { +.AboutPageLink { background: rgba(0, 102, 255, 0.07) !important; border-radius: 0.3em !important; padding: 2px 10px !important; @@ -3406,7 +3406,7 @@ body { transition: background 0.2s, color 0.2s !important; cursor: pointer !important; } -.about-here-link:hover { +.AboutPageLink:hover { background: rgba(0, 102, 255, 0.13) !important; color:rgb(80, 168, 255) !important; } diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index 5a23f12b..dcf57632 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -28,7 +28,7 @@ export function OpenAboutPage() {

We are currently working on fixing bugs and adding useful features. If you want to make a feature request or report a bug, you can do so on GitHub (find icon below). We are always looking for more contributors!

Credits:

Nulkem created the original extension, was ported to Manifest V3 by MEGA-Dawg68, and is under active development by Crazypersonalph, SethBurkart123, and other contributors.

-

Full contributors list HERE

+

Full contributors list HERE

`).firstChild; From 418c3c010e7582b5d555bdd53d5268c38a266a6b Mon Sep 17 00:00:00 2001 From: Jones Date: Mon, 2 Jun 2025 19:13:00 +0930 Subject: [PATCH 14/28] Delete Push Procedure.txt idk why this was here it was an acciadent --- Push Procedure.txt | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 Push Procedure.txt diff --git a/Push Procedure.txt b/Push Procedure.txt deleted file mode 100644 index 9fd4a537..00000000 --- a/Push Procedure.txt +++ /dev/null @@ -1,14 +0,0 @@ -🔧 Step-by-step in command prompt: -Check the status of your changes: - - -git add . -This adds all the changed files. If you only want specific files, you can do git add filename. - - -git commit -m "commit message here" -Write something descriptive (but it doesn’t need to be Shakespeare). - - -git push origin main -Replace main with master if your branch is called that — check with git branch. \ No newline at end of file From a1f480855ea249865ebec83fb2e52cd5d2efd03f Mon Sep 17 00:00:00 2001 From: Jones Jankovic Date: Tue, 3 Jun 2025 14:51:10 +0930 Subject: [PATCH 15/28] add contributer graph to openaboutpage.ts --- src/seqta/utils/Openers/OpenAboutPage.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index dcf57632..3ac398ba 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -27,8 +27,17 @@ export function OpenAboutPage() {

BetterSEQTA+ is a fork of BetterSEQTA (originally developed by Nulkem), which was discontinued. BetterSEQTA+ continued development of BetterSEQTA, while incorporating a plethora of features.

We are currently working on fixing bugs and adding useful features. If you want to make a feature request or report a bug, you can do so on GitHub (find icon below). We are always looking for more contributors!

Credits:

-

Nulkem created the original extension, was ported to Manifest V3 by MEGA-Dawg68, and is under active development by Crazypersonalph, SethBurkart123, and other contributors.

-

Full contributors list HERE

+

+ Nulkem created the original extension, was ported to Manifest V3 by MEGA-Dawg68, and is under active development by Crazypersonalph, SethBurkart123, and other contributors. +

+
+

+ All Contributors: +

+ +
`).firstChild; From c9d9611e3e631ec5370a3b25523992e7564808d1 Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Tue, 3 Jun 2025 18:32:51 +0930 Subject: [PATCH 16/28] Re-align 'All Contributers' to left --- src/seqta/utils/Openers/OpenAboutPage.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index 3ac398ba..61078be6 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -30,10 +30,10 @@ export function OpenAboutPage() {

Nulkem created the original extension, was ported to Manifest V3 by MEGA-Dawg68, and is under active development by Crazypersonalph, SethBurkart123, and other contributors.

-
-

+

All Contributors:

+
From b3db85c565d17e6c0e55b459451c9558349e2fe9 Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Tue, 3 Jun 2025 18:42:08 +0930 Subject: [PATCH 17/28] Neaten pfps --- src/seqta/utils/Openers/OpenAboutPage.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index 61078be6..b51b316e 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -35,8 +35,8 @@ export function OpenAboutPage() {
+ src="https://contrib.rocks/image?repo=BetterSEQTA/BetterSEQTA-Plus&columns=13" + style="width: 100%; max-width: 500px; height: auto; object-fit: contain; display: block; margin: -110px auto 0;">
`).firstChild; From a7e250a86d1cb1813999318074143aa9e51a9d2d Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Tue, 3 Jun 2025 18:57:00 +0930 Subject: [PATCH 18/28] commit --- src/seqta/utils/Openers/OpenAboutPage.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index b51b316e..408364de 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -22,8 +22,10 @@ export function OpenAboutPage() { let text = stringToHTML(/* html */ `
- - +

BetterSEQTA+ is a fork of BetterSEQTA (originally developed by Nulkem), which was discontinued. BetterSEQTA+ continued development of BetterSEQTA, while incorporating a plethora of features.

We are currently working on fixing bugs and adding useful features. If you want to make a feature request or report a bug, you can do so on GitHub (find icon below). We are always looking for more contributors!

Credits:

From f9fa334e4082468845f5938b27bd8ad649fe4623 Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Tue, 3 Jun 2025 18:58:02 +0930 Subject: [PATCH 19/28] fix --- src/seqta/utils/Openers/OpenAboutPage.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index 408364de..e0acb900 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -22,10 +22,7 @@ export function OpenAboutPage() { let text = stringToHTML(/* html */ `
- +

BetterSEQTA+ is a fork of BetterSEQTA (originally developed by Nulkem), which was discontinued. BetterSEQTA+ continued development of BetterSEQTA, while incorporating a plethora of features.

We are currently working on fixing bugs and adding useful features. If you want to make a feature request or report a bug, you can do so on GitHub (find icon below). We are always looking for more contributors!

Credits:

From 98560af0a3a8630c30f6046b87d47354460dbbc4 Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Tue, 3 Jun 2025 19:10:35 +0930 Subject: [PATCH 20/28] align links properly --- src/seqta/utils/Openers/OpenAboutPage.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index e0acb900..3a8828c9 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -44,18 +44,18 @@ export function OpenAboutPage() {
Report bugs and feedback: - - + + - - + + - - + + From c53de6ed8d0d520c302ae11d245ff1ee27964ccd Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Tue, 3 Jun 2025 19:11:31 +0930 Subject: [PATCH 21/28] Adjust alignment --- src/seqta/utils/Openers/OpenAboutPage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/seqta/utils/Openers/OpenAboutPage.ts b/src/seqta/utils/Openers/OpenAboutPage.ts index 3a8828c9..ed08d1a7 100644 --- a/src/seqta/utils/Openers/OpenAboutPage.ts +++ b/src/seqta/utils/Openers/OpenAboutPage.ts @@ -43,7 +43,7 @@ export function OpenAboutPage() { let footer = stringToHTML(/* html */ `
- Report bugs and feedback: + Report bugs and feedback: From ee002991afa0fe3b12bbaca0c2464e1ee89dbeea Mon Sep 17 00:00:00 2001 From: Jones Date: Wed, 4 Jun 2025 07:43:45 +0930 Subject: [PATCH 22/28] Update injected.scss remove CSS for old "here" button --- src/css/injected.scss | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/css/injected.scss b/src/css/injected.scss index 4de7aa2b..299c23e7 100644 --- a/src/css/injected.scss +++ b/src/css/injected.scss @@ -3397,20 +3397,6 @@ body { margin-bottom: 12px; } -.AboutPageLink { - background: rgba(0, 102, 255, 0.07) !important; - border-radius: 0.3em !important; - padding: 2px 10px !important; - color:rgb(56, 166, 255) !important; - font-weight: 500 !important; - transition: background 0.2s, color 0.2s !important; - cursor: pointer !important; -} -.AboutPageLink:hover { - background: rgba(0, 102, 255, 0.13) !important; - color:rgb(80, 168, 255) !important; -} - @keyframes shimmer { 0% { background-position: -1000px 0; From 0c2bdf36cf938d1b7645f53fea2837181f304875 Mon Sep 17 00:00:00 2001 From: Jones8683 Date: Wed, 4 Jun 2025 08:27:53 +0930 Subject: [PATCH 23/28] Align links for parity with openaboutpage.ts --- src/seqta/utils/Whatsnew.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/seqta/utils/Whatsnew.ts b/src/seqta/utils/Whatsnew.ts index 1f9a20e9..fbe66e6e 100644 --- a/src/seqta/utils/Whatsnew.ts +++ b/src/seqta/utils/Whatsnew.ts @@ -257,19 +257,19 @@ export function OpenWhatsNewPopup() { let footer = stringToHTML(/* html */ `
- From f62d712549d024e06c966a91235527ab356dfa11 Mon Sep 17 00:00:00 2001 From: SethBurkart123 Date: Wed, 4 Jun 2025 12:01:55 +1000 Subject: [PATCH 25/28] fix: sidebar icons revert back to old style after reload #282 --- src/plugins/monofile.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/monofile.ts b/src/plugins/monofile.ts index aefcae2e..1d66c618 100644 --- a/src/plugins/monofile.ts +++ b/src/plugins/monofile.ts @@ -503,7 +503,7 @@ export async function ObserveMenuItemPosition() { return; } - if (!node?.dataset?.checked && !MenuOptionsOpen) { + if (!MenuOptionsOpen) { const key = MenuitemSVGKey[node?.dataset?.key! as keyof typeof MenuitemSVGKey]; if (key) { From df385775d9f311595f5b7054bc1bb27ef4eb98be Mon Sep 17 00:00:00 2001 From: Jones Date: Wed, 4 Jun 2025 14:26:45 +0930 Subject: [PATCH 26/28] Update injected.scss - Add rounded corners for music lessons/tutorials and custom events --- src/css/injected.scss | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/css/injected.scss b/src/css/injected.scss index 4de7aa2b..81dbf91d 100644 --- a/src/css/injected.scss +++ b/src/css/injected.scss @@ -1997,6 +1997,15 @@ div.entry.class[style*="width: 46.5%"] { min-width: 0; width: auto !important; } + +div.entry.tutorial { + border-radius: 4px; +} + +div.entry.event { + border-radius: 4px; +} + .uiFileHandler .uiButton { border-radius: 32px !important; color: var(--text-primary) !important; From 6c12f5cf00375b08a704964b496678bd9c6df7d3 Mon Sep 17 00:00:00 2001 From: SethBurkart123 Date: Wed, 4 Jun 2025 15:44:51 +1000 Subject: [PATCH 27/28] feat: apply 12 hour time to timetable #280 --- src/plugins/monofile.ts | 11 +++-- src/seqta/utils/convertTo12HourFormat.ts | 6 +-- src/seqta/utils/updateTimetableTimes.ts | 51 ++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 src/seqta/utils/updateTimetableTimes.ts diff --git a/src/plugins/monofile.ts b/src/plugins/monofile.ts index 1d66c618..55e6e71c 100644 --- a/src/plugins/monofile.ts +++ b/src/plugins/monofile.ts @@ -24,6 +24,9 @@ import loading from "@/seqta/ui/Loading"; import { SendNewsPage } from "@/seqta/utils/SendNewsPage"; import { loadHomePage } from "@/seqta/utils/Loaders/LoadHomePage"; import { OpenWhatsNewPopup } from "@/seqta/utils/Whatsnew"; +import { + updateTimetableTimes, +} from "@/seqta/utils/updateTimetableTimes"; // JSON content import MenuitemSVGKey from "@/seqta/content/MenuItemSVGKey.json"; @@ -241,14 +244,16 @@ async function LoadPageElements(): Promise { handleReports, ); - /* eventManager.register( + eventManager.register( "timetableAdded", { elementType: "div", className: "timetablepage", }, - handleTimetable, - ) */ + async () => { + await updateTimetableTimes(); + }, + ); eventManager.register( "noticesAdded", diff --git a/src/seqta/utils/convertTo12HourFormat.ts b/src/seqta/utils/convertTo12HourFormat.ts index 8dd6670e..691bea0c 100644 --- a/src/seqta/utils/convertTo12HourFormat.ts +++ b/src/seqta/utils/convertTo12HourFormat.ts @@ -3,10 +3,10 @@ export function convertTo12HourFormat( noMinutes: boolean = false, ): string { let [hours, minutes] = time.split(":").map(Number); - let period = "AM"; + let period = "am"; if (hours >= 12) { - period = "PM"; + period = "pm"; if (hours > 12) hours -= 12; } else if (hours === 0) { hours = 12; @@ -17,5 +17,5 @@ export function convertTo12HourFormat( hoursStr = hoursStr.substring(1); } - return `${hoursStr}${noMinutes ? "" : `:${minutes.toString().padStart(2, "0")}`} ${period}`; + return `${hoursStr}${noMinutes ? "" : `:${minutes.toString().padStart(2, "0")}`}${period}`; } diff --git a/src/seqta/utils/updateTimetableTimes.ts b/src/seqta/utils/updateTimetableTimes.ts new file mode 100644 index 00000000..3e9a3d5c --- /dev/null +++ b/src/seqta/utils/updateTimetableTimes.ts @@ -0,0 +1,51 @@ +import { settingsState } from "@/seqta/utils/listeners/SettingsState"; +import { convertTo12HourFormat } from "./convertTo12HourFormat"; +import { waitForElm } from "./waitForElm"; + + +export async function updateTimetableTimes(): Promise { + if (!settingsState.timeFormat) return; + + const timetablePage = document.querySelector(".timetablepage"); + if (!timetablePage) return; + + // Wait for time elements to exist if page is still loading + try { + await waitForElm(".timetablepage .time", true, 10); + } catch { + return; + } + + const times = timetablePage.querySelectorAll(".times .time"); + times.forEach((el) => { + if (!el.dataset.original) el.dataset.original = el.textContent || ""; + const original = el.dataset.original; + if (!original) return; + + if (settingsState.timeFormat === "12") { + el.textContent = convertTo12HourFormat(original, true) + .toLowerCase() + .replace(" ", ""); + } else { + el.textContent = original; + } + }); + + const entryTimes = timetablePage.querySelectorAll(".entry .times"); + entryTimes.forEach((el) => { + if (!el.dataset.original) el.dataset.original = el.textContent || ""; + const original = el.dataset.original || ""; + if (!original.includes("–") && !original.includes("-")) return; + + const [start, end] = original.split(/[-–]/).map((p) => p.trim()); + if (!start || !end) return; + + if (settingsState.timeFormat === "12") { + const start12 = convertTo12HourFormat(start).toLowerCase().replace(" ", ""); + const end12 = convertTo12HourFormat(end).toLowerCase().replace(" ", ""); + el.textContent = `${start12}–${end12}`; + } else { + el.textContent = original; + } + }); +} From 9b13e7571a039398f8cda5481e374d079e7437c9 Mon Sep 17 00:00:00 2001 From: SethBurkart123 Date: Wed, 4 Jun 2025 16:08:01 +1000 Subject: [PATCH 28/28] feat: profile picture plugin #256 --- src/interface/pages/settings/general.svelte | 35 ++++--- .../ProfilePictureSetting.svelte | 99 +++++++++++++++++++ src/plugins/built-in/profilePicture/index.ts | 85 ++++++++++++++++ .../built-in/profilePicture/styles.css | 10 ++ src/plugins/core/manager.ts | 8 +- src/plugins/core/settingsHelpers.ts | 10 ++ src/plugins/core/types.ts | 14 ++- src/plugins/index.ts | 2 + 8 files changed, 246 insertions(+), 17 deletions(-) create mode 100644 src/plugins/built-in/profilePicture/ProfilePictureSetting.svelte create mode 100644 src/plugins/built-in/profilePicture/index.ts create mode 100644 src/plugins/built-in/profilePicture/styles.css diff --git a/src/interface/pages/settings/general.svelte b/src/interface/pages/settings/general.svelte index c34a81fb..29dc85e8 100644 --- a/src/interface/pages/settings/general.svelte +++ b/src/interface/pages/settings/general.svelte @@ -13,25 +13,30 @@ import hideSensitiveContent from "@/seqta/ui/dev/hideSensitiveContent" import { getAllPluginSettings } from "@/plugins" - import type { BooleanSetting, StringSetting, NumberSetting, SelectSetting, ButtonSetting, HotkeySetting } from "@/plugins/core/types" + import type { BooleanSetting, StringSetting, NumberSetting, SelectSetting, ButtonSetting, HotkeySetting, ComponentSetting } from "@/plugins/core/types" // Union type representing all possible settings - type SettingType = + type SettingType = (Omit & { type: 'boolean', id: string }) | (Omit & { type: 'string', id: string }) | (Omit & { type: 'number', id: string }) | - (Omit, 'type'> & { - type: 'select', - id: string, + (Omit, 'type'> & { + type: 'select', + id: string, options: string[] }) | - (Omit & { - type: 'button', - id: string + (Omit & { + type: 'button', + id: string }) | - (Omit & { - type: 'hotkey', - id: string + (Omit & { + type: 'hotkey', + id: string + }) | + (Omit & { + type: 'component', + id: string, + component: any }); interface Plugin { @@ -55,7 +60,11 @@ pluginSettingsValues[plugin.pluginId] = stored[storageKey] || {}; for (const [key, setting] of Object.entries(plugin.settings)) { - if (pluginSettingsValues[plugin.pluginId][key] === undefined && setting.type !== 'button') { + if ( + pluginSettingsValues[plugin.pluginId][key] === undefined && + setting.type !== 'button' && + setting.type !== 'component' + ) { pluginSettingsValues[plugin.pluginId][key] = setting.default; } } @@ -268,6 +277,8 @@ value={pluginSettingsValues[plugin.pluginId]?.[key] ?? setting.default} onChange={(value) => updatePluginSetting(plugin.pluginId, key, value)} /> + {:else if setting.type === 'component'} + {/if}
diff --git a/src/plugins/built-in/profilePicture/ProfilePictureSetting.svelte b/src/plugins/built-in/profilePicture/ProfilePictureSetting.svelte new file mode 100644 index 00000000..1da2b571 --- /dev/null +++ b/src/plugins/built-in/profilePicture/ProfilePictureSetting.svelte @@ -0,0 +1,99 @@ + + +
value ? null : triggerSelect()} + ondragover={(e) => { e.stopPropagation(); dragging = true }} + ondragleave={() => dragging = false} + ondrop={onDrop} + onkeydown={(e) => { + if (e.key === 'Enter' || e.key === ' ') { + e.preventDefault() + triggerSelect() + } + }} + role="button" + tabindex="0" +> + {#if value} + Profile + + {:else} +
+ {'\ued47'} + Upload +
+ {/if} + + {#if dragging} +
+ {/if} +
diff --git a/src/plugins/built-in/profilePicture/index.ts b/src/plugins/built-in/profilePicture/index.ts new file mode 100644 index 00000000..446dc21b --- /dev/null +++ b/src/plugins/built-in/profilePicture/index.ts @@ -0,0 +1,85 @@ +import type { Plugin } from "@/plugins/core/types"; +import { defineSettings, componentSetting } from "@/plugins/core/settingsHelpers"; +import ProfilePictureSetting from "./ProfilePictureSetting.svelte"; +import { waitForElm } from "@/seqta/utils/waitForElm"; +import styles from "./styles.css?inline"; +import localforage from "localforage"; + +const settings = defineSettings({ + picture: componentSetting({ + title: "Profile Picture", + description: "Upload or remove your custom profile image", + component: ProfilePictureSetting, + }), +}); + + +const profilePicturePlugin: Plugin = { + id: "profile-picture", + name: "Custom Profile Picture", + description: "Use your own image in place of the profile icon", + version: "1.1.0", + settings: settings, + disableToggle: true, + defaultEnabled: false, + styles, + + run: async (api) => { + await api.storage.loaded; + let container: Element; + try { + container = await waitForElm(".userInfosvgdiv", true, 100, 60); + } catch { + return () => {}; + } + + const svg = container.querySelector(".userInfosvg") as HTMLElement | null; + let img: HTMLImageElement | null = null; + let currentBlobUrl: string | undefined; + + // Setup localforage instance + const store = localforage.createInstance({ + name: "profile-picture-store", + storeName: "profilePicture", + }); + + async function updateImageFromStore() { + // Remove old image if present + if (img) { + img.remove(); + img = null; + } + if (currentBlobUrl) { + URL.revokeObjectURL(currentBlobUrl); + currentBlobUrl = undefined; + } + const blob = await store.getItem("profile-picture"); + if (blob && blob instanceof Blob) { + currentBlobUrl = URL.createObjectURL(blob); + img = document.createElement("img"); + img.className = "userInfoImg"; + img.src = currentBlobUrl; + if (svg) svg.style.display = "none"; + container.appendChild(img); + } else { + if (svg) svg.style.display = ""; + } + } + + // Initial load + await updateImageFromStore(); + + // Listen for storage changes (in case user updates from settings) + const interval = setInterval(updateImageFromStore, 1000); + + return () => { + clearInterval(interval); + if (img) img.remove(); + if (svg) svg.style.display = ""; + if (currentBlobUrl) URL.revokeObjectURL(currentBlobUrl); + }; + }, +}; + +export default profilePicturePlugin; + diff --git a/src/plugins/built-in/profilePicture/styles.css b/src/plugins/built-in/profilePicture/styles.css new file mode 100644 index 00000000..11030720 --- /dev/null +++ b/src/plugins/built-in/profilePicture/styles.css @@ -0,0 +1,10 @@ +.userInfoImg { + width: 80%; + height: 80%; + position: absolute; + top: 10%; + left: 10%; + border-radius: 50%; + object-fit: cover; + z-index: 4; +} diff --git a/src/plugins/core/manager.ts b/src/plugins/core/manager.ts index ff6621db..7e62b829 100644 --- a/src/plugins/core/manager.ts +++ b/src/plugins/core/manager.ts @@ -7,6 +7,7 @@ import type { StringSetting, ButtonSetting, HotkeySetting, + ComponentSetting, } from "./types"; import { createPluginAPI } from "./createAPI"; import browser from "webextension-polyfill"; @@ -195,7 +196,8 @@ export class PluginManager { options: Array<{ value: string; label: string }>; }) | (Omit & { type: "button"; id: string; trigger?: () => void | Promise }) - | (Omit & { type: "hotkey"; id: string }); + | (Omit & { type: "hotkey"; id: string }) + | (Omit & { type: "component"; id: string; component: any }); }; }> { return Array.from(this.plugins.entries()).map(([id, plugin]) => { @@ -203,8 +205,8 @@ export class PluginManager { ([key, setting]) => { const settingObj = setting as any; let result: any; - if (settingObj.type === "button") { - // For button, keep the trigger function + if (settingObj.type === "button" || settingObj.type === "component") { + // For button or component, keep the functions result = { ...settingObj }; } else { // For others, strip functions diff --git a/src/plugins/core/settingsHelpers.ts b/src/plugins/core/settingsHelpers.ts index e37bb2e6..7e34937a 100644 --- a/src/plugins/core/settingsHelpers.ts +++ b/src/plugins/core/settingsHelpers.ts @@ -5,6 +5,7 @@ import type { SelectSetting, StringSetting, HotkeySetting, + ComponentSetting, } from "./types"; export function numberSetting( @@ -52,6 +53,15 @@ export function buttonSetting( }; } +export function componentSetting( + options: Omit, +): ComponentSetting { + return { + type: "component", + ...options, + }; +} + export function hotkeySetting( options: Omit, ): HotkeySetting { diff --git a/src/plugins/core/types.ts b/src/plugins/core/types.ts index 1e06b0ea..c3616f94 100644 --- a/src/plugins/core/types.ts +++ b/src/plugins/core/types.ts @@ -48,13 +48,21 @@ export interface HotkeySetting { description?: string; } +export interface ComponentSetting { + type: "component"; + title: string; + description?: string; + component: any; +} + export type PluginSetting = | BooleanSetting | StringSetting | NumberSetting | SelectSetting | ButtonSetting - | HotkeySetting; + | HotkeySetting + | ComponentSetting; export type PluginSettings = { [key: string]: PluginSetting; @@ -71,7 +79,9 @@ export type SettingValue = T extends BooleanSetting ? O : T extends HotkeySetting ? string - : never; + : T extends ComponentSetting + ? never + : never; export type SettingsAPI = { [K in keyof T]: SettingValue; diff --git a/src/plugins/index.ts b/src/plugins/index.ts index e47dfa84..00b692af 100644 --- a/src/plugins/index.ts +++ b/src/plugins/index.ts @@ -7,6 +7,7 @@ import themesPlugin from "./built-in/themes"; import animatedBackgroundPlugin from "./built-in/animatedBackground"; import assessmentsAveragePlugin from "./built-in/assessmentsAverage"; import globalSearchPlugin from "./built-in/globalSearch/src/core"; +import profilePicturePlugin from "./built-in/profilePicture"; //import testPlugin from './built-in/test'; // Initialize plugin manager @@ -19,6 +20,7 @@ pluginManager.registerPlugin(assessmentsAveragePlugin); pluginManager.registerPlugin(notificationCollectorPlugin); pluginManager.registerPlugin(timetablePlugin); pluginManager.registerPlugin(globalSearchPlugin); +pluginManager.registerPlugin(profilePicturePlugin); //pluginManager.registerPlugin(testPlugin); export { init as Monofile } from "./monofile";