From 6f9de40da695e5701104788e3216996b7950087d Mon Sep 17 00:00:00 2001 From: Sriram Viswanathan Date: Tue, 28 Mar 2017 14:48:45 -0300 Subject: [#931] Shows error feedback using Snackbar notification when there's a submit failure on backup account page --- .../snackbar_notification/snackbar_notification.js | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 web-ui/src/common/snackbar_notification/snackbar_notification.js (limited to 'web-ui/src/common/snackbar_notification/snackbar_notification.js') diff --git a/web-ui/src/common/snackbar_notification/snackbar_notification.js b/web-ui/src/common/snackbar_notification/snackbar_notification.js new file mode 100644 index 00000000..2aee3d67 --- /dev/null +++ b/web-ui/src/common/snackbar_notification/snackbar_notification.js @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2017 ThoughtWorks, Inc. + * + * Pixelated is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Pixelated is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Pixelated. If not, see . + */ + +import React from 'react'; +import Snackbar from 'material-ui/Snackbar'; +import { red500, blue500 } from 'material-ui/styles/colors'; + +const notificationStyle = () => ({ + top: 0, + bottom: 'auto', + left: (window.innerWidth - 288) / 2, + transform: 'translate3d(0, 0px, 0)' +}); + +const contentStyle = { + textAlign: 'center' +}; + +const getStyleByType = (isError) => { + if (isError) { + return { backgroundColor: red500 }; + } + return { backgroundColor: blue500 }; +}; + +const SnackbarNotification = ({ message, isError = false, autoHideDuration = 5000 }) => ( + +); + +SnackbarNotification.propTypes = { + message: React.PropTypes.string.isRequired, + isError: React.PropTypes.bool, + autoHideDuration: React.PropTypes.number +}; + +SnackbarNotification.defaultProps = { + isError: false, + autoHideDuration: 5000 +}; + +export default SnackbarNotification; -- cgit v1.2.3 From be647527cba9fc715ca77da3233eac4575a902fe Mon Sep 17 00:00:00 2001 From: Sriram Viswanathan Date: Tue, 28 Mar 2017 17:10:37 -0300 Subject: [#931] Adds support for multi-line Snackbar messages --- .../common/snackbar_notification/snackbar_notification.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'web-ui/src/common/snackbar_notification/snackbar_notification.js') diff --git a/web-ui/src/common/snackbar_notification/snackbar_notification.js b/web-ui/src/common/snackbar_notification/snackbar_notification.js index 2aee3d67..8a7e5094 100644 --- a/web-ui/src/common/snackbar_notification/snackbar_notification.js +++ b/web-ui/src/common/snackbar_notification/snackbar_notification.js @@ -19,10 +19,13 @@ import React from 'react'; import Snackbar from 'material-ui/Snackbar'; import { red500, blue500 } from 'material-ui/styles/colors'; +import './snackbar_notification.scss'; + const notificationStyle = () => ({ top: 0, + left: 'auto', bottom: 'auto', - left: (window.innerWidth - 288) / 2, + alignSelf: 'center', transform: 'translate3d(0, 0px, 0)' }); @@ -31,14 +34,14 @@ const contentStyle = { }; const getStyleByType = (isError) => { - if (isError) { - return { backgroundColor: red500 }; - } - return { backgroundColor: blue500 }; + const style = { height: 'auto' }; + style.backgroundColor = isError ? red500 : blue500; + return style; }; const SnackbarNotification = ({ message, isError = false, autoHideDuration = 5000 }) => (