feat: zoom in/out with Cmd+/Cmd-/Cmd+0

This commit is contained in:
2026-06-14 23:27:54 +08:00
parent 22a63de6d7
commit 0a3619243e
2 changed files with 35 additions and 1 deletions

View File

@@ -32,6 +32,34 @@
</div>
</template>
<script setup lang="ts">
import { onMounted, onUnmounted, ref } from 'vue'
import { invoke } from '@tauri-apps/api/core'
let currentZoom = ref(1.0)
function handleKeydown(e: KeyboardEvent) {
if ((e.metaKey || e.ctrlKey)) {
if (e.key === '=' || e.key === '+') {
e.preventDefault()
currentZoom.value = Math.min(currentZoom.value + 0.1, 3.0)
invoke('set_zoom', { zoomFactor: currentZoom.value }).catch(() => {})
} else if (e.key === '-') {
e.preventDefault()
currentZoom.value = Math.max(currentZoom.value - 0.1, 0.5)
invoke('set_zoom', { zoomFactor: currentZoom.value }).catch(() => {})
} else if (e.key === '0') {
e.preventDefault()
currentZoom.value = 1.0
invoke('set_zoom', { zoomFactor: 1.0 }).catch(() => {})
}
}
}
onMounted(() => document.addEventListener('keydown', handleKeydown))
onUnmounted(() => document.removeEventListener('keydown', handleKeydown))
</script>
<style>
@import './assets/wordpress-exact.css';
</style>