src/reducers/SelectedRevisionsSlice.ts (25 lines of code) (raw):
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import { Changeset, SelectedRevisionsState } from '../types/state';
const initialState: SelectedRevisionsState = {
revisions: [],
baseCommittedRevisions: [],
newCommittedRevisions: [],
};
const selectedRevisions = createSlice({
name: 'selectedRevisions',
initialState,
reducers: {
//when the user presses the "Compare"
setSelectedRevisions(
state,
action: PayloadAction<{
selectedRevisions: Changeset[];
}>,
) {
state.revisions = action.payload.selectedRevisions;
state.baseCommittedRevisions = [action.payload.selectedRevisions[0]];
//returns array without first element
state.newCommittedRevisions = action.payload.selectedRevisions.slice(1);
},
},
});
export const { setSelectedRevisions } = selectedRevisions.actions;
export default selectedRevisions.reducer;