From fa66ba69bb5893ac773a326b6fda3a9b86718a1e Mon Sep 17 00:00:00 2001 From: th Date: Thu, 23 Apr 2026 20:31:41 +0200 Subject: [PATCH] 0.11.1: drawer mouse trigger and clip track / audio behavior --- package.json | 2 +- src/components/AssetSidebar.vue | 2 +- src/components/ClipartDrawer.vue | 20 +++- src/components/SceneDrawer.vue | 17 ++- src/components/Timeline.vue | 181 +++++++++++++++++++++++++++---- src/composables/useFullscreen.ts | 45 ++++++++ src/i18n/messages.ts | 8 +- src/stores/scene.ts | 12 ++ src/version.ts | 2 +- 9 files changed, 258 insertions(+), 31 deletions(-) create mode 100644 src/composables/useFullscreen.ts diff --git a/package.json b/package.json index 26a87a2..3e0e093 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ruwio", "private": true, - "version": "0.11.0", + "version": "0.11.1", "type": "module", "scripts": { "dev": "vite", diff --git a/src/components/AssetSidebar.vue b/src/components/AssetSidebar.vue index 62607d8..9bc6e86 100644 --- a/src/components/AssetSidebar.vue +++ b/src/components/AssetSidebar.vue @@ -1016,7 +1016,7 @@ h4 { background: transparent !important; color: var(--text-dim); font-style: italic; - justify-content: center; + justify-content: flex-start; } diff --git a/src/components/ClipartDrawer.vue b/src/components/ClipartDrawer.vue index 207228b..72ea0ec 100644 --- a/src/components/ClipartDrawer.vue +++ b/src/components/ClipartDrawer.vue @@ -4,9 +4,24 @@ import { PhArrowClockwise, PhCaretLeft, PhCaretRight, PhFolderOpen, PhImagesSqua import { useClipartStore } from '@/stores/clipart' import { readAudioDuration, readAsDataUrl } from '@/lib/fileLoader' import { clearAudioDragSource, setAudioDragSource } from '@/composables/useAudioDragSource' +import { useFullscreen } from '@/composables/useFullscreen' import { t } from '@/i18n' const clipart = useClipartStore() +const { isFullscreen } = useFullscreen() + +// In browser-fullscreen mode the drawer auto-opens on tab hover and +// auto-closes when the mouse leaves the drawer — no click-toggle. +function onTabClick() { + if (isFullscreen.value) return + clipart.toggle() +} +function onTabEnter() { + if (isFullscreen.value) clipart.setOpen(true) +} +function onDrawerLeave() { + if (isFullscreen.value) clipart.setOpen(false) +} onMounted(() => { clipart.initialize() @@ -64,11 +79,12 @@ function onItemDragStart(e: DragEvent, index: number) {