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) {
- |