Front: Pretty and Lint (#225)
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
||||
import { AvailableLanguages, DefaultLanguage } from "../i18n/i18n";
|
||||
|
||||
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
|
||||
import { AvailableLanguages, DefaultLanguage } from '../i18n/i18n';
|
||||
|
||||
export const languageSlice = createSlice({
|
||||
name: 'language',
|
||||
initialState: {
|
||||
value: DefaultLanguage
|
||||
value: DefaultLanguage,
|
||||
},
|
||||
reducers: {
|
||||
useLanguage: (state, action: PayloadAction<AvailableLanguages>) => {
|
||||
@@ -17,4 +16,4 @@ export const languageSlice = createSlice({
|
||||
},
|
||||
});
|
||||
export const { useLanguage, resetLanguage } = languageSlice.actions;
|
||||
export default languageSlice.reducer;
|
||||
export default languageSlice.reducer;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
||||
import LocalSettings from "../models/LocalSettings";
|
||||
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
|
||||
import LocalSettings from '../models/LocalSettings';
|
||||
|
||||
export const settingsSlice = createSlice({
|
||||
name: 'settings',
|
||||
@@ -12,14 +12,14 @@ export const settingsSlice = createSlice({
|
||||
difficulty: 'beg',
|
||||
colorBlind: false,
|
||||
customAds: true,
|
||||
dataCollection: true
|
||||
dataCollection: true,
|
||||
},
|
||||
},
|
||||
reducers: {
|
||||
updateSettings: (state, action: PayloadAction<Partial<LocalSettings>>) => {
|
||||
state.local = { ...state.local, ...action.payload };
|
||||
}
|
||||
}
|
||||
state.local = { ...state.local, ...action.payload };
|
||||
},
|
||||
},
|
||||
});
|
||||
export const { updateSettings } = settingsSlice.actions;
|
||||
export default settingsSlice.reducer;
|
||||
export default settingsSlice.reducer;
|
||||
|
||||
+32
-19
@@ -2,42 +2,55 @@ import userReducer from '../state/UserSlice';
|
||||
import settingsReduder from './SettingsSlice';
|
||||
import { StateFromReducersMapObject, configureStore } from '@reduxjs/toolkit';
|
||||
import languageReducer from './LanguageSlice';
|
||||
import { TypedUseSelectorHook, useDispatch as reduxDispatch, useSelector as reduxSelector } from 'react-redux'
|
||||
import { persistStore, persistCombineReducers, FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE } from "redux-persist";
|
||||
import {
|
||||
TypedUseSelectorHook,
|
||||
useDispatch as reduxDispatch,
|
||||
useSelector as reduxSelector,
|
||||
} from 'react-redux';
|
||||
import {
|
||||
persistStore,
|
||||
persistCombineReducers,
|
||||
FLUSH,
|
||||
PAUSE,
|
||||
PERSIST,
|
||||
PURGE,
|
||||
REGISTER,
|
||||
REHYDRATE,
|
||||
} from 'redux-persist';
|
||||
import AsyncStorage from '@react-native-async-storage/async-storage';
|
||||
import { CurriedGetDefaultMiddleware } from '@reduxjs/toolkit/dist/getDefaultMiddleware';
|
||||
import { PersistPartial } from 'redux-persist/es/persistReducer';
|
||||
|
||||
const persistConfig = {
|
||||
key: 'root',
|
||||
storage: AsyncStorage
|
||||
}
|
||||
storage: AsyncStorage,
|
||||
};
|
||||
const reducers = {
|
||||
user: userReducer,
|
||||
language: languageReducer,
|
||||
settings: settingsReduder
|
||||
}
|
||||
settings: settingsReduder,
|
||||
};
|
||||
|
||||
type State = StateFromReducersMapObject<typeof reducers>;
|
||||
|
||||
let store = configureStore({
|
||||
const store = configureStore({
|
||||
reducer: persistCombineReducers(persistConfig, reducers),
|
||||
middleware: (getDefaultMiddleware: CurriedGetDefaultMiddleware<State & PersistPartial>) =>
|
||||
getDefaultMiddleware({
|
||||
serializableCheck: {
|
||||
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
|
||||
},
|
||||
}),
|
||||
})
|
||||
let persistor = persistStore(store);
|
||||
getDefaultMiddleware({
|
||||
serializableCheck: {
|
||||
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
|
||||
},
|
||||
}),
|
||||
});
|
||||
const persistor = persistStore(store);
|
||||
|
||||
// Infer the `RootState` and `AppDispatch` types from the store itself
|
||||
export type RootState = ReturnType<typeof store.getState>
|
||||
export type RootState = ReturnType<typeof store.getState>;
|
||||
// Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState}
|
||||
export type AppDispatch = typeof store.dispatch;
|
||||
// Use throughout your app instead of plain `useDispatch` and `useSelector`
|
||||
export const useDispatch: () => AppDispatch = reduxDispatch
|
||||
export const useSelector: TypedUseSelectorHook<RootState> = reduxSelector
|
||||
export const useDispatch: () => AppDispatch = reduxDispatch;
|
||||
export const useSelector: TypedUseSelectorHook<RootState> = reduxSelector;
|
||||
|
||||
export default store
|
||||
export { persistor }
|
||||
export default store;
|
||||
export { persistor };
|
||||
|
||||
+13
-13
@@ -2,18 +2,18 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit';
|
||||
import { AccessToken } from '../API';
|
||||
|
||||
export const userSlice = createSlice({
|
||||
name: 'user',
|
||||
initialState: {
|
||||
accessToken: undefined as AccessToken | undefined
|
||||
},
|
||||
reducers: {
|
||||
setAccessToken: (state, action: PayloadAction<AccessToken>) => {
|
||||
state.accessToken = action.payload;
|
||||
},
|
||||
unsetAccessToken: (state) => {
|
||||
state.accessToken = undefined;
|
||||
},
|
||||
},
|
||||
name: 'user',
|
||||
initialState: {
|
||||
accessToken: undefined as AccessToken | undefined,
|
||||
},
|
||||
reducers: {
|
||||
setAccessToken: (state, action: PayloadAction<AccessToken>) => {
|
||||
state.accessToken = action.payload;
|
||||
},
|
||||
unsetAccessToken: (state) => {
|
||||
state.accessToken = undefined;
|
||||
},
|
||||
},
|
||||
});
|
||||
export const { setAccessToken, unsetAccessToken } = userSlice.actions;
|
||||
export default userSlice.reducer;
|
||||
export default userSlice.reducer;
|
||||
|
||||
Reference in New Issue
Block a user