Sha256: d526ff6cdb088e42ad4adcfe4c2c7075c39d184326a912ed3cf4140033ab6491
Contents?: true
Size: 1014 Bytes
Versions: 6
Compression:
Stored size: 1014 Bytes
Contents
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit' import { usersService } from '@/services/users-service' import { toast } from 'react-toastify' const validateCurrentUser = createAsyncThunk( 'user/current-user', async (_, { rejectWithValue }) => { try { const response = await usersService.currentUser() return response } catch ({ response }) { throw rejectWithValue(response.data) } } ) const initialState = { isLogged: false } export const userSlice = createSlice({ name: 'user', initialState, reducers: {}, extraReducers: (builder) => { builder.addCase(validateCurrentUser.fulfilled, (state, action) => { state.isLogged = true }) builder.addCase(validateCurrentUser.rejected, (state, action) => { state.isLogged = false toast.error(action.payload.error) }) } }) // export const { increment, decrement, incrementByAmount } = userSlice.actions export { validateCurrentUser } export default userSlice.reducer
Version data entries
6 entries across 6 versions & 1 rubygems