From 15f20cc18e45d2971be7274bc3c0be36b02091c8 Mon Sep 17 00:00:00 2001 From: fragosti Date: Wed, 3 Oct 2018 14:28:07 -0700 Subject: Add redux to 0x instant --- .../instant/src/components/zero_ex_instant.tsx | 12 +++++++---- packages/instant/src/redux/reducer.ts | 23 ++++++++++++++++++++++ packages/instant/src/redux/store.ts | 8 ++++++++ packages/instant/src/types.ts | 8 ++++++++ 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 packages/instant/src/redux/reducer.ts create mode 100644 packages/instant/src/redux/store.ts create mode 100644 packages/instant/src/types.ts (limited to 'packages/instant/src') 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 = () => ( - -
ZeroExInstant
-
+ + +
ZeroExInstant
+
+
); 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 = 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; +} -- cgit