Skip to content

Commit 3d45346

Browse files
committed
fix(stage-tamagotchi): not found issue
1 parent 7ef7eff commit 3d45346

File tree

4 files changed

+34
-12
lines changed

4 files changed

+34
-12
lines changed

apps/stage-tamagotchi/src/main/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ import macOSTrayIcon from '../../resources/tray-icon-macos.png?asset'
1616

1717
import { openDebugger, setupDebugger } from './app/debugger'
1818
import { emitAppBeforeQuit, emitAppReady, emitAppWindowAllClosed, onAppBeforeQuit } from './libs/bootkit/lifecycle'
19+
import { setElectronMainDirname } from './libs/electron/location'
1920
import { setupInlayWindow } from './windows/inlay'
2021
import { setupMainWindow } from './windows/main'
2122
import { setupSettingsWindow } from './windows/settings'
2223
import { toggleWindowShow } from './windows/shared/window'
2324

25+
setElectronMainDirname(__dirname)
2426
setGlobalFormat(Format.Pretty)
2527
setGlobalLogLevel(LogLevel.Log)
2628
setupDebugger()

apps/stage-tamagotchi/src/main/libs/electron/location.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ import { env } from 'node:process'
55

66
import { is } from '@electron-toolkit/utils'
77

8+
let electronMainDirname: string = ''
9+
10+
export function setElectronMainDirname(dirname: string) {
11+
electronMainDirname = dirname
12+
}
13+
14+
export function getElectronMainDirname() {
15+
return electronMainDirname
16+
}
17+
818
export function baseUrl(parentOfIndexHtml: string) {
919
if (is.dev && env.ELECTRON_RENDERER_URL) {
1020
return { url: env.ELECTRON_RENDERER_URL }

apps/stage-tamagotchi/src/main/windows/main/index.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@ import type { BrowserWindowConstructorOptions, Rectangle } from 'electron'
33
import { dirname, join, resolve } from 'node:path'
44
import { fileURLToPath } from 'node:url'
55

6+
import { is } from '@electron-toolkit/utils'
67
import { defu } from 'defu'
78
import { BrowserWindow, shell } from 'electron'
89
import { isMacOS } from 'std-env'
910

1011
import icon from '../../../../resources/icon.png?asset'
1112

12-
import { baseUrl, load } from '../../libs/electron/location'
13+
import { baseUrl, getElectronMainDirname, load } from '../../libs/electron/location'
1314
import { transparentWindowConfig } from '../shared'
1415
import { createConfig } from '../shared/persistence'
15-
import { setupAppInvokeHandlers } from './rpc/index.electron'
16+
import { setupMainWindowElectronInvokes } from './rpc/index.electron'
1617

1718
interface AppConfig {
1819
windows?: Array<Pick<BrowserWindowConstructorOptions, 'title' | 'x' | 'y' | 'width' | 'height'> & { tag: string }>
1920
}
2021

21-
export async function setupMainWindow() {
22+
export async function setupMainWindow(params: {
23+
settingsWindow: () => Promise<BrowserWindow>
24+
}) {
2225
const {
2326
setup: setupConfig,
2427
get: getConfig,
@@ -44,6 +47,16 @@ export async function setupMainWindow() {
4447
...transparentWindowConfig(),
4548
})
4649

50+
// NOTICE: in development mode, open devtools by default
51+
if (is.dev) {
52+
try {
53+
window.webContents.openDevTools()
54+
}
55+
catch (err) {
56+
console.error('failed to open devtools:', err)
57+
}
58+
}
59+
4760
function handleNewBounds(newBounds: Rectangle) {
4861
const config = getConfig()!
4962
if (!config.windows || !Array.isArray(config.windows)) {
@@ -90,9 +103,9 @@ export async function setupMainWindow() {
90103
return { action: 'deny' }
91104
})
92105

93-
await load(window, baseUrl(resolve(import.meta.dirname, '..', '..', '..', 'renderer')))
106+
await load(window, baseUrl(resolve(getElectronMainDirname(), '..', 'renderer')))
94107

95-
setupAppInvokeHandlers(window)
108+
setupMainWindowElectronInvokes({ window, settingsWindow: params.settingsWindow })
96109

97110
return window
98111
}

apps/stage-tamagotchi/src/main/windows/settings/index.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
1-
import { dirname, join, resolve } from 'node:path'
2-
import { fileURLToPath } from 'node:url'
1+
import { join, resolve } from 'node:path'
32

43
import { BrowserWindow, shell } from 'electron'
54

65
import icon from '../../../../resources/icon.png?asset'
76

8-
import { baseUrl, load, withHashRoute } from '../../libs/electron/location'
7+
import { baseUrl, getElectronMainDirname, load, withHashRoute } from '../../libs/electron/location'
98

10-
const __dirname = dirname(fileURLToPath(import.meta.url))
11-
12-
export async function setupSettingsWindow() {
9+
export function setupSettingsWindowReusableFunc() {
1310
const window = new BrowserWindow({
1411
title: 'Settings',
1512
width: 600.0,
@@ -28,7 +25,7 @@ export async function setupSettingsWindow() {
2825
return { action: 'deny' }
2926
})
3027

31-
await load(window, withHashRoute(baseUrl(resolve(__dirname, '..', '..', '..', 'renderer')), '/settings'))
28+
await load(window, withHashRoute(baseUrl(resolve(getElectronMainDirname(), '..', 'renderer')), '/settings'))
3229

3330
return window
3431
}

0 commit comments

Comments
 (0)