Autoría | Ultima modificación | Ver Log |
//// ProgressView.swift// twogetskills//// Created by Efrain Yanez Recanatini on 5/5/22.//import Foundationimport SwiftUIstruct MyProgressView: View {@ObservedObject private var viewModel = ProgressViewModel()private let colorTitle = UIColor(hex: Config.COLOR_TEXT_VIEW_TITLE)private let colorBackgroundTopic = UIColor(hex: Config.COLOR_BACKGROUND_TOPIC)private let colorAppBackground = UIColor(hex: Config.COLOR_APP_BAR)private let colorWindowBackground = UIColor(hex: Config.COLOR_WINDOW_BACKGROUND)init(){viewModel.load()}var body: some View {GeometryReader { geometry inVStack {HStack {Text("Cápsulas").font(.title3).fontWeight(/*@START_MENU_TOKEN@*/.bold/*@END_MENU_TOKEN@*/).foregroundColor(Color(colorTitle ?? .gray))Spacer()}.padding([.top], 10).padding(.horizontal, 10)HStack {Spacer()PieChartView(values:[viewModel.percentajeCapsuleIncomplete, viewModel.percentajeCapsuleComplete],names: ["", ""],formatter: {value in String(format: "%.2f%%", value)},colors: [.gray,Color(colorAppBackground ?? .green)],backgroundColor: Color(colorBackgroundTopic ?? .gray),widthFraction: 0.75,innerRadiusFraction: 0.60,chartSize : 250,total : viewModel.percentajeCapsuleComplete).frame(width: 190, height: 190, alignment: .center)Spacer()}HStack {Spacer()VStack {Text(String(viewModel.capsuleTotal)).font(.subheadline).fontWeight(/*@START_MENU_TOKEN@*/.bold/*@END_MENU_TOKEN@*/).foregroundColor(Color(colorTitle ?? .systemBlue))Text("Total").font(.subheadline).foregroundColor(.gray)}VStack {Text(String(viewModel.capsuleTotalStarted)).font(.subheadline).fontWeight(/*@START_MENU_TOKEN@*/.bold/*@END_MENU_TOKEN@*/).foregroundColor(Color(colorTitle ?? .systemBlue))Text("Iniciadas").font(.subheadline).foregroundColor(.gray)}VStack {Text(String(viewModel.capsuleTotalForStart)).font(.subheadline).fontWeight(/*@START_MENU_TOKEN@*/.bold/*@END_MENU_TOKEN@*/).foregroundColor(Color(colorTitle ?? .systemBlue))Text("Por realizar").font(.subheadline).foregroundColor(.gray)}VStack {Text(String(viewModel.capsuleTotalCompleted)).font(.subheadline).fontWeight(/*@START_MENU_TOKEN@*/.bold/*@END_MENU_TOKEN@*/).foregroundColor(Color(colorTitle ?? .systemBlue))Text("Completadas").font(.subheadline).foregroundColor(.gray)}Spacer()}.padding([.top], 5)HStack {Text("Retorno").fontWeight(/*@START_MENU_TOKEN@*/.bold/*@END_MENU_TOKEN@*/).font(.title3).foregroundColor(Color(colorTitle ?? .gray))Spacer()}.padding([.top], 5).padding(.horizontal, 10)HStack {Spacer()PieChartView(values:[Double(viewModel.capsuleTotalWithoutReturning),Double(viewModel.capsuleTotalWithReturning)],names: ["", ""],formatter: {value in String(format: "%.0f", value)},colors: [.gray,Color(colorAppBackground ?? .green)],backgroundColor: Color(colorBackgroundTopic ?? .gray),widthFraction: 0.75,innerRadiusFraction: 0.60,chartSize : 250,total : Double(viewModel.capsuleTotalWithReturning)).frame(width: 190, height: 190, alignment: .center)Spacer()}Spacer()}.onAppear {viewModel.load()}.frame(width: geometry.size.width, height: geometry.size.height, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/).background(Color(colorBackgroundTopic ?? .white)).navigationTitle("Progreso").navigationBarTitleDisplayMode(.inline).navigationBarBackButtonHidden(true)}}}struct MyProgressView_Previews: PreviewProvider {static var previews: some View {MyProgressView()}}