Files
geo/apps/browser-extension/entrypoints/background.ts
T

32 lines
874 B
TypeScript

import { browser } from "wxt/browser";
import { defineBackground } from "wxt/utils/define-background";
import { handlePublisherAction } from "../src/runtime";
import { getExtensionState } from "../src/storage";
export default defineBackground(() => {
void getExtensionState();
browser.runtime.onInstalled.addListener(() => {
void getExtensionState();
browser.alarms.create("geo.publisher.background-heartbeat", {
periodInMinutes: 60,
});
});
browser.alarms.onAlarm.addListener(async (alarm) => {
if (alarm.name !== "geo.publisher.background-heartbeat") {
return;
}
await getExtensionState();
});
browser.runtime.onMessage.addListener((message) => {
if (!message || message.type !== "geo.publisher.request") {
return undefined;
}
return handlePublisherAction(message.action, message.payload);
});
});