Rev 1 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
//
// HtmlView.swift
// twogetskills
//
// Created by Efrain Yanez Recanatini on 4/26/22.
//
import Foundation
import Foundation
import SwiftUI
import PDFKit
import HTMLEntities
struct WebViewerView: View {
@EnvironmentObject private var appNavigation : AppNavigation
private var slideModel : SlideModel
private var slideTitle : String
private var appData = AppData.sharedInstance
init()
{
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
}
//print("Viewer WEB: \(slideModel.description) ")
}
var body: some View {
VStack(spacing: 0)
{
HStack {
Button(action: {
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(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
TextHtmlView(content: slideModel.description)
.frame(
width: geometry.size.width,
height: geometry.size.height,
alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
.padding(10)
.border(/*@START_MENU_TOKEN@*/Color.black/*@END_MENU_TOKEN@*/, width: /*@START_MENU_TOKEN@*/1/*@END_MENU_TOKEN@*/)
}
}.background(Color("color_window_background"))
}
}
struct WebViewerView_Previews: PreviewProvider {
static var previews: some View {
WebViewerView()
}
}