scrabble-solver
Version:
Scrabble Solver 2 - Free, open-source, cross-platform, multi-language analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Literaki, and Kelimelik. Quickly find the top-scoring words using the given board and tiles.
35 lines (28 loc) • 1.13 kB
text/typescript
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import { WordDefinition } from '@scrabble-solver/types';
import { dictionaryInitialState } from './dictionaryInitialState';
export const dictionarySlice = createSlice({
initialState: dictionaryInitialState,
name: 'dictionary',
reducers: {
changeInput: (state, action: PayloadAction<string>) => {
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<unknown>) => {
const error = action.payload;
const results = dictionaryInitialState.results;
return { ...state, error, isLoading: false, results };
},
submitSuccess: (state, action: PayloadAction<WordDefinition[]>) => {
const error = dictionaryInitialState.error;
const results = action.payload;
return { ...state, error, isLoading: false, results };
},
},
});