๐
Gear – 420.tv – The Video Community for Stoners
🔥Trending Now
🌿Browse Categories
📺Latest Videos
// Push Notifications
var tcPushSubscribed = false;
if ('serviceWorker' in navigator && 'PushManager' in window) {
navigator.serviceWorker.ready.then(function(sw){
sw.pushManager.getSubscription().then(function(sub){
tcPushSubscribed = sub !== null;
var btn = document.getElementById('tcPushBtn');
if(btn) btn.textContent = tcPushSubscribed ? 'Notifications On' : 'Enable Notifications';
});
});
}
function tcTogglePush() {
if (!('serviceWorker' in navigator)) return;
navigator.serviceWorker.ready.then(function(sw){
sw.pushManager.getSubscription().then(function(sub){
if (sub) {
sub.unsubscribe().then(function(){tcPushSubscribed=false;document.getElementById('tcPushBtn').textContent='Enable Notifications'});
fetch('/wp-admin/admin-ajax.php',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'action=tc_push_unsubscribe&nonce='+TC_NONCE+'&endpoint='+encodeURIComponent(sub.endpoint)});
} else {
sw.pushManager.subscribe({userVisibleOnly:true,applicationServerKey:urlBase64ToUint8Array(TC_VAPID_PUB)}).then(function(subscription){
tcPushSubscribed=true;document.getElementById('tcPushBtn').textContent='Notifications On';
fetch('/wp-admin/admin-ajax.php',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'action=tc_push_subscribe&nonce='+TC_NONCE+'&subscription='+encodeURIComponent(JSON.stringify(subscription))});
});
}
});
});
}
function urlBase64ToUint8Array(base64String){var padding='='.repeat((4-base64String.length%4)%4);var base64=(base64String+padding).replace(/\-/g,'+').replace(/_/g,'/');var rawData=window.atob(base64);return Uint8Array.from([...rawData].map(char=>char.charCodeAt(0)));}