From 25b81d80dfb4f5b838dda5dd73d404522999baf4 Mon Sep 17 00:00:00 2001
From: Evelyn Eastmond <evhan55@gmail.com>
Date: Fri, 14 Sep 2018 14:53:40 -0400
Subject: [PATCH] Connecting a view alerts reducer.

---
 src/containers/alerts.jsx | 23 +++++++++--------------
 src/containers/blocks.jsx |  5 +++++
 src/reducers/alerts.js    | 14 ++++++++++++--
 3 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/src/containers/alerts.jsx b/src/containers/alerts.jsx
index 51cedc903..12b7b6b3e 100644
--- a/src/containers/alerts.jsx
+++ b/src/containers/alerts.jsx
@@ -1,5 +1,9 @@
 import {connect} from 'react-redux';
 
+import {
+    viewAlert
+} from '../reducers/alerts';
+
 import AlertsComponent from '../components/alerts/alerts.jsx';
 
 const mapStateToProps = state => ({
@@ -7,20 +11,11 @@ const mapStateToProps = state => ({
     message: state.scratchGui.alerts.message
 });
 
-/* const mapDispatchToProps = dispatch => ({
-    onActivateDeckFactory: id => () => dispatch(activateDeck(id)),
-    onShowAll: () => {
-        dispatch(openTipsLibrary());
-        dispatch(closeCards());
-    },
-    onCloseCards: () => dispatch(closeCards()),
-    onNextStep: () => dispatch(nextStep()),
-    onPrevStep: () => dispatch(prevStep()),
-    onDrag: (e_, data) => dispatch(dragCard(data.x, data.y)),
-    onStartDrag: () => dispatch(startDrag()),
-    onEndDrag: () => dispatch(endDrag())
-}); */
+const mapDispatchToProps = dispatch => ({
+    onViewAlert: () => dispatch(viewAlert())
+});
 
 export default connect(
-    mapStateToProps
+    mapStateToProps,
+    mapDispatchToProps
 )(AlertsComponent);
diff --git a/src/containers/blocks.jsx b/src/containers/blocks.jsx
index 499d77636..8e882de13 100644
--- a/src/containers/blocks.jsx
+++ b/src/containers/blocks.jsx
@@ -22,6 +22,7 @@ import {updateToolbox} from '../reducers/toolbox';
 import {activateColorPicker} from '../reducers/color-picker';
 import {closeExtensionLibrary} from '../reducers/modals';
 import {activateCustomProcedures, deactivateCustomProcedures} from '../reducers/custom-procedures';
+import {viewAlert} from '../reducers/alerts';
 
 const addFunctionListener = (object, property, callback) => {
     const oldFn = object[property];
@@ -378,6 +379,7 @@ class Blocks extends React.Component {
         this.setState({connectionModal: null});
     }
     handleStatusButtonUpdate () {
+        this.props.onViewAlert();
         this.ScratchBlocks.refreshStatusButtons(this.workspace);
     }
     handlePromptCallback (input, optionSelection) {
@@ -412,6 +414,7 @@ class Blocks extends React.Component {
             onActivateCustomProcedures,
             onRequestCloseExtensionLibrary,
             onRequestCloseCustomProcedures,
+            onViewAlert,
             toolboxXML,
             ...props
         } = this.props;
@@ -473,6 +476,7 @@ Blocks.propTypes = {
     onActivateCustomProcedures: PropTypes.func,
     onRequestCloseCustomProcedures: PropTypes.func,
     onRequestCloseExtensionLibrary: PropTypes.func,
+    onViewAlert: PropTypes.func,
     options: PropTypes.shape({
         media: PropTypes.string,
         zoom: PropTypes.shape({
@@ -556,6 +560,7 @@ const mapDispatchToProps = dispatch => ({
     onRequestCloseCustomProcedures: data => {
         dispatch(deactivateCustomProcedures(data));
     },
+    onViewAlert: () => dispatch(viewAlert()),
     updateToolboxState: toolboxXML => {
         dispatch(updateToolbox(toolboxXML));
     }
diff --git a/src/reducers/alerts.js b/src/reducers/alerts.js
index 2be24f28d..22bdfa760 100644
--- a/src/reducers/alerts.js
+++ b/src/reducers/alerts.js
@@ -1,13 +1,18 @@
 const CLOSE_ALERT = 'scratch-gui/alerts/CLOSE_ALERT';
+const VIEW_ALERT = 'scratch-gui/alerts/VIEW_ALERT';
 
 const initialState = {
     message: 'testing alerts!!',
-    visible: true
+    visible: false
 };
 
 const reducer = function (state, action) {
     if (typeof state === 'undefined') state = initialState;
     switch (action.type) {
+    case VIEW_ALERT:
+        return Object.assign({}, state, {
+            visible: true
+        });
     case CLOSE_ALERT:
         return Object.assign({}, state, {
             message: 'closing alert!'
@@ -21,8 +26,13 @@ const closeAlert = function () {
     return {type: CLOSE_ALERT};
 };
 
+const viewAlert = function () {
+    return {type: VIEW_ALERT};
+};
+
 export {
     reducer as default,
     initialState as alertsInitialState,
-    closeAlert
+    closeAlert,
+    viewAlert
 };
-- 
GitLab