chore: rename action creators to remove "AC"

This commit is contained in:
2024-08-17 19:24:45 +02:00
parent 0fab9d4e0a
commit 7b88633fba
11 changed files with 102 additions and 110 deletions

View File

@@ -1,6 +1,6 @@
import { createSlice, PayloadAction } from '@reduxjs/toolkit'
import { todolistsAPI, TodolistType } from 'api/todolists-api'
import { RequestStatusType, setAppStatusAC } from 'app/app-reducer'
import { RequestStatusType, setAppStatus } from 'app/app-reducer'
import { AppThunk } from 'app/store'
import { handleServerNetworkError } from 'utils/error-utils'
@@ -16,16 +16,16 @@ const todolistsSlice = createSlice({
name: 'todolists',
initialState,
reducers: {
removeTodolistAC(state, action: PayloadAction<string>) {
removeTodolist(state, action: PayloadAction<string>) {
return state.filter((tl) => tl.id != action.payload)
},
addTodolistAC(state, action: PayloadAction<TodolistType>) {
addTodolist(state, action: PayloadAction<TodolistType>) {
return [
{ ...action.payload, filter: 'all', entityStatus: 'idle' },
...state,
]
},
changeTodolistTitleAC(
changeTodolistTitle(
state,
action: PayloadAction<{
id: string
@@ -38,7 +38,7 @@ const todolistsSlice = createSlice({
: tl
)
},
changeTodolistFilterAC(
changeTodolistFilter(
state,
action: PayloadAction<{
id: string
@@ -51,7 +51,7 @@ const todolistsSlice = createSlice({
: tl
)
},
changeTodolistEntityStatusAC(
changeTodolistEntityStatus(
state,
action: PayloadAction<{
id: string
@@ -64,7 +64,7 @@ const todolistsSlice = createSlice({
: tl
)
},
setTodolistsAC(state, action: PayloadAction<Array<TodolistType>>) {
setTodolists(state, action: PayloadAction<Array<TodolistType>>) {
return action.payload.map((tl) => ({
...tl,
filter: 'all',
@@ -75,24 +75,24 @@ const todolistsSlice = createSlice({
})
export const {
changeTodolistEntityStatusAC,
changeTodolistFilterAC,
changeTodolistTitleAC,
addTodolistAC,
removeTodolistAC,
setTodolistsAC,
changeTodolistEntityStatus,
changeTodolistFilter,
changeTodolistTitle,
addTodolist,
removeTodolist,
setTodolists,
} = todolistsSlice.actions
export const todolistsReducer = todolistsSlice.reducer
export const fetchTodolistsTC = (): AppThunk => {
return (dispatch) => {
dispatch(setAppStatusAC('loading'))
dispatch(setAppStatus('loading'))
todolistsAPI
.getTodolists()
.then((res) => {
dispatch(setTodolistsAC(res.data))
dispatch(setAppStatusAC('succeeded'))
dispatch(setTodolists(res.data))
dispatch(setAppStatus('succeeded'))
})
.catch((error) => {
handleServerNetworkError(error, dispatch)
@@ -102,31 +102,29 @@ export const fetchTodolistsTC = (): AppThunk => {
export const removeTodolistTC = (todolistId: string): AppThunk => {
return (dispatch) => {
//изменим глобальный статус приложения, чтобы вверху полоса побежала
dispatch(setAppStatusAC('loading'))
dispatch(setAppStatus('loading'))
//изменим статус конкретного тудулиста, чтобы он мог задизеблить что надо
dispatch(
changeTodolistEntityStatusAC({ id: todolistId, status: 'loading' })
)
dispatch(changeTodolistEntityStatus({ id: todolistId, status: 'loading' }))
todolistsAPI.deleteTodolist(todolistId).then((res) => {
dispatch(removeTodolistAC(todolistId))
dispatch(removeTodolist(todolistId))
//скажем глобально приложению, что асинхронная операция завершена
dispatch(setAppStatusAC('succeeded'))
dispatch(setAppStatus('succeeded'))
})
}
}
export const addTodolistTC = (title: string): AppThunk => {
return (dispatch) => {
dispatch(setAppStatusAC('loading'))
dispatch(setAppStatus('loading'))
todolistsAPI.createTodolist(title).then((res) => {
dispatch(addTodolistAC(res.data.data.item))
dispatch(setAppStatusAC('succeeded'))
dispatch(addTodolist(res.data.data.item))
dispatch(setAppStatus('succeeded'))
})
}
}
export const changeTodolistTitleTC = (id: string, title: string): AppThunk => {
return (dispatch) => {
todolistsAPI.updateTodolist(id, title).then((res) => {
dispatch(changeTodolistTitleAC({ id: id, title: title }))
dispatch(changeTodolistTitle({ id: id, title: title }))
})
}
}