Files
dtf-system/local/static/privacy.js
Cauê Faleiros 98c951d374
Some checks failed
Validate, publish and deploy / validate (push) Successful in 2m2s
Validate, publish and deploy / publish-and-deploy (push) Failing after 8s
first commit
2026-09-15 16:42:34 -03:00

16 lines
964 B
JavaScript

/* Clear draft files and metadata across Site tabs when signing out. */
(() => {
const signal='dtf-privacy-reset';
function notify(){window.dispatchEvent(new Event('dtf-private-data-cleared'));}
window.dtfForgetPrivateData=async()=>{
notify();
for(const key of Object.keys(localStorage))if(key.startsWith('dtf-'))localStorage.removeItem(key);
localStorage.setItem(signal,crypto.randomUUID());
const db=await new Promise((resolve,reject)=>{const r=indexedDB.open('dtf-local-cart',1);r.onupgradeneeded=()=>r.result.createObjectStore('cart');r.onsuccess=()=>resolve(r.result);r.onerror=()=>reject(r.error);});
try{await new Promise((resolve,reject)=>{const tx=db.transaction('cart','readwrite');tx.objectStore('cart').clear();tx.oncomplete=resolve;tx.onerror=()=>reject(tx.error);});}finally{db.close();}
};
window.addEventListener('storage',event=>{
if(event.key===signal && event.newValue){notify();location.reload();}
});
})();