36 lines
949 B
TypeScript
36 lines
949 B
TypeScript
import { IRPTTimeProject } from '@/types/reporting/reporting.types';
|
|
import { createSlice } from '@reduxjs/toolkit';
|
|
|
|
interface timeLogState {
|
|
isTimeLogDrawerOpen: boolean;
|
|
selectedLabel: IRPTTimeProject | null;
|
|
}
|
|
|
|
const initialState: timeLogState = {
|
|
isTimeLogDrawerOpen: false,
|
|
selectedLabel: null,
|
|
};
|
|
|
|
const timeLogSlice = createSlice({
|
|
name: 'timeLogReducer',
|
|
initialState,
|
|
reducers: {
|
|
toggleTimeLogDrawer: state => {
|
|
state.isTimeLogDrawerOpen
|
|
? (state.isTimeLogDrawerOpen = false)
|
|
: (state.isTimeLogDrawerOpen = true);
|
|
},
|
|
setSelectedLabel(state, action) {
|
|
state.selectedLabel = action.payload;
|
|
},
|
|
setLabelAndToggleDrawer(state, action) {
|
|
state.selectedLabel = action.payload;
|
|
state.isTimeLogDrawerOpen = true;
|
|
},
|
|
},
|
|
});
|
|
|
|
export const { toggleTimeLogDrawer, setSelectedLabel, setLabelAndToggleDrawer } =
|
|
timeLogSlice.actions;
|
|
export default timeLogSlice.reducer;
|