diff --git a/.gitignore b/.gitignore index 568b040..a5359de 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ client/.env .env.development.local .env.test.local .env.production.local +/out npm-debug.log* yarn-debug.log* diff --git a/electron/ipc-handler.js b/electron/ipc-handler.js new file mode 100644 index 0000000..f4e8f23 --- /dev/null +++ b/electron/ipc-handler.js @@ -0,0 +1,10 @@ +const electron = require("electron"); + +const { ipcMain } = electron; + +console.log("*** Added IPC Handlers ***"); + +ipcMain.on("test-start", (event, arg) => { + console.log("Test Start Inbound.", arg); + event.sender.send("test-success", { success: true }); +}); diff --git a/electron/main.js b/electron/main.js index b434d3e..911bee5 100644 --- a/electron/main.js +++ b/electron/main.js @@ -1,11 +1,10 @@ const path = require("path"); - +require("./ipc-handler"); const { app, BrowserWindow } = require("electron"); const isDev = require("electron-is-dev"); // Conditionally include the dev tools installer to load React Dev Tools let installExtension, REACT_DEVELOPER_TOOLS; // NEW! - if (isDev) { const devTools = require("electron-devtools-installer"); installExtension = devTools.default; @@ -45,7 +44,7 @@ function createWindow() { // initialization and is ready to create browser windows. // Some APIs can only be used after this event occurs. app.whenReady().then(() => { - console.log("Ready to launch the app!"); + console.log("*** Ready to launch the app! ***"); createWindow(); if (isDev) { diff --git a/package.json b/package.json index 00a2de7..0b4c921 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "eject": "react-scripts eject", "dev": "concurrently -k \"npm start\" \"npm:electron\"", "electron": "wait-on tcp:3000 && electron-forge start", + "eo": "electron-forge start", "package": "react-scripts build && electron-forge package", "make": "react-scripts build && electron-forge make" }, @@ -63,7 +64,9 @@ }, "config": { "forge": { - "packagerConfig": {}, + "packagerConfig": { + "name": "ImEX RPS" + }, "makers": [ { "name": "@electron-forge/maker-squirrel", diff --git a/src/App/App.jsx b/src/App/App.jsx index 6e1a3de..36a56a6 100644 --- a/src/App/App.jsx +++ b/src/App/App.jsx @@ -1,19 +1,38 @@ -import { Layout } from "antd"; -import React from "react"; +import { Button, Layout } from "antd"; +import React, { useEffect } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; +const { ipcRenderer } = window.require("electron"); const mapStateToProps = createStructuredSelector({}); const mapDispatchToProps = (dispatch) => ({}); export function App() { + useEffect(() => { + ipcRenderer.on("test-success", (event, obj) => { + console.log("Test Success", obj); + }); + + // Cleanup the listener events so that memory leaks are avoided. + return function cleanup() { + ipcRenderer.removeAllListeners("test-success"); + }; + }, []); + return (
Header
-
Welcome to your new react app.
+
Welcome to your new react app. asdas sd
+
);