-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoptions.js
More file actions
39 lines (32 loc) · 1.47 KB
/
options.js
File metadata and controls
39 lines (32 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// options.js
let knowledgeBase = {};
function addKnowledgeBaseField(key = '', value = '') {
const div = document.createElement('div');
div.innerHTML = `
<input type="text" class="kb-key" value="${key}" placeholder="Field name (e.g., name, email, phone)">
<input type="text" class="kb-value" value="${value}" placeholder="Value">
<button class="remove-field">Remove</button>
`;
div.querySelector('.remove-field').addEventListener('click', () => div.remove());
document.getElementById('knowledgeBase').appendChild(div);
}
document.getElementById('addField').addEventListener('click', () => addKnowledgeBaseField());
document.getElementById('save').addEventListener('click', () => {
const generalInfo = document.getElementById('generalInfo').value;
knowledgeBase = {};
document.querySelectorAll('#knowledgeBase > div').forEach(div => {
const key = div.querySelector('.kb-key').value;
const value = div.querySelector('.kb-value').value;
if (key && value) knowledgeBase[key] = value;
});
chrome.storage.sync.set({ generalInfo, knowledgeBase }, () => {
alert('Settings saved');
});
});
chrome.storage.sync.get(['generalInfo', 'knowledgeBase'], (result) => {
document.getElementById('generalInfo').value = result.generalInfo || '';
knowledgeBase = result.knowledgeBase || {};
for (const [key, value] of Object.entries(knowledgeBase)) {
addKnowledgeBaseField(key, value);
}
});