From fc0f98f45a30469492af2d0b9aa1b30f4bac5b43 Mon Sep 17 00:00:00 2001 From: Krishna Kumar Date: Sat, 23 May 2026 00:48:46 -0500 Subject: [PATCH] =?UTF-8?q?experiment(PodcastPlayerView):=20add=20skip=20?= =?UTF-8?q?=C2=B115s=20buttons=20to=20full=20player=20controls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marks/Views/PodcastPlayerView.swift | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/Marks/Views/PodcastPlayerView.swift b/Marks/Views/PodcastPlayerView.swift index c08df3a..8703e89 100644 --- a/Marks/Views/PodcastPlayerView.swift +++ b/Marks/Views/PodcastPlayerView.swift @@ -144,6 +144,14 @@ final class PodcastPlayerViewModel { updateNowPlaying() } + func skipForward15() { + seek(to: min(currentTime + 15, duration)) + } + + func skipBackward15() { + seek(to: max(currentTime - 15, 0)) + } + private func setupPlayer(url: URL, title: String) { currentPodcastTitle = title @@ -347,10 +355,22 @@ struct PodcastPlayerView: View { .foregroundStyle(.tertiary) } - Button { vm.togglePlayPause() } label: { - Image(systemName: vm.isPlaying ? "pause.circle.fill" : "play.circle.fill") - .font(.system(size: 72)) - .foregroundStyle(.primary) + HStack(spacing: 36) { + Button { vm.skipBackward15() } label: { + Image(systemName: "gobackward.15") + .font(.system(size: 32)) + .foregroundStyle(.primary) + } + Button { vm.togglePlayPause() } label: { + Image(systemName: vm.isPlaying ? "pause.circle.fill" : "play.circle.fill") + .font(.system(size: 72)) + .foregroundStyle(.primary) + } + Button { vm.skipForward15() } label: { + Image(systemName: "goforward.15") + .font(.system(size: 32)) + .foregroundStyle(.primary) + } } } }