* feat(build): inline chrome-extension-toolkit fix: tsconfig docs: add chrome-extension-toolkit README.md chore: update imports fix: stores fix: chrome-extension-toolkit ForegroundMessenger fix: calendarBackgroundHandler fix: format and lint fix: path alias fix: add jsdom env and fix imports Co-authored-by: Sriram Hariharan <sghsri@gmail.com> * build: vite storybook config crx toolkit line --------- Co-authored-by: Sriram Hariharan <sghsri@gmail.com> Co-authored-by: Derek <derex1987@gmail.com>
21 lines
764 B
TypeScript
21 lines
764 B
TypeScript
import type { MessageHandler } from '@chrome-extension-toolkit';
|
|
import openNewTab from '@pages/background/util/openNewTab';
|
|
import type TabManagementMessages from '@shared/messages/TabManagementMessages';
|
|
|
|
const tabManagementHandler: MessageHandler<TabManagementMessages> = {
|
|
getTabId({ sendResponse, sender }) {
|
|
sendResponse(sender.tab?.id ?? -1);
|
|
},
|
|
openNewTab({ data, sender, sendResponse }) {
|
|
const { url } = data;
|
|
const nextIndex = sender.tab?.index ? sender.tab.index + 1 : undefined;
|
|
openNewTab(url, nextIndex).then(sendResponse);
|
|
},
|
|
removeTab({ data, sendResponse }) {
|
|
const { tabId } = data;
|
|
chrome.tabs.remove(tabId).then(sendResponse);
|
|
},
|
|
};
|
|
|
|
export default tabManagementHandler;
|