-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackground.ts
32 lines (27 loc) · 1.08 KB
/
background.ts
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
import { TabData } from './models/TabData';
import { TabFormat } from './models/TabFormat';
import { downloadFile } from './scripts/fileHandler';
import { loadTabs } from './scripts/loadTabs';
import { saveTabs } from './scripts/saveTabs';
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.action === 'saveTabs') {
const selectedTabs: TabData[] = message.selectedTabs;
const selectedFormat: TabFormat = message.selectedFormat;
let savedData: string;
savedData = saveTabs(selectedTabs, selectedFormat);
chrome.storage.local.set({ savedTabs: savedData }, () => {
console.log('Tabs saved successfully');
});
chrome.runtime.sendMessage({
action: 'downloadFile',
savedData: savedData,
selectedFormat: selectedFormat,
});
} else if (message.action === 'loadTabs') {
const content: string = message.content;
const tabs = loadTabs(content);
tabs.forEach(tab => {
chrome.tabs.create({ url: tab.url });
});
}
});