Skip to content

makaroni4/focused_youtube

Repository files navigation

Focused YouTube Add to Chrome

🔍 Focused YouTube (FY) is a Chrome Extension that helps you stay focused by blocking recommendations and other elements on YouTube.

❤️ FY does not track any user data. It's a simple Vanilla JS application made with only one purpose – to help you avoid YouTube's rabbit hole.

Screenshots

🏠 Distraction-free YouTube homepage

home_page

🔍 Clean search page

search_page

📺 Noise-free video page

video_page

🌜 Dark mode (depends of your system settings)

search_page

Big shout out to @jakubkloc for introducing Dark Mode! 🙌

Make sure to enable Dark Mode in your Chrome before testing it:

https://support.google.com/chrome/answer/9275525?hl=en&co=GENIE.Platform%3DDesktop

💬 Options to show/hide comments/description

search_page

Big thank you to @KParthSingh and @Ohnoimded for adding an option to temporarily disable the extension! 🙌

🔗 Hover over YouTube logo to see the navigation menu

search_page

📱 Works in mobile browser as well

mobile_version

Big shout out to @fauzanabrar for making Focused Youtube work in mobile browsers! 🙌

Contributing

You're more than welcome to contribute. In fact, I'm really looking forward to it! 🚀

Just make sure to check out the contribution guidelines. 🙏

Development

Clone FY's repo to your computer.

Load the repo to chrome://extensions/ via "Load unpacked":

update_extension

Install dependencies and run a command to re-build the extension on any file change. ⚠️ Note, that you'll need to update the extension (by clicking on the update icon) ☝️ every time you want to test the latest version.

npm install

npm run mon

Chrome Storage

Focused Youtube extension uses chrome.storage API for keeping track of user settings and some additional data (installation timestamp, etc).

To check out current storage data, right click on the extension icon and select "Inspect pop-up". In the dev console run:

chrome.storage.local.get(console.log)

To clear storage run the following code in the dev console:

chrome.storage.local.clear(() => {
  console.log("Cleared!")
})

Releasing

npm run build