frontAnswerer/src/widget.tsx

35 lines
659 B
TypeScript
Raw Normal View History

2024-01-20 12:26:28 +00:00
import { Root, createRoot } from "react-dom/client";
import App from "./App";
import "./index.css";
let root: Root | undefined = undefined;
const widget = {
create({ selector }: {
selector: string;
}) {
const element = document.getElementById(selector);
if (!element) throw new Error("Element for widget doesn't exist");
root = createRoot(element);
root.render(<App />);
},
unmount() {
if (root) root.unmount();
}
};
export default widget;
2024-01-20 12:51:17 +00:00
/*
<script type="module">
import widget from ".../widget.js";
widget.create({
selector: "widget-container"
})
</script>
*/