/* 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();} }); })();