diff --git a/renderer/next.config.js b/renderer/next.config.js
index 5d6b259..78f5d8b 100644
--- a/renderer/next.config.js
+++ b/renderer/next.config.js
@@ -3,7 +3,7 @@
const isHeadless = process.env.AR_MINER_UI_HEADLESS === "true";
const maybeHeadlessConfig = isHeadless
? {
- output: "standalone",
+ output: "export",
distDir: "dist-headless",
}
: {};
diff --git a/renderer/pages/dashboard.tsx b/renderer/pages/dashboard.tsx
index aa14e04..f6f414c 100644
--- a/renderer/pages/dashboard.tsx
+++ b/renderer/pages/dashboard.tsx
@@ -1,6 +1,7 @@
import React, { useCallback, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import ScrollSpy from "react-ui-scrollspy";
+import isElectron from "is-electron";
import { MainLayout } from "../layouts/MainLayout";
import { useEarnings, useHashRate } from "../store/metricsSlice/metricsSliceHooks";
import { setMetricsState } from "../store/metricsSlice/metricsSlice";
@@ -81,10 +82,12 @@ export default function DashboardPage() {
);
useEffect(() => {
- window.ipc.metricsSub(handler);
- return () => {
- window.ipc.metricsUnsub(handler);
- };
+ if (isElectron()) {
+ window.ipc.metricsSub(handler);
+ return () => {
+ window.ipc.metricsUnsub(handler);
+ };
+ }
}, [handler]);
return (
diff --git a/renderer/store/configSlice/configSlice.ts b/renderer/store/configSlice/configSlice.ts
index 1b8ffb7..3c52bfb 100644
--- a/renderer/store/configSlice/configSlice.ts
+++ b/renderer/store/configSlice/configSlice.ts
@@ -1,3 +1,4 @@
+import isElectron from "is-electron";
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import type { PayloadAction } from "@reduxjs/toolkit";
import {
@@ -19,13 +20,17 @@ export const configSlice = createSlice({
reducers: {
selectNode(state, action: PayloadAction
) {
state.selectedNode = action.payload;
- window.ipc.setSelectedNodeById(action.payload);
+ if (isElectron()) {
+ window.ipc.setSelectedNodeById(action.payload);
+ }
},
setNodes(state, action: PayloadAction) {
state.nodes = action.payload;
if (state.selectedNode === undefined && action.payload.length > 0) {
state.selectedNode = action.payload[0].id;
- window.ipc.setSelectedNodeById(state.selectedNode);
+ if (isElectron()) {
+ window.ipc.setSelectedNodeById(state.selectedNode);
+ }
}
},
appendNode(state, action: PayloadAction) {
@@ -33,15 +38,19 @@ export const configSlice = createSlice({
state.nodes.push(newNode);
if (state.selectedNode === undefined) {
state.selectedNode = newNode.id;
- window.ipc.setSelectedNodeById(newNode.id);
+ if (isElectron()) {
+ window.ipc.setSelectedNodeById(newNode.id);
+ }
}
},
},
});
export const getNodes = createAsyncThunk("config/getNodes", async (_, { dispatch }) => {
- const answer = window.ipc.configGetNodes();
- dispatch(configSlice.actions.setNodes(answer));
+ if (isElectron()) {
+ const answer = window.ipc.configGetNodes();
+ dispatch(configSlice.actions.setNodes(answer));
+ }
});
export const { appendNode, selectNode } = configSlice.actions;
diff --git a/renderer/tsconfig.json b/renderer/tsconfig.json
index 0ed1f73..ff91aa9 100644
--- a/renderer/tsconfig.json
+++ b/renderer/tsconfig.json
@@ -1,15 +1,8 @@
{
"extends": "../tsconfig.json",
- "include": [
- "next-env.d.ts",
- "**/*.ts",
- "**/*.tsx",
- "../types"
- ],
- "exclude": [
- "node_modules"
- ],
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "../types"],
+ "exclude": ["node_modules"],
"compilerOptions": {
- "module": "esnext"
+ "module": "NodeNext"
}
}