/* @flow */ import * as LOG from 'actions/constants/log'; import type { Action } from 'flowtype'; export type LogEntry = { time: number, type: string, message: any, }; export type State = { opened: boolean, entries: Array, copied: boolean, }; export const initialState: State = { opened: false, entries: [], copied: false, }; export default (state: State = initialState, action: Action): State => { switch (action.type) { case LOG.OPEN: return { ...state, opened: true, }; case LOG.CLOSE: return { ...state, opened: false, copied: false, }; case LOG.ADD: return { ...state, entries: state.entries.concat([action.payload]), }; case LOG.COPY_SUCCESS: return { ...state, copied: true, }; case LOG.COPY_RESET: return { ...state, copied: false, }; default: return state; } };