1
0
mirror of https://github.com/trezor/trezor-wallet synced 2024-11-15 21:08:57 +00:00
trezor-wallet/src/reducers/LogReducer.js
2019-03-04 15:39:51 +01:00

61 lines
1.2 KiB
JavaScript

/* @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<LogEntry>,
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;
}
};