This repository contains a working Manifest V3 Chrome extension that has the ability to block distracting sites to help users focus.
-
manifest.json: Extension config and permissions. -
background.js: Service worker for polling, sync, and dynamic blocking rules. -
popup.html,popup.js,popup.css: Login, toggles, blocklist, and logout UI. -
blocked.html: Redirect target page for blocked sites. -
supabase-client.js -
Login is not required (no real Supabase call).
-
Blocklist is hardcoded to common domains and stored in
chrome.storage.local. -
Focus session state is mocked via the popup toggle (
Mock iOS Focus Session). -
Polling runs every 30 seconds via
chrome.alarms. -
Blocking applies with
chrome.declarativeNetRequest.updateDynamicRules().
- Open Chrome:
chrome://extensions - Enable Developer mode
- Click Load unpacked
- Select this folder:
/Users/aravlohe/Documents/New project