PageSourceSearch

https://portalaltadefinicao.com/wp-content/cache/perfmatters/porta…fde18f5.padpush-subscribe.min.js?ver=1.10.0

js portalaltadefinicao.com collected 2026-09-24 17:38:34 UTC 10,768 bytes, 25 lines download raw bytes

1(function(){'use strict';var hasPushSupport=('serviceWorker' in navigator)&&('PushManager' in window);function urlBase64ToUint8Array(base64String){var padding='='.repeat((4-(base64String.length%4))%4);var base64=(base64String+padding).replace(/-/g,'+').replace(/_/g,'/');var rawData=window.atob(base64);var outputArray=new Uint8Array(rawData.length);for(var i=0;i<rawData.length;++i){outputArray[i]=rawData.charCodeAt(i)}
2return outputArray}
3function postJSON(path,body){return fetch(PadPushConfig.restUrl+path,{method:'POST',headers:{'Content-Type':'application/json','X-WP-Nonce':PadPushConfig.nonce},body:JSON.stringify(body),})}
4function getSelectedEditorials(container){var boxes=container.querySelectorAll('.padpush-editorial-checkbox:checked');return Array.prototype.map.call(boxes,function(el){return parseInt(el.value,10)})}
5var PUSH_SCOPE='/padpush-push-scope/';function waitForActive(reg){if(reg.active)return reg;var worker=reg.installing||reg.waiting;if(!worker)return reg;return new Promise(function(resolve){worker.addEventListener('statechange',function onChange(){if(worker.state==='activated'){worker.removeEventListener('statechange',onChange);resolve(reg)}})})}
6function getOwnRegistration(){return navigator.serviceWorker.register(PadPushConfig.swUrl,{scope:PUSH_SCOPE}).then(waitForActive)}
7function subscribe(editorials){return getOwnRegistration().then(function(reg){return reg.pushManager.getSubscription().then(function(existing){if(existing)return existing;return reg.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:urlBase64ToUint8Array(PadPushConfig.vapidPublic),})})}).then(function(subscription){return postJSON('/subscribe',{subscription:subscription.toJSON(),editorials:editorials||[]}).then(function(){return subscription})})}
8function buildPrompt(cfg,container,isMigration){cfg=cfg||PadPushConfig;var isModal=(cfg.promptStyle==='modal-center');var target=container||document.body;var overlay=null;if(isModal){overlay=document.createElement('div');overlay.className='padpush-overlay';target.appendChild(overlay)}
9var wrap=document.createElement('div');wrap.className='padpush-prompt padpush-prompt--'+(cfg.promptStyle||'bottom-right');var logoHtml=cfg.promptLogo?'<img class="padpush-prompt-logo" src="'+cfg.promptLogo+'" alt="" />':'<span class="padpush-prompt-logo padpush-prompt-logo--placeholder">ad</span>';wrap.innerHTML='<div class="padpush-prompt-inner">'+'  <button type="button" class="padpush-prompt-close" aria-label="Fechar">&times;</button>'+'  <div class="padpush-prompt-head">'+logoHtml+'    <div>'+'      <strong class="padpush-prompt-title"></strong>'+'      <p class="padpush-prompt-text"></p>'+'    </div>'+'  </div>'+'  <div class="padpush-prompt-editorials padpush-prompt-editorials--'+(parseInt(cfg.editorialsColumns,10)===2?'grid':'list')+'"></div>'+'  <div class="padpush-prompt-actions">'+'    <button type="button" class="padpush-prompt-dismiss">'+(cfg.dismissLabel||'Agora não')+'</button>'+'    <button type="button" class="padpush-prompt-accept">'+(cfg.acceptLabel||'Ativar')+'</button>'+'  </div>'+'</div>';wrap.querySelector('.padpush-prompt-title').textContent=isMigration?(cfg.migrationTitle||cfg.promptTitle):cfg.promptTitle;wrap.querySelector('.padpush-prompt-title').style.color=cfg.titleColor||'';wrap.querySelector('.padpush-prompt-text').textContent=isMigration?(cfg.migrationText||cfg.promptText):cfg.promptText;var acceptBtn=wrap.querySelector('.padpush-prompt-accept');acceptBtn.style.background=cfg.acceptBg||'';acceptBtn.style.color=cfg.acceptText||'';wrap.querySelector('.padpush-prompt-dismiss').style.color=cfg.dismissColor||'';var editorialsBox=wrap.querySelector('.padpush-prompt-editorials');(cfg.editorials||[]).forEach(function(ed){var label=document.createElement('label');var checkedAttr=cfg.editorialsDefaultChecked?' checked':'';label.innerHTML='<input type="checkbox" class="padpush-editorial-checkbox" value="'+ed.id+'"'+checkedAttr+'> <span>'+ed.name+'</span>';var input=label.querySelector('input');input.style.accentColor=cfg.checkColor||'';editorialsBox.appendChild(label)});target.appendChild(wrap);function closeAll(){wrap.remove();if(overlay)overlay.remove();}
10wrap.querySelector('.padpush-prompt-close').addEventListener('click',function(){dismiss(closeAll,isMigration)});wrap.querySelector('.padpush-prompt-dismiss').addEventListener('click',function(){dismiss(closeAll,isMigration)});wrap.querySelector('.padpush-prompt-accept').addEventListener('click',function(){if(container)return;var editorials=getSelectedEditorials(wrap);if(isMigration){subscribe(editorials).then(closeAll).catch(function(err){console.error('[PAD Web Push] Falha ao migrar inscrição:',err);closeAll()});return}
11Notification.requestPermission().then(function(perm){if(perm==='granted'){subscribe(editorials).then(closeAll).catch(function(err){console.error('[PAD Web Push] Falha ao registrar inscrição:',err);closeAll()})}else{localStorage.setItem('padpush_dismissed_at',String(Date.now()));closeAll()}})});return{wrap:wrap,overlay:overlay}}
12function dismiss(closeAll,isMigration){localStorage.setItem(isMigration?'padpush_migration_dismissed_at':'padpush_dismissed_at',String(Date.now()));closeAll()}
13window.PadPushBuildPrompt=buildPrompt;function parseEditorialsUpdateMarker(){var params;try{params=new URLSearchParams(window.location.search)}catch(e){return null}
14if(params.get('padpush_editorials')!=='1')return null;return(params.get('padpush_new')||'').split(',').map(function(v){return parseInt(v,10)}).filter(function(n){return!isNaN(n)})}
15function stripEditorialsUpdateMarker(){if(!window.history||!window.history.replaceState)return;try{var url=new URL(window.location.href);url.searchParams.delete('padpush_editorials');url.searchParams.delete('padpush_new');window.history.replaceState({},document.title,url.pathname+url.search+url.hash)}catch(e){}}
16function fetchCurrentPreferences(endpoint){return fetch(PadPushConfig.restUrl+'/preferences?endpoint='+encodeURIComponent(endpoint),{headers:{'X-WP-Nonce':PadPushConfig.nonce},}).then(function(res){return res.json()}).then(function(data){return(data&&data.editorials)||[]})}
17function buildEditorialsUpdatePrompt(cfg,subscription,currentEditorials,highlightIds){cfg=cfg||PadPushConfig;var isModal=(cfg.promptStyle==='modal-center');var target=document.body;var overlay=null;if(isModal){overlay=document.createElement('div');overlay.className='padpush-overlay';target.appendChild(overlay)}
18var wrap=document.createElement('div');wrap.className='padpush-prompt padpush-prompt--'+(cfg.promptStyle||'bottom-right');var logoHtml=cfg.promptLogo?'<img class="padpush-prompt-logo" src="'+cfg.promptLogo+'" alt="" />':'<span class="padpush-prompt-logo padpush-prompt-logo--placeholder">ad</span>';wrap.innerHTML='<div class="padpush-prompt-inner">'+'  <button type="button" class="padpush-prompt-close" aria-label="Fechar">&times;</button>'+'  <div class="padpush-prompt-head">'+logoHtml+'    <div>'+'      <strong class="padpush-prompt-title">Atualize seus interesses</strong>'+'      <p class="padpush-prompt-text">Temos editoriais novos. Escolha o que você quer continuar recebendo.</p>'+'    </div>'+'  </div>'+'  <div class="padpush-prompt-editorials padpush-prompt-editorials--'+(parseInt(cfg.editorialsColumns,10)===2?'grid':'list')+'"></div>'+'  <div class="padpush-prompt-actions">'+'    <button type="button" class="padpush-prompt-dismiss">Agora não</button>'+'    <button type="button" class="padpush-prompt-accept">Salvar</button>'+'  </div>'+'</div>';wrap.querySelector('.padpush-prompt-title').style.color=cfg.titleColor||'';var acceptBtn=wrap.querySelector('.padpush-prompt-accept');acceptBtn.style.background=cfg.acceptBg||'';acceptBtn.style.color=cfg.acceptText||'';wrap.querySelector('.padpush-prompt-dismiss').style.color=cfg.dismissColor||'';var editorialsBox=wrap.querySelector('.padpush-prompt-editorials');(cfg.editorials||[]).forEach(function(ed){var isChecked=currentEditorials.indexOf(ed.id)!==-1;var isNew=highlightIds.indexOf(ed.id)!==-1;var label=document.createElement('label');label.innerHTML='<input type="checkbox" class="padpush-editorial-checkbox" value="'+ed.id+'"'+(isChecked?' checked':'')+'> <span>'+ed.name+(isNew?' <em class="padpush-prompt-new-badge">novo</em>':'')+'</span>';var input=label.querySelector('input');input.style.accentColor=cfg.checkColor||'';editorialsBox.appendChild(label)});target.appendChild(wrap);function closeAll(){wrap.remove();if(overlay)overlay.remove();}
19wrap.querySelector('.padpush-prompt-close').addEventListener('click',closeAll);wrap.querySelector('.padpush-prompt-dismiss').addEventListener('click',closeAll);wrap.querySelector('.padpush-prompt-accept').addEventListener('click',function(){var editorials=getSelectedEditorials(wrap);postJSON('/preferences',{endpoint:subscription.endpoint,editorials:editorials}).then(closeAll).catch(function(err){console.error('[PAD Web Push] Falha ao salvar preferências:',err);closeAll()})})}
20function maybeShowEditorialsUpdatePrompt(){var highlightIds=parseEditorialsUpdateMarker();if(highlightIds===null)return!1;stripEditorialsUpdateMarker();getOwnRegistration().then(function(reg){return reg.pushManager.getSubscription()}).then(function(subscription){if(!subscription)return;return fetchCurrentPreferences(subscription.endpoint).then(function(currentEditorials){buildEditorialsUpdatePrompt(PadPushConfig,subscription,currentEditorials,highlightIds)})}).catch(function(err){console.error('[PAD Web Push] Falha ao abrir a atualização de editoriais:',err)});return!0}
21function shouldShowPrompt(){if(!('Notification' in window))return!1;if(Notification.permission!=='default')return!1;var dismissedAt=parseInt(localStorage.getItem('padpush_dismissed_at')||'0',10);var sevenDays=7*24*60*60*1000;if(dismissedAt&&(Date.now()-dismissedAt)<sevenDays)return!1;return!0}
22function shouldShowMigrationPrompt(){var dismissedAt=parseInt(localStorage.getItem('padpush_migration_dismissed_at')||'0',10);var threeDays=3*24*60*60*1000;return!dismissedAt||(Date.now()-dismissedAt)>=threeDays}
23document.addEventListener('DOMContentLoaded',function(){if(typeof PadPushConfig==='undefined')return;if(!hasPushSupport||!PadPushConfig.vapidPublic)return;if(maybeShowEditorialsUpdatePrompt())return;if(Notification.permission==='granted'){getOwnRegistration().then(function(reg){return reg.pushManager.getSubscription()}).then(function(existing){if(existing)return;if(!PadPushConfig.migrationEnabled){return subscribe([])}
24if(!shouldShowMigrationPrompt())return;buildPrompt(PadPushConfig,null,!0)}).catch(function(err){console.error('[PAD Web Push] Falha ao verificar inscrição existente:',err)});return}
25if(!shouldShowPrompt())return;setTimeout(function(){buildPrompt()},parseInt(PadPushConfig.promptDelay,10)||4000)})})()

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.