diff --git a/src/main/tray.ts b/src/main/tray.ts index 9ced3d3..a5284ec 100644 --- a/src/main/tray.ts +++ b/src/main/tray.ts @@ -1,6 +1,7 @@ import { app, screen, Menu, Tray, BrowserWindow } from 'electron' import Constants from './utils/Constants' import { debounce } from './utils/Util' +import { join } from 'path' let tray let trayOptions @@ -11,7 +12,7 @@ export function createTray(window: BrowserWindow, options) { trayOptions.menu = false } - tray = new Tray('buildAssets/icons/icon16.png') + tray = new Tray(join(Constants.PUBLIC_PATH, 'images/vutron-tray-icon.png')) tray.setToolTip(trayOptions.tooltip) if (trayOptions.menu) { const contextMenu = Menu.buildFromTemplate([ diff --git a/src/main/utils/Constants.ts b/src/main/utils/Constants.ts index 6afb0ba..2a08571 100644 --- a/src/main/utils/Constants.ts +++ b/src/main/utils/Constants.ts @@ -1,4 +1,4 @@ -import { join, dirname } from 'path' +import { join, dirname, resolve } from 'path' import { name, version, debug } from '../../../package.json' import { fileURLToPath } from 'url' @@ -21,6 +21,10 @@ export default class Constants { static IS_DEV_ENV = process.env.NODE_ENV === 'development' + static PUBLIC_PATH = Constants.IS_DEV_ENV + ? resolve(__dirname, '../../src/public') + : resolve(__dirname, '..') + // To show devtools at startup. It requires IS_DEV_ENV=true. // Note: For debugging purpose, window won't be closed if click elsewhere, if devtools is open. static IS_DEVTOOLS = true diff --git a/src/renderer/public/images/vutron-logo.webp b/src/public/images/vutron-logo.webp similarity index 100% rename from src/renderer/public/images/vutron-logo.webp rename to src/public/images/vutron-logo.webp diff --git a/src/public/images/vutron-tray-icon.png b/src/public/images/vutron-tray-icon.png new file mode 100644 index 0000000..ae51b51 Binary files /dev/null and b/src/public/images/vutron-tray-icon.png differ diff --git a/vite.config.mts b/vite.config.mts index f36552e..622747f 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -33,8 +33,10 @@ export default defineConfig(({ mode }) => { }, vite: { root: resolve('.'), + base: './', build: { assetsDir: '.', + publicDir: resolve('./src/public'), outDir: 'dist/main', rollupOptions: { external: ['electron', ...builtinModules] @@ -82,7 +84,7 @@ export default defineConfig(({ mode }) => { }, base: './', root: resolve('./src/renderer'), - publicDir: resolve('./src/renderer/public'), + publicDir: resolve('./src/public'), clearScreen: false, build: { sourcemap: isDevEnv,