import { Event } from 'nostr-tools' import { combineReducers } from 'redux' import { UserAppData } from '../types' import * as ActionTypes from './actionTypes' import authReducer from './auth/reducer' import { AuthState } from './auth/types' import metadataReducer from './metadata/reducer' import relaysReducer from './relays/reducer' import { RelaysState } from './relays/types' import UserAppDataReducer from './userAppData/reducer' import userRobotImageReducer from './userRobotImage/reducer' export interface State { auth: AuthState metadata?: Event userRobotImage?: string relays: RelaysState userAppData?: UserAppData } export const appReducer = combineReducers({ auth: authReducer, metadata: metadataReducer, userRobotImage: userRobotImageReducer, relays: relaysReducer, userAppData: UserAppDataReducer }) // FIXME: define types export default (state: any, action: any) => { switch (action.type) { case ActionTypes.USER_LOGOUT: return appReducer(undefined, action) default: return appReducer(state, action) } }