import { TActionsShare } from '../actions/share'; import { SHARE } from '../actions/actionsTypes'; export interface IShareServer { server: string; version: string; } export type TShareSettings = Record; export interface IShareUser { id: string; token: string; username: string; roles: string[]; } export interface IShare { user: IShareUser | {}; server: IShareServer | {}; settings: TShareSettings; } export const initialState: IShare = { user: {}, server: {}, settings: {} }; export default function share(state = initialState, action: TActionsShare): IShare { switch (action.type) { case SHARE.SELECT_SERVER: return { ...state, server: action.server }; case SHARE.SET_USER: return { ...state, user: action.user }; case SHARE.SET_SETTINGS: return { ...state, settings: action.settings }; default: return state; } }