Autoría | Ultima modificación | Ver Log |
//// TimeLinePointView.swift// twogetskills//// Created by Efrain Yanez Recanatini on 3/24/22.//import Foundationimport SwiftUIstruct TimeLinePointView : View {private let activity : Stringprivate let imageName : Stringprivate let date : Stringprivate let highlight : Boolinit(userLogModel : UserLogModel, highlight : Bool){self.highlight = highlightlet dateFormatterUserLog = DateFormatter()dateFormatterUserLog.dateFormat = Constants.FORMAT_DATETIME_SERVICElet dateFormatterView = DateFormatter()dateFormatterView.dateFormat = Constants.FORMAT_DATE_TIME_12let now = Date()let timeStamp = dateFormatterUserLog.date(from: userLogModel.addedOn) ?? nowdate = dateFormatterView.string(from: timeStamp)//let dateOn = dateFormatter.string(from: now)if userLogModel.activity == Constants.USER_LOG_ACTIVITY_SIGNIN {imageName = "ic_inicio_de_sesion"activity = "Inicio sesión"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_SIGNOUT {imageName = "ic_cerrar_sesion"activity = "Cerrar sesión"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_START_TOPIC {imageName = "ic_inicio_un_topico"activity = "Inicio un tópico"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_START_CAPSULE {imageName = "ic_inicio_una_capsula"activity = "Inicio una cápsula"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_COMPLETED_TOPIC {imageName = "ic_competo_un_topico"activity = "Completo un tópico"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_COMPLETED_CAPSULE {imageName = "ic_completo_una_capsula"activity = "Completo una cápsula"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_VIEW_SLIDE {imageName = "ic_vio_una_diapositiva"activity = "Ver una diapositiva"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_TAKE_A_TEST {imageName = "ic_tomo_un_quiz"activity = "Tomo un cuestionario"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_RETAKE_A_TEST {imageName = "ic_repitio_un_quiz"activity = "Repitio un cuestionario"}else if userLogModel.activity == Constants.USER_LOG_ACTIVITY_APPROVED_TEST {imageName = "ic_questionario_paso"activity = "Aprobo un cuestionario"}else {imageName = "ic_desconocido"activity = "Desconocido"}}var body: some View {GeometryReader { geometry inlet posXCircle = (10 + (geometry.size.width / 2)) - geometry.size.widthlet posYCircle = (geometry.size.height / 2)let posXLine = (10 + (geometry.size.width / 2)) - geometry.size.widthZStack {Circle().frame(width: 10, height: 10, alignment: .topTrailing).foregroundColor( Color("color_timeline_list_item_foreground_indicator")).offset(x: posXCircle, y: posYCircle)Rectangle().frame(width:5, height: geometry.size.height).foregroundColor( Color("color_timeline_list_item_foreground_indicator")).offset(x: posXLine, y: 0)HStack{VStack(alignment: .leading, spacing: 8) {Text(activity).bold().font(.callout).lineLimit(1).foregroundColor(highlight ? Color("color_timeline_list_item_foreground_highlight") : Color("color_timeline_list_item_foreground"))Text(date).font(.caption2).foregroundColor(highlight ? Color("color_timeline_list_item_foreground_highlight") : Color("color_timeline_list_item_foreground"))}.padding(.leading, 25)Spacer()Image(uiImage: UIImage(named: imageName) ?? UIImage()).resizable().aspectRatio(contentMode: .fit).frame(width: 32, height: 32).background(Color("color_timeline_list_item_background")).clipShape(Circle()).overlay(Circle().stroke(Color.white, lineWidth: 4)).shadow(radius: 10).padding(10)}}}}}struct TimeLinePointView_Previews: PreviewProvider {static var previews: some View {let userLogModel = UserLogModel()TimeLinePointView(userLogModel : userLogModel, highlight: true)}}