From 38a308ce5b15b83f41e2646e50c2bfa7584ca3ab Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Tue, 20 Feb 2018 19:52:28 -0800
Subject: Move translate to redux

---
 packages/website/ts/redux/dispatcher.ts |  7 +++++++
 packages/website/ts/redux/reducer.ts    | 10 ++++++++++
 2 files changed, 17 insertions(+)

(limited to 'packages/website/ts/redux')

diff --git a/packages/website/ts/redux/dispatcher.ts b/packages/website/ts/redux/dispatcher.ts
index 925f2aa29..5c40ded2c 100644
--- a/packages/website/ts/redux/dispatcher.ts
+++ b/packages/website/ts/redux/dispatcher.ts
@@ -6,6 +6,7 @@ import {
     ActionTypes,
     AssetToken,
     BlockchainErrs,
+    Language,
     Order,
     ProviderType,
     ScreenWidths,
@@ -211,4 +212,10 @@ export class Dispatcher {
             data: injectedProviderName,
         });
     }
+    public updateSelectedLanguage(language: Language) {
+        this._dispatch({
+            type: ActionTypes.UpdateSelectedLanguage,
+            data: language,
+        });
+    }
 }
diff --git a/packages/website/ts/redux/reducer.ts b/packages/website/ts/redux/reducer.ts
index c2a21dc07..3bb2d1a21 100644
--- a/packages/website/ts/redux/reducer.ts
+++ b/packages/website/ts/redux/reducer.ts
@@ -13,6 +13,7 @@ import {
     SideToAssetToken,
     TokenByAddress,
 } from 'ts/types';
+import { Translate } from 'ts/utils/translate';
 import { utils } from 'ts/utils/utils';
 
 // Instead of defaulting the docs version to an empty string, we pre-populate it with
@@ -49,6 +50,7 @@ export interface State {
     flashMessage: string | React.ReactNode;
     providerType: ProviderType;
     injectedProviderName: string;
+    translate: Translate;
 }
 
 const INITIAL_STATE: State = {
@@ -86,6 +88,7 @@ const INITIAL_STATE: State = {
     flashMessage: undefined,
     providerType: ProviderType.Injected,
     injectedProviderName: '',
+    translate: new Translate(),
 };
 
 export function reducer(state: State = INITIAL_STATE, action: Action) {
@@ -101,6 +104,13 @@ export function reducer(state: State = INITIAL_STATE, action: Action) {
             };
         }
 
+        case ActionTypes.UpdateSelectedLanguage: {
+            return {
+                ...state,
+                translate: new Translate(action.data),
+            };
+        }
+
         case ActionTypes.UpdateNodeVersion: {
             return {
                 ...state,
-- 
cgit v1.2.3


From e2d17d122e25feeabb1d5499065274ec6e30bd4f Mon Sep 17 00:00:00 2001
From: Fabio Berger <me@fabioberger.com>
Date: Wed, 21 Feb 2018 11:46:16 -0800
Subject: Keep topBar and footer language to the one picked by the user

---
 packages/website/ts/redux/reducer.ts | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

(limited to 'packages/website/ts/redux')

diff --git a/packages/website/ts/redux/reducer.ts b/packages/website/ts/redux/reducer.ts
index 3bb2d1a21..1f489db85 100644
--- a/packages/website/ts/redux/reducer.ts
+++ b/packages/website/ts/redux/reducer.ts
@@ -95,7 +95,10 @@ export function reducer(state: State = INITIAL_STATE, action: Action) {
     switch (action.type) {
         // Portal
         case ActionTypes.ResetState:
-            return INITIAL_STATE;
+            return {
+                ...INITIAL_STATE,
+                translate: state.translate,
+            };
 
         case ActionTypes.UpdateOrderSalt: {
             return {
-- 
cgit v1.2.3