Skip to content

Commit a80ff32

Browse files
Set get cookie
1 parent c051bc8 commit a80ff32

File tree

6 files changed

+46
-3
lines changed

6 files changed

+46
-3
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"babel-plugin-transform-remove-console": "^6.9.4",
1010
"customize-cra": "^0.9.1",
1111
"hookrouter": "^1.2.3",
12+
"js-cookie": "^2.2.1",
1213
"node-sass": "^4.13.0",
1314
"react": "^16.12.0",
1415
"react-app-rewired": "^2.1.5",

src/constants/configs.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const projectEnv = 'local';
2+
// const projectEnv = 'dev';
3+
// const projectEnv = 'stg';
4+
// const projectEnv = 'prod';
5+
6+
let domain;
7+
8+
switch (projectEnv) {
9+
case 'dev':
10+
domain = 'your-dev-domain';
11+
break;
12+
case 'stg':
13+
domain = 'your-stg-domain';
14+
break;
15+
case 'prod':
16+
domain = 'your-prod-domain';
17+
break;
18+
default:
19+
domain = 'localhost'; // local
20+
break;
21+
}
22+
23+
export default {
24+
domain
25+
};

src/constants/cookies.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const LANGUAGE_TRANS = 'language_trans';

src/store/configureStore.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { applyMiddleware, createStore } from 'redux';
1+
import { applyMiddleware, createStore, compose } from 'redux';
22
import { composeWithDevTools } from 'redux-devtools-extension'
33
import thunkMiddleware from 'redux-thunk';
44
import combineReducers from './combineReducers';
@@ -21,7 +21,12 @@ const configureStore = preloadedState => {
2121

2222
const middlewareEnhancer = applyMiddleware(...middlewares);
2323
const enhancers = [middlewareEnhancer];
24-
const composedEnhancers = composeWithDevTools(...enhancers);
24+
25+
let composedEnhancers = compose(...enhancers);
26+
if (process.env.NODE_ENV === 'development') {
27+
composedEnhancers = composeWithDevTools(...enhancers);
28+
}
29+
2530
return createStore(combineReducers, preloadedState, composedEnhancers);
2631
};
2732

src/system/systemReducer.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1+
import Cookie from 'js-cookie';
12
import { systemActions } from '../constants/actionTypes';
3+
import { LANGUAGE_TRANS } from '../constants/cookies';
4+
import Config from '../constants/configs';
25

36
const initialState = {
4-
languageTrans: 'en'
7+
languageTrans: Cookie.get(LANGUAGE_TRANS) || 'en'
58
};
69

710
const systemReducer = (state = initialState, action) => {
811
switch (action.type) {
912
case systemActions.CHANGE_LANGUAGE:
13+
if (action.data) {
14+
Cookie.set(LANGUAGE_TRANS, action.data, { domain: Config.domain });
15+
}
1016
return {
1117
...state,
1218
languageTrans: action.data

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6044,6 +6044,11 @@ js-base64@^2.1.8:
60446044
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121"
60456045
integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==
60466046

6047+
js-cookie@^2.2.1:
6048+
version "2.2.1"
6049+
resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
6050+
integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
6051+
60476052
js-levenshtein@^1.1.3:
60486053
version "1.1.6"
60496054
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"

0 commit comments

Comments
 (0)