summaryrefslogtreecommitdiff
path: root/client/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/main.js')
-rwxr-xr-xclient/main.js35
1 files changed, 34 insertions, 1 deletions
diff --git a/client/main.js b/client/main.js
index dc8de43..c2590c6 100755
--- a/client/main.js
+++ b/client/main.js
@@ -2,10 +2,32 @@ const { app, BrowserWindow, globalShortcut, ipcMain, dialog } = require('electro
const path = require('path');
const os = require("os");
const {writeFileSync, existsSync, unlinkSync} = require("fs");
+const fs = require("fs");
+
+let localchatDataRoot = (os.platform() === "win32" ? os.homedir() + "/AppData/Roaming" : (os.platform() === "darwin" ? os.homedir() + "/Library/Application Support" : os.homedir())) + "/.localchat";
+
+if (!global._localchatLauncherVersion) {
+ dialog.showErrorBox("Update required", "Please update to Localchat Client Launcher version 1.4.0 or newer to continue using Localchat, you are currently running version " + app.getVersion() + ". You can get a copy of the updated launcher from your local administrator.");
+ process.exit();
+}
+
+if (!fs.existsSync(localchatDataRoot)) fs.mkdirSync(localchatDataRoot);
+if (!fs.existsSync(localchatDataRoot + "/client")) fs.mkdirSync(localchatDataRoot + "/client");
+if (!fs.existsSync(localchatDataRoot + "/client/session")) fs.mkdirSync(localchatDataRoot + "/client/session");
+if (!fs.existsSync(localchatDataRoot + "/client/data")) fs.mkdirSync(localchatDataRoot + "/client/data");
+if (!fs.existsSync(localchatDataRoot + "/client/logs")) fs.mkdirSync(localchatDataRoot + "/client/logs");
+
+app.setPath("userData", localchatDataRoot + "/client/data");
+app.setPath("sessionData", localchatDataRoot + "/client/session");
+app.setAppLogsPath(localchatDataRoot + "/client/logs");
if (require('os').platform() !== "darwin" && require('os').platform() !== "win32" && require('os').platform() !== "linux") return;
const createWindow = () => {
+ app.setPath("userData", (os.platform() === "win32" ? os.homedir() + "/AppData/Roaming" : os.homedir()) + "/.localchat/client");
+ app.setPath("sessionData", (os.platform() === "win32" ? os.homedir() + "/AppData/Roaming" : os.homedir()) + "/.localchat/client/_session");
+ app.setAppLogsPath((os.platform() === "win32" ? os.homedir() + "/AppData/Roaming" : os.homedir()) + "/.localchat/client/_logs");
+
global.mainWindow = new BrowserWindow({
width: 500,
minWidth: 500,
@@ -32,7 +54,8 @@ const createWindow = () => {
autoHideMenuBar: true,
webPreferences: {
nodeIntegration: true,
- contextIsolation: false
+ contextIsolation: false,
+ additionalArguments: "--user-data-dir=\"" + localchatDataRoot + "/client" + "\""
}
});
@@ -40,6 +63,7 @@ const createWindow = () => {
if (os.platform() === "win32") mainWindow.setContentProtection(true);
mainWindow.send("path", app.getPath("userData"));
+ mainWindow.send("launcher", global._localchatLauncherVersion);
ipcMain.handle("open-server", async (event) => {
let select = dialog.showOpenDialogSync({
@@ -98,6 +122,15 @@ const createWindow = () => {
mainWindow.show();
try { loaderWindow.close(); } catch (e) {}
+
+ setTimeout(() => {
+ mainWindow.setTitle("");
+
+ setTimeout(() => {
+ mainWindow.setTitle("");
+ mainWindow.setTitle("Localchat");
+ }, 1000);
+ }, 1000);
});
ipcMain.on('past-oobe', () => {