@@ -20,6 +20,9 @@ import light from '@tlon/indigo-light';
21import WithErrorBoundary from 'components/WithErrorBoundary';
21import WithErrorBoundary from 'components/WithErrorBoundary';
22import GlobalErrorBoundary from 'components/GlobalErrorBoundary';
22import GlobalErrorBoundary from 'components/GlobalErrorBoundary';
23+import { useBrowser } from 'lib/useBrowser';
24+import { BrowserWarning } from 'components/BrowserWarning';
23import Modal from 'components/L2/Modal';
26import Modal from 'components/L2/Modal';
24import { useRollerStore } from 'store/rollerStore';
27import { useRollerStore } from 'store/rollerStore';
25import { Box } from '@tlon/indigo-react';
28import { Box } from '@tlon/indigo-react';
@@ -29,8 +32,8 @@ import { useRollerPoller } from 'lib/useRollerPoller';
29const INITIAL_NETWORK_TYPE = isGoerli
32const INITIAL_NETWORK_TYPE = isGoerli
30 ? NETWORK_TYPES.GOERLI
33 ? NETWORK_TYPES.GOERLI
31 : isDevelopment && !isMainnet
34 : isDevelopment && !isMainnet
32− ? NETWORK_TYPES.LOCAL
35+ ? NETWORK_TYPES.LOCAL
33− : NETWORK_TYPES.MAINNET;
36+ : NETWORK_TYPES.MAINNET;
35// NB(shrugs): modify these variables to change the default local state.
38// NB(shrugs): modify these variables to change the default local state.
36const SHOULD_STUB_LOCAL = import.meta.env.VITE_STUB_LOCAL === 'true';
39const SHOULD_STUB_LOCAL = import.meta.env.VITE_STUB_LOCAL === 'true';
@@ -38,9 +41,9 @@ const IS_STUBBED = isDevelopment && SHOULD_STUB_LOCAL;
39const INITIAL_WALLET = IS_STUBBED
42const INITIAL_WALLET = IS_STUBBED
40 ? walletFromMnemonic(
43 ? walletFromMnemonic(
41− import.meta.env.VITE_DEV_MNEMONIC as string,
44+ import.meta.env.VITE_DEV_MNEMONIC as string,
42− import.meta.env.VITE_HD_PATH as string
45+ import.meta.env.VITE_HD_PATH as string
44 : undefined;
47 : undefined;
45const INITIAL_MNEMONIC = IS_STUBBED
48const INITIAL_MNEMONIC = IS_STUBBED
46 ? Just(import.meta.env.VITE_DEV_MNEMONIC)
49 ? Just(import.meta.env.VITE_DEV_MNEMONIC)
@@ -82,6 +85,9 @@ function Bridge() {
82 const initialRoutes = useInitialRoutes();
85 const initialRoutes = useInitialRoutes();
83 const { loading, modalText, setModalText } = useRollerStore();
86 const { loading, modalText, setModalText } = useRollerStore();
88+ const browser = useBrowser();
89+ const showBrowserWarning = browser && !browser.isChromium;
85 // full reload if the user changes their selected network in Metamask
91 // full reload if the user changes their selected network in Metamask
87 useEffect(() => {
93 useEffect(() => {
@@ -103,6 +109,7 @@ function Bridge() {
103 initialWallet={INITIAL_WALLET}
109 initialWallet={INITIAL_WALLET}
104 initialMnemonic={INITIAL_MNEMONIC}
110 initialMnemonic={INITIAL_MNEMONIC}
105 initialPointCursor={INITIAL_POINT_CURSOR}>
111 initialPointCursor={INITIAL_POINT_CURSOR}>
112+ <BrowserWarning show={!!showBrowserWarning} />
106 <IndigoApp>
113 <IndigoApp>
107 <ThemeProvider theme={light}>
114 <ThemeProvider theme={light}>
108 <Router />
115 <Router />