From 08bbeb34c6f88f3c7d90d37a35645f2f5daba778 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Thu, 23 Oct 2025 21:36:17 +0800 Subject: [PATCH] fix(stage-tamagotchi): typecheck failed, moved useElectronAllDisplays to composables --- .../composables/electron-vueuse/index.ts | 1 + .../use-electorn-all-displays/index.ts | 17 +++++++++++++++++ .../devtools/use-electron-all-displays.vue | 2 +- .../devtools/use-electron-relative-mouse.vue | 2 +- .../pages/devtools/use-window-mouse.vue | 2 +- .../src/renderer/stores/window.ts | 17 +---------------- 6 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/use-electorn-all-displays/index.ts diff --git a/apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/index.ts b/apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/index.ts index b171b114d..e60e4a557 100644 --- a/apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/index.ts +++ b/apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/index.ts @@ -1,3 +1,4 @@ +export { useElectronAllDisplays } from './use-electorn-all-displays' export { useElectronEventaContext, useElectronEventaInvoke } from './use-electron-eventa-context' export { useElectronMouse, useElectronMouseEventTarget } from './use-electron-mouse' export type { UseMouseInElementReturn } from './use-electron-mouse-in-element' diff --git a/apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/use-electorn-all-displays/index.ts b/apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/use-electorn-all-displays/index.ts new file mode 100644 index 000000000..4ac9647fa --- /dev/null +++ b/apps/stage-tamagotchi/src/renderer/composables/electron-vueuse/use-electorn-all-displays/index.ts @@ -0,0 +1,17 @@ +import { defineInvoke } from '@unbird/eventa' +import { useAsyncState, useIntervalFn } from '@vueuse/core' + +import { electron } from '../../../../shared/electron' +import { useElectronEventaContext } from '../use-electron-eventa-context' + +export function useElectronAllDisplays() { + const context = useElectronEventaContext() + const getAllDisplays = defineInvoke(context.value, electron.screen.getAllDisplays) + const { state: allDisplays, execute } = useAsyncState(() => getAllDisplays(), []) + + useIntervalFn(() => { + execute() + }, 5000) + + return allDisplays +} diff --git a/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-all-displays.vue b/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-all-displays.vue index 97f7b18fb..b2bee955e 100644 --- a/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-all-displays.vue +++ b/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-all-displays.vue @@ -2,7 +2,7 @@ import { useWindowSize } from '@vueuse/core' import { computed, ref } from 'vue' -import { useElectronAllDisplays, useElectronMouse } from '../../stores/window' +import { useElectronAllDisplays, useElectronMouse } from '../../composables/electron-vueuse' const allDisplays = useElectronAllDisplays() const { x: cursorX, y: cursorY } = useElectronMouse() diff --git a/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-relative-mouse.vue b/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-relative-mouse.vue index 76b98443a..79ca9036a 100644 --- a/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-relative-mouse.vue +++ b/apps/stage-tamagotchi/src/renderer/pages/devtools/use-electron-relative-mouse.vue @@ -1,5 +1,5 @@ diff --git a/apps/stage-tamagotchi/src/renderer/stores/window.ts b/apps/stage-tamagotchi/src/renderer/stores/window.ts index 1d50435c3..18416c416 100644 --- a/apps/stage-tamagotchi/src/renderer/stores/window.ts +++ b/apps/stage-tamagotchi/src/renderer/stores/window.ts @@ -1,25 +1,10 @@ -import { defineInvoke } from '@unbird/eventa' -import { useAsyncState, useIntervalFn, useWindowSize } from '@vueuse/core' +import { useWindowSize } from '@vueuse/core' import { defineStore } from 'pinia' import { computed, ref } from 'vue' -import { electron } from '../../shared/eventa' import { useElectronRelativeMouse } from '../composables/electron-vueuse' -import { useElectronEventaContext } from '../composables/electron-vueuse/use-electron-eventa-context' import { useWindowControlStore } from './window-controls' -export function useElectronAllDisplays() { - const context = useElectronEventaContext() - const getAllDisplays = defineInvoke(context.value, electron.screen.getAllDisplays) - const { state: allDisplays, execute } = useAsyncState(() => getAllDisplays(), []) - - useIntervalFn(() => { - execute() - }, 5000) - - return allDisplays -} - export const useWindowStore = defineStore('tamagotchi-window', () => { const windowControlStore = useWindowControlStore()