Files
suixinkan_ios_new/suixinkan/Features/ScenicPromotion/Views/ScenicPromotionSettingsContentView.swift

48 lines
1.4 KiB
Swift

//
// ScenicPromotionSettingsContentView.swift
// suixinkan
//
// Created by Codex on 2026/7/2.
//
import SwiftUI
///
struct ScenicPromotionSettingsContentView: View {
@ObservedObject var viewModel: ScenicPromotionSettingsViewModel
let onUploadFailed: () -> Void
var body: some View {
ScrollView(showsIndicators: false) {
VStack(spacing: 16) {
ScenicPromotionSettingsHeaderView()
ScenicPromotionSettingsQueueBindingCard(viewModel: viewModel)
ScenicPromotionSettingsMaterialPointCard(viewModel: viewModel)
ScenicPromotionSettingsMaterialUploadCard(
viewModel: viewModel,
kind: .video,
onUploadFailed: onUploadFailed
)
ScenicPromotionSettingsMaterialUploadCard(
viewModel: viewModel,
kind: .image,
onUploadFailed: onUploadFailed
)
}
.padding(.horizontal, 16)
.padding(.top, 14)
.padding(.bottom, 28)
}
}
}
#if DEBUG
#Preview("设置页内容") {
ScenicPromotionSettingsContentView(
viewModel: ScenicPromotionPreviewSupport.settingsViewModel(),
onUploadFailed: {}
)
.background(AppDesign.background)
}
#endif