Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@
"memoize-one": "^4.0.0",
"mobx": "^4.0.0",
"mobx-react": "^5.2.3",
"mobx-react-lite": "^1.3.2",
"mobx-state-tree": "^3.3.0",
"moment": "^2.18.1",
"monaco-editor-textmate": "^2.0.0",
Expand Down
24 changes: 15 additions & 9 deletions packages/app/src/app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
} from '@codesandbox/common/lib/utils/analytics';
import '@codesandbox/common/lib/global.css';

import { Signals, Store } from 'app/store';
import history from 'app/utils/history';
import { client } from 'app/graphql/client';
import registerServiceWorker from '@codesandbox/common/lib/registerServiceWorker';
Expand Down Expand Up @@ -119,16 +120,21 @@ function boot() {
});

try {
const { signals, store } = controller.provide();
render(
<Provider {...controller.provide()}>
<ApolloProvider client={client}>
<ThemeProvider theme={theme}>
<Router history={history}>
<App />
</Router>
</ThemeProvider>
</ApolloProvider>
</Provider>,
<Signals.Provider value={signals}>
<Store.Provider value={store}>
<Provider {...{ signals, store }}>
<ApolloProvider client={client}>
<ThemeProvider theme={theme}>
<Router history={history}>
<App />
</Router>
</ThemeProvider>
</ApolloProvider>
</Provider>
</Store.Provider>
</Signals.Provider>,
rootEl
);
} catch (e) {
Expand Down
9 changes: 8 additions & 1 deletion packages/app/src/app/store/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { Module } from 'cerebral';
import HttpProvider from '@cerebral/http';
import { Module } from 'cerebral';
import { createContext, useContext } from 'react';

import model from './model';
import ApiProvider from './providers/Api';
Expand Down Expand Up @@ -39,6 +40,12 @@ import live from './modules/live';
import dashboard from './modules/dashboard';
import userNotifications from './modules/user-notifications';

export const Signals = createContext();
export const Store = createContext();

export const useSignals = () => useContext(Signals);
export const useStore = () => useContext(Store);

export default Module({
model,
state: {
Expand Down
5 changes: 5 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -16740,6 +16740,11 @@ [email protected], [email protected], [email protected], "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdir
dependencies:
minimist "0.0.8"

mobx-react-lite@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-1.3.2.tgz#4366048b5d283d12a82053367638b5d79281951f"
integrity sha512-D8VZEsxSxMNYDJmw2SgUXVAgpOlVYmp3hBCusoe+LuBDYUqyn2K3RPrMEF0rIzYJAvqpyv7YRrH8I3eBsPPx1A==

mobx-react@^5.2.3:
version "5.4.3"
resolved "https://registry.yarnpkg.com/mobx-react/-/mobx-react-5.4.3.tgz#6709b7dd89670c40e9815914ac2ca49cc02bfb47"
Expand Down