Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

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

//
//  CompanyListItemView.swift
//  twogetskills
//
//  Created by Efrain Yanez Recanatini on 7/30/22.
//

import Foundation
import SwiftUI
import HTMLEntities

struct CompanyListItemView: View {
    @EnvironmentObject var appNavigation : AppNavigation

    
    private var companyModel : CompanyModel
    private var companyName : String
    private var appData = AppData.sharedInstance
    
    init (companyUuid : String) {
        
        let companyDao = CompanyDao()
        self.companyModel = companyDao.selectByUuid(uuid: companyUuid)
        

        if companyModel.name.count > Constants.MYCAPSULE_TITLE_MAX_LENGTH {
            self.companyName =  String(Array(companyModel.name)[0...Constants.MYCAPSULE_TITLE_MAX_LENGTH]) + "..."
        } else {
            self.companyName = companyModel.name
        }
        
        
    }
    
    
    
    var body: some View {
        VStack(spacing: 0 ) {
        Group {
            HStack {
                Group {
                
                    if companyModel.image.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
                    
                    
                    Image(uiImage: UIImage(named: "logo") ?? UIImage())
                        .resizable()
                        .resizable()
                        .aspectRatio(contentMode: .fit)
                           
                       
                    
                } else {
                    CustomAsyncImage(
                        url: URL(string: companyModel.image.trimmingCharacters(in: .whitespacesAndNewlines))!,
                        placeholder: { Text(Config.LANG_COMMON_LOADING).font(.footnote).foregroundColor(.black)},
                        image: {
                            Image(uiImage: $0).resizable()
                          
                                   
                        }
                    )
                }
                } .frame(width: 48, height:48, alignment:  .center)
                .clipShape(Circle())
                .overlay(Circle().stroke(Color.white, lineWidth: 1))
                .padding(.top, 5)
                .padding(.leading, 5)
                
       
                
                VStack(spacing: 0)
                {
                    HStack {
                        Text(self.companyName)
                            .font(Font.custom(Config.FONT_NAME_BOLD, size: 14))
                            .foregroundColor(Color("color_capsule_list_item_title_foreground"))
                     
                        Spacer()
                    }
                   
                    
                   
                }
                
                
            }
            
        }
       
        
        Divider()
        } .background(Color("color_capsule_list_item_background"))
        .padding(.leading, 5)
        .padding(.trailing, 5)
        
    }
}

struct CompanyListItemView_Previews: PreviewProvider {
    

    
    
    static var previews: some View {
        CompanyListItemView(companyUuid: "C123")
        
    }
}