You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536
  1. import { setToken, setRefreshToken, authLoaded, logOut, setUsername, logInSuccess, setConnectionError } from "../actions/index";
  2. export default createReducer({
  3. token: null,
  4. refreshToken: null,
  5. username: "",
  6. logInSuccess: "",
  7. connectionError: "",
  8. isAuthLoadedFromStorage: false
  9. }, builder => {
  10. builder
  11. .addCase(setToken, (state, { payload }) => {
  12. state.token = payload
  13. })
  14. .addCase(setRefreshToken, (state, { payload }) => {
  15. state.refreshToken = payload
  16. })
  17. .addCase(authLoaded, (state) => {
  18. state.isAuthLoadedFromStorage = true
  19. })
  20. .addCase(logOut, (state) => {
  21. state.username = null;
  22. state.token = null;
  23. state.refreshToken = null;
  24. })
  25. .addCase(setUsername, (state, { payload }) => {
  26. state.username = payload
  27. })
  28. .addCase(logInSuccess, (state, { payload }) => {
  29. state.logInSuccess = payload
  30. })
  31. .addCase(setConnectionError, (state) => {
  32. state.connectionError = payload
  33. })
  34. })