Eclipso is a browser extension with a popup where you can start focus sessions that block distracting websites, as well as an options page to edit your preferences: what websites you'd like to block, and when you'd like to receive a bedtime nudge. When a focus session is started in the popup, the end time of the focus session is calculated and shown in the popup as a timer as well as sent to the background.js file so it's not lost as soon as the popup is closed. Background.js uses the end time to send a notification when the focus session is over. Also, if the reset button is pressed, the timer is stopped and the end time is deleted from storage to not send that notification. During focus sessions, it checks the URLs of each tab so that if a website among the inputted list of blocked ones from the options page is opened, the tab is removed and a notification to stay on trach is sent. Another tab in the options page lets people choose a time to get a bedtime notification. This is again sent to background.js, where an alarm is set to trigger a notification either that day at the given time, or adding a day to the date if the time has already passed on the current day.
Eclipso is a browser extension with a popup where you can start focus sessions that block distracting websites, as well as an options page to edit your preferences: what websites you'd like to block, and when you'd like to receive a bedtime nudge. When a focus session is started in the popup, the end time of the focus session is calculated and shown in the popup as a timer as well as sent to the background.js file so it's not lost as soon as the popup is closed. Background.js uses the end time to send a notification when the focus session is over. Also, if the reset button is pressed, the timer is stopped and the end time is deleted from storage to not send that notification. During focus sessions, it checks the URLs of each tab so that if a website among the inputted list of blocked ones from the options page is opened, the tab is removed and a notification to stay on trach is sent. Another tab in the options page lets people choose a time to get a bedtime notification. This is again sent to background.js, where an alarm is set to trigger a notification either that day at the given time, or adding a day to the date if the time has already passed on the current day.