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()
}
}