import { createSlice, PayloadAction } from '@reduxjs/toolkit' import { v4 } from 'uuid' export interface MetadataState { id: string name: string description: string icon: string tags: string[] favourite: boolean } const initialState: MetadataState = { id: v4(), name: 'New Workflow', description: 'A new workflow description', icon: 'new-icon', tags: [], favourite: false, } export const metadataSlice = createSlice({ name: 'metadata', initialState, reducers: { setMetadata: (_, action: PayloadAction) => { const draft = { ...action.payload } return draft }, updateMetadata: (state, action: PayloadAction>) => { const draft = { ...state, ...action.payload } return draft }, }, }) // Action creators are generated for each case reducer function export const { setMetadata, updateMetadata } = metadataSlice.actions export default metadataSlice.reducer