← ClaudeAtlas

statelisted

regRedux dynamic slice registration, appActions, themeActions, viewActions, confirmation modal, toast system, theme system, and utility helpers for Kinetic front-end portals.
kineticdata/kinetic-platform-ai-skills · ★ 0 · Web & Frontend · score 60
Install: claude install-skill kineticdata/kinetic-platform-ai-skills
# State Management ## `regRedux` — Dynamic Slice Registration `regRedux` registers a named Redux slice at runtime and returns dispatch-wrapped action functions. No `useDispatch` needed — actions can be called anywhere. ```js // portal/src/redux.js import { configureStore, combineSlices, createSlice } from '@reduxjs/toolkit'; const init = createSlice({ name: 'init', initialState: false, reducers: { regRedux: () => true } }); const rootReducer = combineSlices(init); export const store = configureStore({ reducer: rootReducer, middleware: getDefaultMiddleware => getDefaultMiddleware({ serializableCheck: { ignoredActions: ['view/handleResize', 'confirm/open'], ignoredPaths: ['confirm.options.accept', 'confirm.options.cancel'], }, }), }); export const regRedux = (name, initialState, reducers) => { const slice = createSlice({ name, initialState, reducers: Object.fromEntries( Object.entries(reducers).map(([k, v]) => [ k, (state, { payload }) => v(state, payload), ]), ), }); rootReducer.inject(slice, { overrideExisting: true }); store.dispatch(init.actions.regRedux()); return Object.fromEntries( Object.entries(slice.actions).map(([k, v]) => [ k, (...args) => store.dispatch(v(...args)), ]), ); }; ``` **Usage:** ```js // Register a slice and get back callable action functions export const myActions = regRedux('myFeature', { count: 0 }, { increment(state, amount) { state.count +=