blob: 1a152635b96d0ca5f9de7377984645e797aa80a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import {createSlice, PayloadAction} from '@reduxjs/toolkit'
import type {RootState} from '@/store'
import {SoftPairBucket} from "@/api";
const initialState: SoftPairBucket[] = []
const bucketSlice = createSlice({
name: 'buckets',
initialState,
reducers: {
setBuckets(state, action: PayloadAction<SoftPairBucket[]>) {
return action.payload;
},
bucketAdded(state, action: PayloadAction<SoftPairBucket>) {
state.push(action.payload);
}
}
})
export const {setBuckets, bucketAdded} = bucketSlice.actions;
export default bucketSlice.reducer
export const selectBucketsStatus = (state: RootState) => state.buckets.status
export const selectBucketsError = (state: RootState) => state.buckets.error
export const selectAllBuckets = (state: RootState) => state.buckets
export const selectBucketById = (state: RootState, bucketId: string | null) =>
state.buckets.find(bucket => bucket.id === bucketId)
|