UNPKG

@khabzox/ytb-shorts-blocker

Version:

Block YouTube Shorts and keep your feed clean

2 lines (1 loc) 2.12 kB
chrome.runtime.onInstalled.addListener((f)=>{if(console.log("YouTube Shorts Blocker installed:",f.reason),f.reason==="install")chrome.storage.sync.set({ytb_settings:{enabled:!0,blockingMode:"hide",showNotifications:!0,blockInSearch:!0,blockInHome:!0,blockInSubscriptions:!0,blockInTrending:!1,allowWhitelistedChannels:!0,whitelistedChannels:[],customCss:"",debugMode:!1,version:"1.0.4"}}),chrome.storage.local.set({ytb_stats:{totalBlocked:0,sessionBlocked:0,lastResetDate:new Date().toISOString(),dailyStats:{},weeklyStats:{},monthlyStats:{}}}),console.log("Default settings and stats initialized")});chrome.runtime.onMessage.addListener((f,j,k)=>{switch(console.log("Message received:",f),f.action){case"getStatus":w(k);break;case"updateSettings":x(f.settings,k);break;case"resetStats":y(k);break;default:k({success:!1,error:"Unknown action"})}return!0});async function w(f){try{let[j]=await chrome.tabs.query({active:!0,currentWindow:!0});if(!j?.id||!j.url?.includes("youtube.com")){f({success:!0,data:{enabled:!1,blocked:0,message:"Not on YouTube"}});return}let k=await chrome.tabs.sendMessage(j.id,{action:"getStatus"});f({success:!0,data:k})}catch(j){console.error("Failed to get status:",j),f({success:!1,error:"Failed to get status from content script"})}}async function x(f,j){try{let[k]=await chrome.tabs.query({active:!0,currentWindow:!0});if(!k?.id||!k.url?.includes("youtube.com")){j({success:!1,error:"Not on YouTube page"});return}await chrome.storage.sync.set({ytb_settings:f});let v=await chrome.tabs.sendMessage(k.id,{action:"updateSettings",settings:f});j({success:!0,data:v})}catch(k){console.error("Failed to update settings:",k),j({success:!1,error:"Failed to update settings"})}}async function y(f){try{await chrome.storage.local.set({ytb_stats:{totalBlocked:0,sessionBlocked:0,lastResetDate:new Date().toISOString(),dailyStats:{},weeklyStats:{},monthlyStats:{}}}),f({success:!0,message:"Statistics reset successfully"})}catch(j){console.error("Failed to reset stats:",j),f({success:!1,error:"Failed to reset statistics"})}}console.log("YouTube Shorts Blocker background script loaded successfully");