import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; import { type WordDefinition } from '@scrabble-solver/types'; import { dictionaryInitialState } from './initialState'; export const dictionarySlice = createSlice({ initialState: dictionaryInitialState, name: 'dictionary', reducers: { changeInput: (state, action: PayloadAction) => { return { ...state, input: action.payload }; }, reset: () => dictionaryInitialState, submit: (state) => { const error = dictionaryInitialState.error; const results = dictionaryInitialState.results; return { ...state, error, isLoading: true, results }; }, submitFailure: (state, action: PayloadAction) => { const error = action.payload; const results = dictionaryInitialState.results; return { ...state, error, isLoading: false, results }; }, submitSuccess: (state, action: PayloadAction) => { const error = dictionaryInitialState.error; const results = action.payload; return { ...state, error, isLoading: false, results }; }, }, });