import UIKit

final class SampleTableViewCell: UITableViewCell {
  
    static let cellHeight: CGFloat = 60.0
  
    static let reuseIdentifier: String = String(describing: SampleTableViewCell.self)
  
    private let nameLabel: UILabel = UILabel()
   
    func update(with model: String) {
       nameLabel.text = model
    }
}

#if DEBUG
#if targetEnvironment(simulator)
import SwiftUI

@available(iOS 13.0, *)
struct SampleTableViewCell_Previews: PreviewProvider {
    
    static var devices = ["iPhone 13 Pro Max"]
    
    static var platform: PreviewPlatform? {
        return SwiftUI.PreviewPlatform.iOS
    }
    
    static var previews: some SwiftUI.View {
        
        let height: CGFloat = SampleTableViewCell.cellHeight
        
        ForEach(devices, id: \.self) { deviceName in
            
            VStack(alignment: .center, spacing: 10) {
                
                UIViewPreview {
                        
                    let view = SampleTableViewCell(style: UITableViewCell.CellStyle.default, reuseIdentifier: SampleTableViewCell.reuseIdentifier)
                    view.update(with: "Test")
                    return view
                }
                .frame(minWidth: 70, maxWidth: .infinity, minHeight: height, maxHeight: height, alignment: .center)
                
                Spacer()
            }
            .previewDevice(PreviewDevice(rawValue: deviceName))
            .previewDisplayName(deviceName)
        }
        
    }
}
#endif
#endif