aboutsummaryrefslogtreecommitdiff
path: root/src/console/index.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/console/index.tsx')
-rw-r--r--src/console/index.tsx70
1 files changed, 12 insertions, 58 deletions
diff --git a/src/console/index.tsx b/src/console/index.tsx
index 29fa11f..5b97917 100644
--- a/src/console/index.tsx
+++ b/src/console/index.tsx
@@ -1,66 +1,20 @@
-import * as messages from "../shared/messages";
-import Console from "./components/Console";
-import "./index.css";
import React from "react";
import ReactDOM from "react-dom";
import ColorSchemeProvider from "./colorscheme/providers";
import { AppProvider } from "./app/provider";
-import {
- useCommandMode,
- useFindMode,
- useInfoMessage,
- useErrorMessage,
- useHide,
-} from "./app/hooks";
-
-const RootComponent: React.FC = () => {
- const hide = useHide();
- const { show: showCommand } = useCommandMode();
- const { show: showFind } = useFindMode();
- const { show: showError } = useErrorMessage();
- const { show: showInfo } = useInfoMessage();
-
- React.useEffect(() => {
- const onMessage = async (message: any): Promise<any> => {
- const msg = messages.valueOf(message);
- switch (msg.type) {
- case messages.CONSOLE_SHOW_COMMAND:
- showCommand(msg.command);
- break;
- case messages.CONSOLE_SHOW_FIND:
- showFind();
- break;
- case messages.CONSOLE_SHOW_ERROR:
- showError(msg.text);
- break;
- case messages.CONSOLE_SHOW_INFO:
- showInfo(msg.text);
- break;
- case messages.CONSOLE_HIDE:
- hide();
- break;
- }
- };
-
- browser.runtime.onMessage.addListener(onMessage);
- const port = browser.runtime.connect(undefined, {
- name: "vimvixen-console",
- });
- port.onMessage.addListener(onMessage);
- }, []);
-
- return <Console />;
-};
-
-const App: React.FC = () => (
- <AppProvider>
- <ColorSchemeProvider>
- <RootComponent />
- </ColorSchemeProvider>
- </AppProvider>
-);
+import App from "./App";
+import "./index.css";
window.addEventListener("DOMContentLoaded", () => {
const wrapper = document.getElementById("vimvixen-console");
- ReactDOM.render(<App />, wrapper);
+ ReactDOM.render(
+ <React.StrictMode>
+ <AppProvider>
+ <ColorSchemeProvider>
+ <App />
+ </ColorSchemeProvider>
+ </AppProvider>
+ </React.StrictMode>,
+ wrapper
+ );
});