import '../webextension-polyfill'; import { RpcServer } from 'webextension-rpc'; import { h, render } from 'preact'; import classes from './index.module.scss'; import { App } from './App'; import { discoverAnnotationsEmbeddedAsJSONLD } from './discovery'; import { annotateSelection } from './AnnotationCreationHelper'; export const contentScriptRpcServer = new RpcServer({ annotateSelection, discoverAnnotationsEmbeddedAsJSONLD: async () => discoverAnnotationsEmbeddedAsJSONLD(), // fetchJson: async (...args: Parameters) => { // const response = await fetch(...args); // let json; // try { // json = await response.json(); // } catch (error) { // json = undefined; // } // const { ok, redirected, status, statusText, type, url } = response; // return { // json, // headers: response.headers.entries(), // ok, // redirected, // status, // statusText, // type, // url, // }; // }, }); main(); async function main() { const containerId = classes.container; let container = document.getElementById(containerId); if (!container) { container = document.createElement('div'); // use class as id too. container.id = containerId; container.setAttribute('class', classes.container); document.body.append(container); } render(, container); }