UNPKG

create-nova-vite-template

Version:

This is a dashboard template built with React and Vite. It provides a modern and responsive user interface for building web applications.

36 lines (31 loc) 880 B
import { createSlice, PayloadAction } from "@reduxjs/toolkit"; import { User } from "@/src/apis/types/auth"; interface IAuthState { token?: string | null; userData?: User | null; } const initialState: IAuthState = { token: localStorage.getItem("token") || null, userData: null, }; export const authSlice = createSlice({ name: "auth", initialState, reducers: { login: (state, action: PayloadAction<string>) => ({ ...state, token: action.payload, }), setUserInfo: (state, action: PayloadAction<User>) => ({ ...state, userData: action.payload, }), logout: () => ({ token: null, userData: null, }), }, }); // Action creators are generated for each case reducer function export const { login, setUserInfo, logout } = authSlice.actions; export default authSlice.reducer;