video-flow-b/lib/store/creationTemplateSlice.ts
2025-10-21 21:50:49 +08:00

30 lines
741 B
TypeScript

import { createSlice, PayloadAction } from '@reduxjs/toolkit';
interface CreationTemplateState {
/** The selected template id to be applied by the creation form */
selectedTemplateId: string | null;
}
const initialState: CreationTemplateState = {
selectedTemplateId: null,
};
export const creationTemplateSlice = createSlice({
name: 'creationTemplate',
initialState,
reducers: {
selectTemplateById: (state, action: PayloadAction<string>) => {
state.selectedTemplateId = action.payload;
},
clearSelection: (state) => {
state.selectedTemplateId = null;
},
},
});
export const { selectTemplateById, clearSelection } = creationTemplateSlice.actions;
export default creationTemplateSlice.reducer;