Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 1 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

//
//  PdfView.swift
//  twogetskills
//
//  Created by Efrain Yanez Recanatini on 4/26/22.
//

import Foundation
import SwiftUI
import PDFKit
import Network
import Alamofire
import SwiftyJSON
import TTGSnackbar



struct PdfViewerView: View {
    @EnvironmentObject private var appNavigation : AppNavigation
    
    private var appData = AppData.sharedInstance
    private var slideModel : SlideModel
    private var slideTitle : String
    private var url : URL?
    
    init()
    {
        print("urlExternalDownloaded : \(appData.urlExternalDownloaded)")
        self.url = URL(string: appData.urlExternalDownloaded)
        
        let slideDao = SlideDao()
        self.slideModel = slideDao.selectByUuid(uuid: appData.slideUuidActive)

        if self.slideModel.name.count > Constants.APP_BAR_TITLE_MAX_LENGTH {
            slideTitle = String(Array(self.slideModel.name)[0...Constants.APP_BAR_TITLE_MAX_LENGTH]) + "..."
        } else {
            slideTitle = self.slideModel.name
        }
        
        
        



    }
    
    var body: some View {
        VStack(spacing: 0) {
            HStack {
                Button(action: {
                    
                    if self.url != nil {
                        do {
                            try FileManager.default.removeItem(at: self.url!)
                                   print("Documento temporal borrado")
                         } catch {
                            print(error)
                        }
                    }
                    
                    let dataService = DataService()
                    dataService.completeSlide(slide: slideModel)
                   
                    appNavigation.pageActive = .home
                    
                    
               
                }, label: {

                    
                    Image(systemName: "chevron.backward")
                    .frame(width: 32, height: 32, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
                    .aspectRatio(contentMode: .fit)
                    .foregroundColor(Color("color_app_bar_foreground"))
                })
                .padding(.leading, 16)
                
                Text(self.slideTitle)
                .font(Font.custom(Config.FONT_NAME_REGULAR, size: Config.FONT_SIZE_APP_BAR_HEAD1 ))
                .foregroundColor(Color("color_app_bar_foreground"))
                    .padding(.leading, 4)
                
                Spacer()
            }
            .background(Color("color_app_bar_background"))
            .edgesIgnoringSafeArea(.top)
            .frame(height: 50)
            Divider()


                GeometryReader { geometry in
                
                    PDFKitRepresentedView(url!)
                    .frame(
                        width: geometry.size.width,
                        height: geometry.size.height,
                        alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
   
                    
                }
           
            
            Spacer()

           
        }
    }
}


struct PdfViewerView_Previews: PreviewProvider {
    static var previews: some View {
        PdfViewerView()
    }
}