From d22a826ec2e528ce12f3dbf353e1fb9d1a261cb3 Mon Sep 17 00:00:00 2001
From: Skander Hatira <skander.hatira@inrae.fr>
Date: Wed, 8 Sep 2021 15:44:13 +0200
Subject: [PATCH] alert for non linux machines

---
 src/backend/spawnServer.js           |  8 ++++----
 src/components/Tableau/DashLayout.js | 18 ++++++++++++++++++
 src/components/Tableau/listItems.js  |  9 +++++++++
 src/index.js                         |  3 +++
 src/main.js                          | 18 +++++++++++++++---
 5 files changed, 49 insertions(+), 7 deletions(-)

diff --git a/src/backend/spawnServer.js b/src/backend/spawnServer.js
index 11b1673..cbfc90f 100644
--- a/src/backend/spawnServer.js
+++ b/src/backend/spawnServer.js
@@ -24,10 +24,10 @@ const spawnServer = async (sock) => {
     //         console.log(`stdout: ${stdout}`);
     //     }
     // );
-    // const options = {
-    //     slient: false,
-    //     detached: false,
-    // };
+    const options = {
+        slient: false,
+        detached: false,
+    };
     // const child = spawn(
     //     "node",
     //     [path.join(__dirname, "backend/server.js"), sock],
diff --git a/src/components/Tableau/DashLayout.js b/src/components/Tableau/DashLayout.js
index c350156..b8fe628 100644
--- a/src/components/Tableau/DashLayout.js
+++ b/src/components/Tableau/DashLayout.js
@@ -18,10 +18,17 @@ import { Link } from "react-router-dom";
 import SettingsIcon from "@material-ui/icons/Settings";
 import LibraryBooksIcon from "@material-ui/icons/LibraryBooks";
 import { useConfig } from "../../hooks/useConfig";
+import Alert from "@material-ui/lab/Alert";
 
 const drawerWidth = 240;
 
 const useStyles = makeStyles((theme) => ({
+  alert: {
+    width: "100%",
+    "& > * + *": {
+      marginTop: theme.spacing(2),
+    },
+  },
   root: {
     display: "flex",
   },
@@ -199,7 +206,17 @@ const DashLayout = ({ Filling }) => {
             ""
           )}
         </Toolbar>
+        {sessionStorage.Platform == "linux" ? (
+          ""
+        ) : (
+          <Alert severity="warning">
+            Pipeline execution is only supported on linux systems. You can,
+            however, add remote linux machines to execute your pipeline onto and
+            access data locally
+          </Alert>
+        )}
       </AppBar>
+
       <Drawer
         variant="permanent"
         classes={{
@@ -215,6 +232,7 @@ const DashLayout = ({ Filling }) => {
             <ChevronLeftIcon />
           </IconButton>
         </div>
+
         <Divider />
         <List>{mainListItems}</List>
         <Divider />
diff --git a/src/components/Tableau/listItems.js b/src/components/Tableau/listItems.js
index 4c11fd1..5cae82f 100644
--- a/src/components/Tableau/listItems.js
+++ b/src/components/Tableau/listItems.js
@@ -13,6 +13,15 @@ import { Link } from "react-router-dom";
 
 export const mainListItems = (
   <div>
+    {sessionStorage.Platform == "linux" ? (
+      ""
+    ) : (
+      <>
+        <ListItem></ListItem>
+        <ListItem></ListItem>
+      </>
+    )}
+
     <ListItem component={Link} to="/alignment" button>
       <ListItemIcon>
         <DashboardIcon />
diff --git a/src/index.js b/src/index.js
index 691850d..1f0d61f 100644
--- a/src/index.js
+++ b/src/index.js
@@ -2,10 +2,13 @@ import React, { useEffect } from "react";
 import ReactDOM from "react-dom";
 import "./index.css";
 import App from "./App";
+
 const electron = window.require("electron");
 const remote = electron.remote;
 sessionStorage.setItem("Sock", remote.getGlobal("sharedObj").prop1);
 sessionStorage.setItem("Conda", remote.getGlobal("sharedObj").conda);
+sessionStorage.setItem("Platform", remote.getGlobal("sharedObj").platform);
+
 console.log(sessionStorage);
 function render() {
   ReactDOM.render(
diff --git a/src/main.js b/src/main.js
index 3a7dd77..05351b0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -33,16 +33,28 @@ process.platform == "darwin" || process.platform == "linux"
       (error, stdout, stderr) => {
         if (error) {
           console.log(`error: ${error.message}`);
-          return (global.sharedObj = { conda: false, prop1: sock });
+          return (global.sharedObj = {
+            platform: process.platform,
+            conda: false,
+            prop1: sock,
+          });
         }
         if (stderr) {
           console.log(`stderr: ${stderr}`);
 
-          return (global.sharedObj = { conda: false, prop1: sock });
+          return (global.sharedObj = {
+            platform: process.platform,
+            conda: false,
+            prop1: sock,
+          });
         }
 
         console.log(`stdout: ${stdout}`);
-        return (global.sharedObj = { conda: true, prop1: sock });
+        return (global.sharedObj = {
+          platform: process.platform,
+          conda: true,
+          prop1: sock,
+        });
       }
     )
   : "";
-- 
GitLab