import { createSlice, PayloadAction } from '@reduxjs/toolkit' export interface LabelsState { [key: string]: string } const initialState: LabelsState = {} export const labelsSlice = createSlice({ name: 'labels', initialState, reducers: { setLabels: (_, action: PayloadAction) => { return Object.fromEntries( Object.entries(action.payload).filter(([_, value]) => value) ) }, updateLabels: (state, action: PayloadAction) => { const draft = Object.fromEntries( Object.entries(action.payload).filter(([, value]) => value) ) return { ...state, ...draft } }, }, }) export const { updateLabels, setLabels } = labelsSlice.actions export default labelsSlice.reducer