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.
34 lines (27 loc) • 931 B
text/typescript
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import { Board } from '@scrabble-solver/types';
import { solveInitialState } from './solveInitialState';
interface SolveParameters {
board: Board;
characters: string[];
}
export const solveSlice = createSlice({
initialState: solveInitialState,
name: 'solve',
reducers: {
reset: () => solveInitialState,
submit: (state) => {
const error = solveInitialState.error;
return { ...state, error, isLoading: true };
},
submitFailure: (state, action: PayloadAction<unknown>) => {
const error = action.payload;
return { ...state, error, isLoading: false };
},
submitSuccess: (state, action: PayloadAction<SolveParameters>) => {
const error = solveInitialState.error;
const lastSolvedParameters = action.payload;
return { ...state, error, isLoading: false, lastSolvedParameters };
},
},
});