Site Timer Productivity Helper v1.0.1
A simple extension which allows a user to input either domains (eg: reddit.com) or specific paths of domains (eg: youtube.com/shorts) to apply a time limiting functionality against for active tab usage. It's similar to a Pomodoro Timer, but targeting specific websites, even exclusively specific paths for websites.
Users specify a time limit in seconds which applies to all blacklisted sites (timer carries over between blacklisted sites - so if visiting two different blacklisted sites back to back, the timer does not start to count down/reset and counts both sites under a single blacklisted timer). Users also specify a reset timer which will only count when visiting non-blacklisted sites. When the reset timer expires, the main blacklisted site timer will reset.
After the blacklisted/domain timer expires, a popup page telling the user to do something else will appear. This behavior will continue until the reset timer expires, via spending time on non-blacklisted sites.
IMPORTANT: Settings changed in the extension preferences page will not take effect until the extension restarts! Read below for more information!
Readme / How to use:
Users install extension -> visit "about:addons" aka the manage extensions page -> click three dots for Site Timer Productivity Helper -> Preferences
Then, users can add blacklisted sites in the top field. The timer value for blacklisted domains, and the reset timer can also be set below. Finally, there is a button to restart the extension, and a list of currently blacklisted sites.
IMPORTANT: The< "restart extension" button is there for a good reason - the settings changed in the preferences page do not take effect unless the extension is restarted. The timers and domains will update on the page in real time after settings changes to reflect what the extension is storing in local storage for extension settings, but the live behavior of the app will not care about these changes until the extension restarts. Therefore, click the extension restart button after any changes are made to the domain blacklist, or timer values.
So does this mean... (use cases and functionality clarification)
I made this addon because I wanted to blacklist specific sites for extended usage, without impacting the entire domain. For example, I want to make it easy to kick myself off of extended YouTube Shorts sessions, without stopping me from using YouTube for standard videos.
During use, the extension will compare the root domain (eg: youtube.com) against the blacklist. If no exact match is found within the domain blacklist, it then begins to consider the user's current tab's path, from the top path down to the end. If any match is found, it'll blacklist the site. So you can be on, "example.com/path1/path2/path3" and if the blacklist has an entry of, "example.com/path1" it'll still blacklist, "example.com/..../path3". However, if you blacklisted ".../path3" without other entries for this domain and were visiting only ".../path1" then it would not blacklist the page.
It treats all matches between blacklisted sites as equal. Swapping from one blacklisted site to another doesn't change the timer status, and currently I don't have anything set up to change the timer for a specific site.
If the user uses up a portion of the blacklist timer BUT DOES NOT EXPIRE IT, then the user goes back to non-blacklisted sites, the blacklist timer will slowly start to tick down back to zero.