NCUploadAssets.swift 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // NCUploadAssets.swift
  3. // Nextcloud
  4. //
  5. // Created by Marino Faggiana on 04/01/23.
  6. // Copyright © 2023 Marino Faggiana. All rights reserved.
  7. //
  8. import SwiftUI
  9. class NCHostingUploadAssetsView: NSObject {
  10. @objc func makeShipDetailsUI(assets: [PHAsset], cryptated: Bool, session: String ,userBaseUrl: NCUserBaseUrl, serverUrl: String) -> UIViewController {
  11. let uploadAssets = NCUploadAssets(assets: assets, cryptated: cryptated, session: session, userBaseUrl: userBaseUrl, serverUrl: serverUrl)
  12. let details = UploadAssetsView(uploadAssets: uploadAssets)
  13. let vc = UIHostingController(rootView: details)
  14. vc.title = NSLocalizedString("_upload_photos_videos_", comment: "")
  15. return vc
  16. }
  17. }
  18. class NCUploadAssets: ObservableObject {
  19. internal var assets: [PHAsset]
  20. internal var cryptated: Bool
  21. internal var session: String
  22. internal var userBaseUrl: NCUserBaseUrl
  23. internal var serverUrl: String
  24. init(assets: [PHAsset], cryptated: Bool, session: String, userBaseUrl: NCUserBaseUrl, serverUrl: String) {
  25. self.assets = assets
  26. self.cryptated = cryptated
  27. self.session = session
  28. self.userBaseUrl = userBaseUrl
  29. self.serverUrl = serverUrl
  30. }
  31. }
  32. struct UploadAssetsView: View {
  33. @ObservedObject var uploadAssets: NCUploadAssets
  34. var body: some View {
  35. Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
  36. }
  37. }
  38. // MARK: - Preview
  39. struct UploadAssetsView_Previews: PreviewProvider {
  40. static var previews: some View {
  41. if let appDelegate = UIApplication.shared.delegate as? AppDelegate {
  42. let uploadAssets = NCUploadAssets(assets: [], cryptated: false, session: "", userBaseUrl: appDelegate, serverUrl: "ABCD")
  43. UploadAssetsView(uploadAssets: uploadAssets)
  44. }
  45. }
  46. }