mirror of
https://github.com/appwrite/sdk-for-apple.git
synced 2026-04-07 19:17:50 +00:00
72 lines
1.8 KiB
Swift
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())
|
|
}
|
|
}
|