40 lines
1.5 KiB
Swift
40 lines
1.5 KiB
Swift
import SwiftUI
|
|
|
|
struct TrainingView: View {
|
|
@ObservedObject var controller: PlayerController
|
|
@ObservedObject var catalogVM: CatalogViewModel
|
|
@Binding var continuousPlayback: Bool
|
|
@Binding var showChineseSubtitles: Bool
|
|
var chineseSubtitlePlaceholder: String = "正在翻译中文字幕…"
|
|
let onFullscreen: () -> Void
|
|
|
|
var body: some View {
|
|
ScrollView(showsIndicators: false) {
|
|
VStack(spacing: 0) {
|
|
PlayerSectionView(
|
|
controller: controller,
|
|
showsContinuousToggle: true,
|
|
continuousPlayback: $continuousPlayback,
|
|
showsLessonTitle: false,
|
|
showChineseSubtitles: $showChineseSubtitles,
|
|
chineseSubtitlePlaceholder: chineseSubtitlePlaceholder,
|
|
onFullscreen: onFullscreen
|
|
)
|
|
CatalogView(vm: catalogVM)
|
|
.padding(.bottom, 20)
|
|
}
|
|
}
|
|
.onChange(of: continuousPlayback) { enabled in
|
|
controller.setContinuousPlayback(enabled)
|
|
controller.showTransientMessage(
|
|
enabled
|
|
? "已开启连续播放,将按句子顺序连续播放"
|
|
: "已关闭连续播放,将循环播放当前句子"
|
|
)
|
|
}
|
|
.onChange(of: showChineseSubtitles) { enabled in
|
|
controller.showTransientMessage(enabled ? "已开启中文字幕" : "已关闭中文字幕")
|
|
}
|
|
}
|
|
}
|