Files
Ivan Vasilov 436bdb10ae chore: Move the studio app to apps/studio (#18915)
* Move all studio files from /studio to /apps/studio.

* Move studio specific prettier ignores.

* Fix the ui references from studio.

* Fix the css imports.

* Fix all package.json issues.

* Fix the prettier setup for the studio app.

* Add .turbo folder to prettierignore.

* Fix the github workflows.
2023-11-15 12:38:55 +01:00

28 lines
750 B
TypeScript

import { useReducer } from 'react'
import { createContainer } from 'react-tracked'
import {
BaseReducer,
CallbackReducer,
ColumnReducer,
RowReducer,
initialState,
InitialStateType,
} from './reducers'
const combineReducers =
(...reducers: Function[]) =>
(state: any = initialState, action: any): any => {
for (let i = 0; i < reducers.length; i++) state = reducers[i](state, action)
return state
}
const storeReducers = combineReducers(BaseReducer, CallbackReducer, ColumnReducer, RowReducer)
const useValue = () => useReducer(storeReducers, initialState)
export const {
Provider: StoreProvider,
useTrackedState,
useUpdate: useDispatch,
} = createContainer<InitialStateType, React.Dispatch<any>, unknown>(useValue)