import { createSlice } from '@reduxjs/toolkit'; import type { PayloadAction } from '@reduxjs/toolkit'; import type { RootState } from '../store'; import type { Guest } from './apiSlice'; type AuthState = { guest?: Guest; token?: string; }; const authSlice = createSlice({ name: 'auth', initialState: { guest: undefined, token: undefined } as AuthState, reducers: { setCredentials: ( state, { payload: { guest, token }, }: PayloadAction<{ guest: Guest; token: string }> ) => { state.guest = guest; state.token = token; }, }, }); export const { setCredentials } = authSlice.actions; export default authSlice.reducer; export const selectCurrentGuest = (state: RootState) => state.auth.guest;