-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathui-entry.tsx
53 lines (46 loc) · 1.64 KB
/
ui-entry.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { createAsyncStoragePersister } from "@tanstack/query-async-storage-persister";
import { QueryClient } from "@tanstack/query-core";
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import "./css/main.css";
import { eip6963AnnounceCrossExtensionMetaMaskProvider } from "./ethereum/eip6963AnnounceCrossExtensionMetaMaskProvider";
import { log } from "./logging";
import { customiseTanstackQueryFocusManager } from "./tanstack-query";
import { App } from "./ui/App";
import { ExtensionAsyncStorage } from "./ui/state/ExtensionAsyncStorage";
import { createVaultonomyStore } from "./ui/state/createVaultonomyStore";
import { browser } from "./webextension";
// TODO: check if we actually benefit from this outside the dev server.
customiseTanstackQueryFocusManager();
eip6963AnnounceCrossExtensionMetaMaskProvider()
.then((result) =>
log.debug(
`eip6963AnnounceCrossExtensionMetaMaskProvider: ${result.result}`,
),
)
.catch((error) =>
log.error("Failed to detect/announce cross-extension MetaMask", error),
);
const vaultonomyStore = createVaultonomyStore();
const queryClient = new QueryClient({
defaultOptions: {
queries: {
gcTime: 1000 * 60 * 60 * 24, // 24 hours
},
},
});
const extensionStoragePersister = createAsyncStoragePersister({
storage: new ExtensionAsyncStorage(browser.storage.session),
});
const el = document.createElement("div");
document.body.append(el);
const root = createRoot(el);
root.render(
<StrictMode>
<App
queryClient={queryClient}
queryClientPersister={extensionStoragePersister}
vaultonomyStore={vaultonomyStore}
/>
</StrictMode>,
);