From 98956a79adbb896b936075f6367b2243ce0129cb Mon Sep 17 00:00:00 2001 From: Arthi-chaud Date: Mon, 8 Aug 2022 12:10:44 +0200 Subject: [PATCH] Front: State Management: Add language Slice --- front/state/LanguageSlice.ts | 20 ++++++++++++++++++++ front/state/Store.ts | 2 ++ front/state/UserSlice.ts | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 front/state/LanguageSlice.ts diff --git a/front/state/LanguageSlice.ts b/front/state/LanguageSlice.ts new file mode 100644 index 0000000..4656ae8 --- /dev/null +++ b/front/state/LanguageSlice.ts @@ -0,0 +1,20 @@ +import { createSlice } from "@reduxjs/toolkit"; +import { DefaultLanguage } from "../i18n/i18n"; + + +export const languageSlice = createSlice({ + name: 'language', + initialState: { + value: DefaultLanguage + }, + reducers: { + useLanguage: (state, action) => { + state.value = action.payload; + }, + resetLanguage: (state) => { + state.value = DefaultLanguage; + }, + }, +}); +export const { useLanguage, resetLanguage } = languageSlice.actions; +export default languageSlice.reducer; \ No newline at end of file diff --git a/front/state/Store.ts b/front/state/Store.ts index 8641671..253f578 100644 --- a/front/state/Store.ts +++ b/front/state/Store.ts @@ -1,8 +1,10 @@ import userReducer from '../state/UserSlice'; import { configureStore } from '@reduxjs/toolkit'; +import languageReducer from './LanguageSlice'; export default configureStore({ reducer: { user: userReducer, + language: languageReducer }, }) \ No newline at end of file diff --git a/front/state/UserSlice.ts b/front/state/UserSlice.ts index 5aeb3ff..092d670 100644 --- a/front/state/UserSlice.ts +++ b/front/state/UserSlice.ts @@ -15,4 +15,4 @@ export const userSlice = createSlice({ }, }); export const { setUserToken, unsetUserToken } = userSlice.actions; -export default userSlice.reducer \ No newline at end of file +export default userSlice.reducer; \ No newline at end of file