aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2018-10-04 05:28:07 +0800
committerfragosti <francesco.agosti93@gmail.com>2018-10-04 05:28:07 +0800
commit15f20cc18e45d2971be7274bc3c0be36b02091c8 (patch)
tree470ed51e0d5e50fbb89045803c8b3c0d79413658 /packages/instant/src
parent700b7068a157a0f9d3d6ce3f61150c2961d81617 (diff)
downloaddexon-0x-contracts-15f20cc18e45d2971be7274bc3c0be36b02091c8.tar.gz
dexon-0x-contracts-15f20cc18e45d2971be7274bc3c0be36b02091c8.tar.zst
dexon-0x-contracts-15f20cc18e45d2971be7274bc3c0be36b02091c8.zip
Add redux to 0x instant
Diffstat (limited to 'packages/instant/src')
-rw-r--r--packages/instant/src/components/zero_ex_instant.tsx12
-rw-r--r--packages/instant/src/redux/reducer.ts23
-rw-r--r--packages/instant/src/redux/store.ts8
-rw-r--r--packages/instant/src/types.ts8
4 files changed, 47 insertions, 4 deletions
diff --git a/packages/instant/src/components/zero_ex_instant.tsx b/packages/instant/src/components/zero_ex_instant.tsx
index 43398cf3b..9ba390be9 100644
--- a/packages/instant/src/components/zero_ex_instant.tsx
+++ b/packages/instant/src/components/zero_ex_instant.tsx
@@ -1,11 +1,15 @@
import * as React from 'react';
+import { Provider } from 'react-redux';
-import { ThemeProvider } from '../style/theme';
+import { store } from '../redux/store';
+import { theme, ThemeProvider } from '../style/theme';
export interface ZeroExInstantProps {}
export const ZeroExInstant: React.StatelessComponent<ZeroExInstantProps> = () => (
- <ThemeProvider>
- <div> ZeroExInstant </div>
- </ThemeProvider>
+ <Provider store={store}>
+ <ThemeProvider theme={theme}>
+ <div> ZeroExInstant </div>
+ </ThemeProvider>
+ </Provider>
);
diff --git a/packages/instant/src/redux/reducer.ts b/packages/instant/src/redux/reducer.ts
new file mode 100644
index 000000000..7efe8aeb0
--- /dev/null
+++ b/packages/instant/src/redux/reducer.ts
@@ -0,0 +1,23 @@
+import * as _ from 'lodash';
+
+import { Action, ActionTypes } from '../types';
+
+export interface State {
+ ethUsdPrice?: string;
+}
+
+export const INITIAL_STATE: State = {
+ ethUsdPrice: undefined,
+};
+
+export function reducer(state: State = INITIAL_STATE, action: Action): State {
+ switch (action.type) {
+ case ActionTypes.UPDATE_ETH_USD_PRICE:
+ return {
+ ...state,
+ ethUsdPrice: action.data,
+ };
+ default:
+ return state;
+ }
+}
diff --git a/packages/instant/src/redux/store.ts b/packages/instant/src/redux/store.ts
new file mode 100644
index 000000000..4d80c0383
--- /dev/null
+++ b/packages/instant/src/redux/store.ts
@@ -0,0 +1,8 @@
+import * as _ from 'lodash';
+import { applyMiddleware, createStore, Store as ReduxStore } from 'redux';
+
+import { reducer, State } from './reducer';
+
+const ONE_SECOND = 1000;
+
+export const store: ReduxStore<State> = createStore(reducer);
diff --git a/packages/instant/src/types.ts b/packages/instant/src/types.ts
new file mode 100644
index 000000000..3ba5a9b94
--- /dev/null
+++ b/packages/instant/src/types.ts
@@ -0,0 +1,8 @@
+export enum ActionTypes {
+ UPDATE_ETH_USD_PRICE,
+}
+
+export interface Action {
+ type: ActionTypes;
+ data?: any;
+}