Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / src / views-components / side-panel-toggle / side-panel-toggle.tsx
index 50628d7f2e2db50155eb873bc0b1e85c3c5cd632..47d34216cc58959678d7e4a7463e98c92348cf69 100644 (file)
@@ -3,56 +3,57 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import React from 'react';
-import { Tooltip, IconButton  } from '@material-ui/core';
+import { Tooltip, IconButton } from '@material-ui/core';
 import { connect } from 'react-redux';
 import { toggleSidePanel } from "store/side-panel/side-panel-action";
 import { RootState } from 'store/store';
 
 type collapseButtonProps = {
-  isCollapsed: boolean;
-  toggleSidePanel: (collapsedState: boolean) => void
+    isCollapsed: boolean;
+    toggleSidePanel: (collapsedState: boolean) => void
 }
 
 export const COLLAPSE_ICON_SIZE = 35
 
-const SidePanelToggle = (props: collapseButtonProps) =>{ 
-  const collapseButtonIconStyles = {
-    root: {
-      width: `${COLLAPSE_ICON_SIZE}px`,
-      height: `${COLLAPSE_ICON_SIZE}px`,
-      marginTop: '0.4rem'
-    },
-    icon: {
-      width: '1.5rem',
-      height: '1.5rem',
-      marginTop: '0.5rem'
-    },
-  }
-
-  return <Tooltip disableFocusListener title="Toggle Side Panel">
-            <IconButton style={collapseButtonIconStyles.root} onClick={()=>{props.toggleSidePanel(props.isCollapsed)}}>
-              <div>
-              {props.isCollapsed? 
-                <img style={{...collapseButtonIconStyles.icon, marginLeft: '0.25rem'}} src='/arrow-to-right.png'/>
-                :
-                <img style={{...collapseButtonIconStyles.icon, marginRight: '0.5rem'}} src='/arrow-to-left.png'/>}
-              </div>
-            </IconButton>
-          </Tooltip>
+const SidePanelToggle = (props: collapseButtonProps) => {
+    const collapseButtonIconStyles = {
+        root: {
+            width: `${COLLAPSE_ICON_SIZE}px`,
+            height: `${COLLAPSE_ICON_SIZE}px`,
+            marginTop: '0.4rem',
+            marginLeft: '0.7rem',
+            paddingTop: '1rem',
+            paddingRight: '1rem'
+        },
+        icon: {
+            opacity: '0.5',
+        },
+    }
+
+    return <Tooltip disableFocusListener title="Toggle Side Panel">
+        <IconButton data-cy="side-panel-toggle" style={collapseButtonIconStyles.root} onClick={() => { props.toggleSidePanel(props.isCollapsed) }}>
+            <div>
+                {props.isCollapsed ?
+                    <img style={{...collapseButtonIconStyles.icon, marginLeft:'0.25rem'}} src='/mui-start-icon.svg' alt='an arrow pointing right'/>
+                    :
+                    <img style={{ ...collapseButtonIconStyles.icon, transform: "rotate(180deg)"}} src='/mui-start-icon.svg' alt='an arrow pointing right'/>}
+            </div>
+        </IconButton>
+    </Tooltip>
 };
 
 const mapStateToProps = (state: RootState) => {
-  return {
-    isCollapsed: state.sidePanel.collapsedState
-  }
+    return {
+        isCollapsed: state.sidePanel.collapsedState
+    }
 }
 
-  const mapDispatchToProps = (dispatch) => {
+const mapDispatchToProps = (dispatch) => {
     return {
-        toggleSidePanel: (collapsedState)=>{
+        toggleSidePanel: (collapsedState) => {
             return dispatch(toggleSidePanel(collapsedState))
         }
     }
 };
 
-export default connect(mapStateToProps, mapDispatchToProps)(SidePanelToggle)
\ No newline at end of file
+export default connect(mapStateToProps, mapDispatchToProps)(SidePanelToggle)