import { combineReducers } from 'redux';

import * as routing from './routing';
import * as members from './member';
import * as blogs from './blog';
import * as banners from './banner';

// For Global State interface
export interface State {
	blogs: blogs.State;
	banners: banners.State;
	members: members.State;
	routing: routing.State;
}

export const defaultState: State = {
	blogs: blogs.defaultState,
	banners: banners.defaultState,
	members: members.defaultState,
	routing: routing.defaultState,
};

const reducers = combineReducers<State>({
	...routing.reducer,
	...members.reducer,
	...blogs.reducer,
	...banners.reducer,
});

export default reducers;
