Files
Steven Nguyen 1ec6331bce fix: minor bugs
2024-05-17 04:20:37 +00:00

72 lines
1.8 KiB
Swift

import SwiftUI
import Appwrite
import NIO
struct ExampleView: View {
@ObservedObject var viewModel: ViewModel
@State var imageToUpload = OSImage()
var body: some View {
VStack(spacing: 8) {
viewModel.downloadedImage?
.resizable()
.aspectRatio(contentMode: .fit)
.frame(height: 200)
TextField("", text: $viewModel.response, axis: .vertical)
.padding()
TextField("", text: $viewModel.response2, axis: .vertical)
.padding()
Button("Login") {
Task { await viewModel.login() }
}
Button("Login with Facebook") {
Task { await viewModel.loginWithFacebook() }
}
Button("Register") {
Task { await viewModel.register() }
}
Button("Download image") {
Task { await viewModel.download() }
}
Button("Upload image") {
viewModel.isShowPhotoLibrary = true
}
Button("Subscribe") {
Task { await viewModel.subscribe() }
}
}
#if os(macOS)
.onChange(of: viewModel.isShowPhotoLibrary) { showing in
ImagePicker.present()
}
#endif
#if os(iOS) || os(visionOS)
.sheet(isPresented: $viewModel.isShowPhotoLibrary) {
ImagePicker(selectedImage: $imageToUpload)
}
#endif
.onChange(of: imageToUpload) { img in
Task { await viewModel.upload(image: img) }
}
.registerOAuthHandler()
}
}
struct ExampleView_Previews: PreviewProvider {
static var previews: some View {
ExampleView(viewModel: ExampleView.ViewModel())
}
}