// background.js
let db;
// Initialize IndexedDB
function initDB() {
let request = indexedDB.open('YouTubeURLsDB', 1);
request.onupgradeneeded = function (event) {
db = event.target.result;
if (!db.objectStoreNames.contains('urls')) {
let objectStore = db.createObjectStore('urls', { keyPath: 'id', autoIncrement: true });
objectStore.createIndex('url', 'url', { unique: true });
}
};
request.onerror = function () {
console.error("Failed to open IndexedDB");
};
request.onsuccess = function () {
db = request.result;
};
}
// Store URL in the database
function storeURL(url) {
const transaction = db.transaction(['urls'], 'readwrite');
const store = transaction.objectStore('urls');
const data = { url: url, timestamp: new Date().toISOString() };
const request = store.add(data);
request.onsuccess = function () {
console.log('URL saved to database');
};
request.onerror = function () {
console.error('Failed to save URL');
};
}
// Listen for messages from the content script
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.action === 'storeURL') {
storeURL(request.url);
}
});
initDB();