Adding in changes

This commit is contained in:
Frank
2023-10-02 00:05:06 -06:00
parent 39d72a5cf3
commit d61a112753
30 changed files with 2825 additions and 156 deletions
+2
View File
@@ -0,0 +1,2 @@
export * from './store';
export * from './slices';
+10
View File
@@ -0,0 +1,10 @@
/* Core */
import { pagesApi } from '@/services/pages'
import { postsApi } from '@/services/posts'
const middleware = [
postsApi.middleware,
pagesApi.middleware,
]
export { middleware }
+7
View File
@@ -0,0 +1,7 @@
import { pagesApi } from "@/services/pages";
import { postsApi } from "@/services/posts";
export const reducer = {
[postsApi.reducerPath]: postsApi.reducer,
[pagesApi.reducerPath]: pagesApi.reducer,
};
+1
View File
@@ -0,0 +1 @@
export * from './selectors';
+4
View File
@@ -0,0 +1,4 @@
/* Instruments */
import type { ReduxState } from '@/lib/redux';
export const selectCount = (state: ReduxState) => state.counter.value;
+30
View File
@@ -0,0 +1,30 @@
/* Core */
import { configureStore, type ThunkAction, type Action } from "@reduxjs/toolkit";
import {
useSelector as useReduxSelector,
useDispatch as useReduxDispatch,
type TypedUseSelectorHook,
} from "react-redux";
import { createWrapper } from "next-redux-wrapper";
/* Instruments */
import { reducer } from './rootReducer';
import { middleware } from './middleware';
export const reduxStore = () => configureStore({
reducer,
middleware: (getDefaultMiddleware) => {
return getDefaultMiddleware().concat(middleware);
}
});
/* Types */
export type ReduxStore = ReturnType<typeof reduxStore>;
export type ReduxState = ReturnType<ReduxStore['getState']>;
export type ReduxDispatch = ReduxStore['dispatch'];
export type ReduxThunkAction<ReturnType = void> = ThunkAction<ReturnType, ReduxState, unknown, Action>;
export const useDispatch = () => useReduxDispatch<ReduxDispatch>();
export const useSelector: TypedUseSelectorHook<ReduxState> = useReduxSelector;
export const wrapper = createWrapper<ReduxStore>(reduxStore);