| 12345678910111213141516171819202122232425262728293031 |
- import { createSlice } from "@reduxjs/toolkit";
- import { createSelector } from "reselect";
-
- const authSlice = createSlice({
- name: "auth",
- initialState: { user: null, token: null },
- reducers: {
- setCredentials: (state, action) => {
- const { user, jwt, refreshToken } = action.payload;
- state.user = user;
- state.token = { jwt, refreshToken };
- },
- logOut: (state) => {
- state.user = null;
- state.token = null;
- },
- },
- });
-
- export const { setCredentials, logOut } = authSlice.actions;
- export default authSlice.reducer;
-
- export const authSelector = (state) => state.auth;
- export const selectCurrentUser = createSelector(
- authSelector,
- (state) => state.user
- );
- export const selectCurrentToken = createSelector(
- authSelector,
- (state) => state.token
- );
|