From 603cd2bb0231df8cf1600529fd5ec11200dffb88 Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 7 Mar 2026 23:02:57 +0500 Subject: [PATCH] =?UTF-8?q?iOS:=20add=20swipe=20gestures=20to=20mini=20pla?= =?UTF-8?q?yer=20=E2=80=94=20up=20to=20expand,=20down=20to=20dismiss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LibNovel/Views/Player/PlayerViews.swift | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ios/LibNovel/LibNovel/Views/Player/PlayerViews.swift b/ios/LibNovel/LibNovel/Views/Player/PlayerViews.swift index a293f15..50d706c 100644 --- a/ios/LibNovel/LibNovel/Views/Player/PlayerViews.swift +++ b/ios/LibNovel/LibNovel/Views/Player/PlayerViews.swift @@ -63,7 +63,7 @@ struct MiniPlayerView: View { .foregroundStyle(.red) .frame(width: 36, height: 36) default: - Color.clear.frame(width: 36, height: 36) + EmptyView() } } @@ -81,6 +81,18 @@ struct MiniPlayerView: View { } .background(.ultraThinMaterial) .shadow(color: .black.opacity(0.15), radius: 6, y: -2) + .gesture( + DragGesture(minimumDistance: 20, coordinateSpace: .local) + .onEnded { value in + if value.translation.height < -20 { + // Swipe up → expand full player + showFullPlayer = true + } else if value.translation.height > 20 { + // Swipe down → dismiss + audioPlayer.stop() + } + } + ) } private var progress: CGFloat {