From bbf40d28fe08932708b7bbad43baccccee730785 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Thu, 26 Feb 2026 14:44:27 +0800 Subject: [PATCH] fix(stage-tamagotchi): use isLinux() from eventa invoke instead of platform regexp --- apps/stage-tamagotchi/src/main/services/electron/app.ts | 3 ++- .../components/stage-islands/controls-island/index.vue | 6 +++--- apps/stage-tamagotchi/src/renderer/utils/platform.ts | 1 - 3 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 apps/stage-tamagotchi/src/renderer/utils/platform.ts diff --git a/apps/stage-tamagotchi/src/main/services/electron/app.ts b/apps/stage-tamagotchi/src/main/services/electron/app.ts index f977446df..2f58f4d1c 100644 --- a/apps/stage-tamagotchi/src/main/services/electron/app.ts +++ b/apps/stage-tamagotchi/src/main/services/electron/app.ts @@ -2,11 +2,12 @@ import type { createContext } from '@moeru/eventa/adapters/electron/main' import type { BrowserWindow } from 'electron' import { defineInvokeHandler } from '@moeru/eventa' -import { isMacOS, isWindows } from 'std-env' +import { isLinux, isMacOS, isWindows } from 'std-env' import { electron } from '../../../shared/eventa' export function createAppService(params: { context: ReturnType['context'], window: BrowserWindow }) { defineInvokeHandler(params.context, electron.app.isMacOS, () => isMacOS) defineInvokeHandler(params.context, electron.app.isWindows, () => isWindows) + defineInvokeHandler(params.context, electron.app.isLinux, () => isLinux) } diff --git a/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/index.vue b/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/index.vue index ae825d330..507091a7b 100644 --- a/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/index.vue +++ b/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/index.vue @@ -13,9 +13,8 @@ import ControlsIslandFadeOnHover from './controls-island-fade-on-hover.vue' import ControlsIslandHearingConfig from './controls-island-hearing-config.vue' import IndicatorMicVolume from './indicator-mic-volume.vue' -import { electronOpenChat, electronOpenSettings, electronStartDraggingWindow } from '../../../../shared/eventa' +import { electron, electronOpenChat, electronOpenSettings, electronStartDraggingWindow } from '../../../../shared/eventa' import { useElectronEventaContext, useElectronEventaInvoke } from '../../../composables/electron-vueuse/use-electron-eventa-context' -import { isLinux } from '../../../utils/platform' const { isDark, toggleDark } = useTheme() const { t } = useI18n() @@ -27,6 +26,7 @@ const { enabled } = storeToRefs(settingsAudioDeviceStore) const { controlsIslandIconSize } = storeToRefs(settingsStore) const openSettings = useElectronEventaInvoke(electronOpenSettings) const openChat = useElectronEventaInvoke(electronOpenChat) +const isLinux = useElectronEventaInvoke(electron.app.isLinux) // Responsive icon & button sizing based on window height const { height: windowHeight } = useWindowSize() @@ -65,7 +65,7 @@ const adjustStyleClasses = computed(() => { * * See `apps/stage-tamagotchi/src/main/windows/main/index.ts` for handler definition */ -const startDraggingWindow = !isLinux ? defineInvoke(context.value, electronStartDraggingWindow) : undefined +const startDraggingWindow = !isLinux() ? defineInvoke(context.value, electronStartDraggingWindow) : undefined // Expose whether hearing dialog is open so parent can disable click-through const hearingDialogOpen = ref(false) diff --git a/apps/stage-tamagotchi/src/renderer/utils/platform.ts b/apps/stage-tamagotchi/src/renderer/utils/platform.ts deleted file mode 100644 index 7e49c9621..000000000 --- a/apps/stage-tamagotchi/src/renderer/utils/platform.ts +++ /dev/null @@ -1 +0,0 @@ -export const isLinux = /^linux/i.test(window.platform)