diff --git a/.env b/.env
new file mode 100644
index 0000000000..d210cca62b
--- /dev/null
+++ b/.env
@@ -0,0 +1 @@
+VITE_DEV_SERVER_URL=http://localhost:5173
diff --git a/launcher/package.json b/launcher/package.json
index 037bcd8f74..ede51e4d36 100755
--- a/launcher/package.json
+++ b/launcher/package.json
@@ -12,9 +12,11 @@
"serve": "vue-cli-service serve --port 8081",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
+ "dev": "vite",
+ "build:vite": "vite build",
"build-themes": "node-sass src/styles/themes -o public/themes",
"electron:build": "vue-cli-service electron:build",
- "electron:serve": "vue-cli-service electron:serve",
+ "electron:serve": "wait-on http://localhost:5173 && electron src/background.js",
"postinstall": "electron-builder install-app-deps",
"postuninstall": "electron-builder install-app-deps",
"test:unit": "jest '(\\.test|\\.spec)\\.js' --coverage",
@@ -23,7 +25,7 @@
"test:coverage": "jest --coverage",
"watch:css": "npx tailwindcss -i ./src/main.css -o ./public/output.css --watch",
"lint:fix": "eslint src --fix",
- "stereum": "concurrently \"npm:electron:serve\" \"npm:watch:css\"",
+ "stereum": "concurrently \"vite\" \"npm:electron:serve\"",
"backend:watch": "nodemon --watch 'src/backend' --exec 'npm run electron:serve'",
"format": "prettier . --write",
"format:check": "prettier . --check"
@@ -70,6 +72,7 @@
"@babel/preset-env": "^7.26.9",
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/typography": "^0.5.16",
+ "@vitejs/plugin-vue": "^5.2.3",
"@vue/cli-service": "^5.0.8",
"@vue/compiler-sfc": "^3.5.13",
"@vue/test-utils": "^2.4.6",
@@ -93,8 +96,10 @@
"prettier": "^3.5.3",
"tailwind-scrollbar": "^3.1.0",
"tailwindcss": "^3.4.17",
+ "vite": "^6.2.5",
"vue-cli-plugin-electron-builder": "^3.0.0-alpha.4",
"vue-loader": "^17.4.2",
+ "wait-on": "^8.0.3",
"web3": "^4.16.0"
},
"license": "https://wrapbootstrap.com/help/licenses",
diff --git a/launcher/public/index.html b/launcher/public/index.html
index ad3e9f0d02..3d151afffc 100755
--- a/launcher/public/index.html
+++ b/launcher/public/index.html
@@ -1,20 +1,17 @@
-
+
-
- <%= htmlWebpackPlugin.options.title %>
-
+
+ Stereum Launcher
+
-
+
diff --git a/launcher/src/background.js b/launcher/src/background.js
index 3e7abc15fd..6b6baf0079 100755
--- a/launcher/src/background.js
+++ b/launcher/src/background.js
@@ -1,3 +1,4 @@
+#!/usr/bin/env node
"use strict";
import { app, protocol, BrowserWindow, shell, dialog, ipcMain, Menu } from "electron";
@@ -909,11 +910,12 @@ async function createWindow(type = "main") {
win.setMenuBarVisibility(false);
// Load correct URL based on environment
- if (process.env.WEBPACK_DEV_SERVER_URL) {
- const url = type === "update" ? `${process.env.WEBPACK_DEV_SERVER_URL}#/update` : process.env.WEBPACK_DEV_SERVER_URL;
+ const devServerUrl = process.env.VITE_DEV_SERVER_URL || process.env.WEBPACK_DEV_SERVER_URL;
- await win.loadURL(url);
+ if (devServerUrl) {
+ const url = type === "update" ? `${devServerUrl}#/update` : devServerUrl;
+ await win.loadURL(url);
if (!process.env.IS_TEST) win.webContents.openDevTools();
} else {
createProtocol("app");
diff --git a/launcher/src/components/UI/base-header/components/modals/LogoutModal.vue b/launcher/src/components/UI/base-header/components/modals/LogoutModal.vue
index c698126d5f..6251585c6e 100755
--- a/launcher/src/components/UI/base-header/components/modals/LogoutModal.vue
+++ b/launcher/src/components/UI/base-header/components/modals/LogoutModal.vue
@@ -6,7 +6,7 @@
{{ $t("logOutModal.logOutTitle") }}
-

+
{{ $t("logOutModal.logOutQuestion") }}
diff --git a/launcher/src/components/UI/edit-page/EditScreen.vue b/launcher/src/components/UI/edit-page/EditScreen.vue
index c134ecf77e..6adecc4de3 100644
--- a/launcher/src/components/UI/edit-page/EditScreen.vue
+++ b/launcher/src/components/UI/edit-page/EditScreen.vue
@@ -152,7 +152,7 @@ import DrawerBox from "./components/drawer/DrawerBox.vue";
import DrawerMenu from "./components/drawer/DrawerMenu.vue";
import ServicesDrawer from "./components/drawer/ServicesDrawer.vue";
import SetupsDrawer from "./components/drawer/SetupsDrawer.vue";
-import EditBody from "./components/edit/EditBody";
+import EditBody from "./components/edit/EditBody.vue";
import LoaderAnime from "./components/loader-anime/LoaderAnime.vue";
import AddModal from "./components/modals/AddModal.vue";
import InfoModal from "./components/modals/InfoModal.vue";
diff --git a/launcher/src/components/UI/edit-page/components/modals/AddModal.vue b/launcher/src/components/UI/edit-page/components/modals/AddModal.vue
index adaa97a45e..ca11f16fb8 100644
--- a/launcher/src/components/UI/edit-page/components/modals/AddModal.vue
+++ b/launcher/src/components/UI/edit-page/components/modals/AddModal.vue
@@ -18,8 +18,8 @@
+
+