let db = null; export async function initDB() { if (db) { return db; } return new Promise((resolve, reject) => { const request = indexedDB.open('woordjesDB', 1); request.onupgradeneeded = (event) => { const database = event.target.result; if (!database.objectStoreNames.contains('words')) { database.createObjectStore('words', { keyPath: 'key' }); } if (!database.objectStoreNames.contains('sync_queue')) { database.createObjectStore('sync_queue', { keyPath: 'id', autoIncrement: true }); } if (!database.objectStoreNames.contains('session')) { database.createObjectStore('session', { keyPath: 'key' }); } }; request.onsuccess = (event) => { db = event.target.result; resolve(db); }; request.onerror = () => { reject(request.error); }; }); } export function getDB() { return db; }