1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { SnackbarAction, snackbarActions, SnackbarKind } from "./snackbar-actions";
7 export interface SnackbarState {
14 const DEFAULT_HIDE_DURATION = 3000;
16 const initialState: SnackbarState = {
19 hideDuration: DEFAULT_HIDE_DURATION,
20 kind: SnackbarKind.INFO
23 export const snackbarReducer = (state = initialState, action: SnackbarAction) => {
24 return snackbarActions.match(action, {
25 OPEN_SNACKBAR: data => ({ ...initialState, ...data, open: true }),
26 CLOSE_SNACKBAR: () => initialState,