aboutsummaryrefslogtreecommitdiffstats
path: root/webui/src/index.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'webui/src/index.tsx')
-rw-r--r--webui/src/index.tsx38
1 files changed, 38 insertions, 0 deletions
diff --git a/webui/src/index.tsx b/webui/src/index.tsx
new file mode 100644
index 00000000..c64daf0c
--- /dev/null
+++ b/webui/src/index.tsx
@@ -0,0 +1,38 @@
+import { createMuiTheme } from '@material-ui/core/styles';
+import ThemeProvider from '@material-ui/styles/ThemeProvider';
+import ApolloClient from 'apollo-boost';
+import {
+ IntrospectionFragmentMatcher,
+ InMemoryCache,
+} from 'apollo-cache-inmemory';
+import React from 'react';
+import { ApolloProvider } from 'react-apollo';
+import ReactDOM from 'react-dom';
+import { BrowserRouter } from 'react-router-dom';
+
+import App from './App';
+import introspectionQueryResultData from './fragmentTypes';
+
+const theme = createMuiTheme();
+
+const client = new ApolloClient({
+ uri: '/graphql',
+ cache: new InMemoryCache({
+ fragmentMatcher: new IntrospectionFragmentMatcher({
+ introspectionQueryResultData,
+ }),
+ }),
+});
+
+ReactDOM.render(
+ <ApolloProvider client={client}>
+ <BrowserRouter>
+ <ThemeProvider theme={theme}>
+ <React.Suspense fallback={'Loading…'}>
+ <App />
+ </React.Suspense>
+ </ThemeProvider>
+ </BrowserRouter>
+ </ApolloProvider>,
+ document.getElementById('root')
+);