ChWebsiteApp/CHDataManagement/Views/Posts/ImagePickerView.swift
2024-11-20 23:46:54 +01:00

61 lines
1.6 KiB
Swift

import SwiftUI
struct ImagePickerView: View {
@Binding
var showImagePicker: Bool
@ObservedObject
var post: LocalizedPost
@EnvironmentObject
private var content: Content
@Environment(\.language)
private var language
init(showImagePicker: Binding<Bool>, post: LocalizedPost) {
self._showImagePicker = showImagePicker
self.post = post
}
@State
private var selectedImage: ImageResource?
var body: some View {
VStack {
Text("Select the image to add")
List(content.images, selection: $selectedImage) { image in
Text("\(image.id)")
.tag(image)
}
.frame(minHeight: 300)
HStack {
Button("Add") {
DispatchQueue.main.async {
if let selectedImage {
print("Added image")
post.images.append(selectedImage)
} else {
print("No image to add")
}
}
showImagePicker = false
}
.disabled(selectedImage == nil)
Button("Cancel", role: .cancel) {
showImagePicker = false
}
}
}
.navigationTitle("Pick a page")
.padding()
}
}
#Preview {
ImagePickerView(showImagePicker: .constant(true),
post: LocalizedPost.english)
.environmentObject(Content.mock)
}