From 1fa6f6a4bbb842d346104538b9170aaf317cbce8 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 22 Jun 2026 00:12:43 +0800 Subject: [PATCH] feat: toolbar auto-hides after 60s of no interaction --- Sources/MiniPlayerApp.swift | 5 +++++ Sources/PlayerBridge.swift | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/Sources/MiniPlayerApp.swift b/Sources/MiniPlayerApp.swift index 09a412e..c8d2712 100644 --- a/Sources/MiniPlayerApp.swift +++ b/Sources/MiniPlayerApp.swift @@ -202,6 +202,11 @@ struct ControlToolbar: View { .padding(.horizontal, 16) .padding(.vertical, 8) .background(.black.opacity(0.55)) + .onHover { hovering in + bridge.isInteracting = hovering + if hovering { bridge.recordInteraction() } + } + .onTapGesture { bridge.recordInteraction() } } } diff --git a/Sources/PlayerBridge.swift b/Sources/PlayerBridge.swift index 550e934..46fe77d 100644 --- a/Sources/PlayerBridge.swift +++ b/Sources/PlayerBridge.swift @@ -330,6 +330,10 @@ final class PlayerBridge: ObservableObject { // MARK: - 播放列表窗口 @Published var showPlaylistSheet = false + @Published var lastInteraction = Date() + @Published var isInteracting = false + + func recordInteraction() { lastInteraction = Date() } func togglePlaylistWindow() { #if os(macOS)