import { TUser } from '@/services/types/auth.types';
import { createSlice, PayloadAction } from '@reduxjs/toolkit';

const initialState: {
  user: TUser | null;
  isAuthenticated: boolean;
} = {
  user: null,
  isAuthenticated: false,
};

const authSlice = createSlice({
  name: 'auth',
  initialState,
  reducers: {
    setUser(state, action: PayloadAction<TUser>) {
      state.user = action.payload;
      state.isAuthenticated = true;
    },
    logout(state) {
      state.user = null;
      state.isAuthenticated = false;
    },
  },
});

export const { setUser, logout } = authSlice.actions;
export default authSlice.reducer;
