Skip to content

AdamDuda1/szkopul-utils

Repository files navigation

Szkopuł Utils

Szkopuł Utils is a browser extension that provides various QOL improvements and additional features for the Szkopuł.edu.pl website.

Hackatime Badge GitHub Release

Installation

Install from the extension store:

Load locally:

  • Compress the files in the src folder into a zip file (manifest.json must be directly in the zip's root). Make sure to run npm install and npm run build to compile all the TS scripts before (you might also need to install esbuild and typescript if you don't have that already)!
  • Load to Chrome with developer mode enabled or to Firefox Developer Edition (you may need to disable signed extensions in about:config (or no if mozilla is nice and approves the extension idk)).

Full list of features:

  • A nice home page dashboard;
  • Virtual contests (create and participate in a local virtual contest with set tasks, score hiding and calculating options and time)
  • Task TODO list;
  • Random task pickers in the task archive (from contests, rounds, categories) and from TODO;
  • Inline task statements view and on-the-same-page statement view;
  • Preferred language and auto-submit
  • Score hiding (shows only initial testing reports);
  • Notes for tasks (saved in browser's storage);
  • Actually searches when you press enter in the search bar;
  • Hides the 'Contact' (or 'Send feedback' in english) button in the bottom left corner of the footer. It previously caused bottom part of the website's elements to be non-interactable (because of bad flex-box styling and z-index: 999).
image
  • Other misc fixes and improvements, so many I dont even remember!

Contributing

All PRs are welcome! Leave your suggestions, feature requests and bug reports in the Issues.

Note

I originally wanted to make the 'frontend' part of this extension in Angular, but it was a bit hard to start with it and mix it with the extension file structure. Because of that, I started with just standard TS and a template for the extension files from the internet, and Im using libraries that imitate parts of Angular (I mean, do something similar), like lit for inserting reactive HTML duh, the TS files dont even have classes... (<-- I might have to change that in the very near future). I may make a 2.0 version in the future with full Angular if there is a need for it (and if I have the time). Edit: Im not sure that Angular is a good idea here but I need to reorganize the files and functions......

TODO:

  • utils row is added to the settings tab in problemset problem view (add to contests table) (and should not)

  • link to search task in problemset

  • preferred language is on home page... ??????????????????????????? what did I mean =

  • (??) hide the midified tables (like problems in contest) untill thir html is not modified (display: none on init and then flex when loaded)

  • build the menu html on click so it loads faster and is up to date

  • Add the same menu in the problem set to the top of the problem page???

  • Add comments under tasks ?

About

Browser extension providing various QOL improvements and some additional features for the site szkopul.edu.pl!

Resources

Stars

Watchers

Forks