w-aura/src/store/status.ts
2023-06-19 15:58:36 +03:00

25 lines
684 B
TypeScript

import { createSlice, createSelector } from '@reduxjs/toolkit'
import type { PayloadAction } from '@reduxjs/toolkit'
import type { UserStatus } from '../types'
const initialState = 'lead' as UserStatus
const userStatusSlice = createSlice({
name: 'status',
initialState,
reducers: {
update(state, action: PayloadAction<UserStatus>) {
state = action.payload
return state
},
},
extraReducers: (builder) => builder.addCase('reset', () => initialState)
})
export const { actions } = userStatusSlice
export const selectStatus = createSelector(
(state: { status: UserStatus }) => state.status,
(status) => status
)
export default userStatusSlice.reducer