fix(stage-tamagotchi): typecheck failed, moved useElectronAllDisplays to composables

This commit is contained in:
Neko Ayaka
2025-10-23 21:36:17 +08:00
parent 2850925716
commit 08bbeb34c6
6 changed files with 22 additions and 19 deletions
@@ -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'
@@ -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
}
@@ -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()
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { useElectronMouse, useElectronRelativeMouse, useElectronWindowBounds } from '../../stores/window'
import { useElectronMouse, useElectronRelativeMouse, useElectronWindowBounds } from '../../composables/electron-vueuse'
const { x: cursorX, y: cursorY } = useElectronMouse()
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { useElectronMouse } from '../../stores/window'
import { useElectronMouse } from '../../composables/electron-vueuse'
const { x, y } = useElectronMouse()
</script>
@@ -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()