У меня есть это мнение
import SwiftUI
struct CurrentOrderView: View {
let order: CurrentOrder
var body: some View {
VStack(alignment: .leading, spacing: 4) {
HStack {
Text("Order:")
Text(order.orderId)
}
HStack {
Image(uiImage: deliveryImage)
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 50.0, height: 50.0)
Text(order.formattedDeliveryTimeString)
}
}
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .leading)
.padding()
.background(LinearGradient(gradient: Gradient(colors: [.orange, .yellow]), startPoint: .top, endPoint: .bottom))
}
}
// MARK: - Private
private extension CurrentOrderView {
private var deliveryImage: UIImage {
switch order.status {
case .driverOnTheWayToRestaurant:
return UIImage(named: "pin-restaurant") ?? UIImage()
case .driverOnTheWayToUser:
return UIImage(named: "rider") ?? UIImage()
}
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
Group {
CurrentOrderView(
order: CurrentOrderEntryPlaceholderBuilder()
.entry(with: .snapshot).order
)
.previewLayout(.fixed(width: 200, height: 100))
}
}
}
#endif
На холсте я вижу: