new SeekType chapterSkip

When a user taps on a chapter, the pop now also shows the name of the chapter. The chapters are now marked in AppRedColor instead of orange.

This is based on PR #639

That one needs to be merged first before this one can go in.
This commit is contained in:
Toni Förster 2024-05-03 15:20:51 +02:00
parent ae65acdd16
commit 03fbb4933a
No known key found for this signature in database
GPG Key ID: 292F3E5086C83FC7
4 changed files with 12 additions and 3 deletions

View File

@ -1,6 +1,7 @@
import Foundation import Foundation
enum SeekType: Equatable { enum SeekType: Equatable {
case chapterSkip(String)
case segmentSkip(String) case segmentSkip(String)
case segmentRestore case segmentRestore
case userInteracted case userInteracted

View File

@ -85,6 +85,14 @@ struct Seek: View {
.font(.system(size: playerControlsLayout.segmentFontSize)) .font(.system(size: playerControlsLayout.segmentFontSize))
.foregroundColor(getColor(for: category)) .foregroundColor(getColor(for: category))
.padding(.bottom, 3) .padding(.bottom, 3)
case let .chapterSkip(chapter):
Divider()
Text(chapter)
.font(.system(size: playerControlsLayout.segmentFontSize))
.truncationMode(.tail)
.multilineTextAlignment(.center)
.foregroundColor(Color("AppRedColor"))
.padding(.bottom, 3)
default: default:
EmptyView() EmptyView()
} }

View File

@ -333,7 +333,7 @@ struct TimelineView: View {
var chaptersLayers: some View { var chaptersLayers: some View {
ForEach(chapters) { chapter in ForEach(chapters) { chapter in
RoundedRectangle(cornerRadius: 4) RoundedRectangle(cornerRadius: 4)
.fill(Color.orange) .fill(Color("AppRedColor"))
.frame(maxWidth: 2, maxHeight: height) .frame(maxWidth: 2, maxHeight: height)
.offset(x: (chapter.start * oneUnitWidth) - 1) .offset(x: (chapter.start * oneUnitWidth) - 1)
} }

View File

@ -15,7 +15,7 @@ import SwiftUI
var body: some View { var body: some View {
Button(action: { Button(action: {
player.backend.seek(to: chapter.start, seekType: .userInteracted) player.backend.seek(to: chapter.start, seekType: .chapterSkip(chapter.title))
}) { }) {
Group { Group {
verticalChapter verticalChapter
@ -72,7 +72,7 @@ import SwiftUI
var body: some View { var body: some View {
Button { Button {
player.backend.seek(to: chapter.start, seekType: .userInteracted) player.backend.seek(to: chapter.start, seekType: .chapterSkip(chapter.title))
} label: { } label: {
Group { Group {
horizontalChapter horizontalChapter