MessageView.swift 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // MessageView.swift
  3. // Chat
  4. //
  5. // Created by Sergey Tarasov on 24.07.2022.
  6. //
  7. import SwiftUI
  8. struct MessageView: View {
  9. let text: String
  10. let time: String
  11. let isSelf: Bool
  12. var body: some View {
  13. HStack(alignment: .bottom) {
  14. Text(text)
  15. .foregroundColor(.primary)
  16. .padding(.vertical, 6)
  17. .padding(.horizontal, 12)
  18. Text(time)
  19. .font(.caption)
  20. .foregroundColor(.secondary)
  21. .padding(.vertical, 6)
  22. .padding(.trailing, 12)
  23. .padding(.leading, -12)
  24. }
  25. .background(
  26. RoundedRectangle(cornerRadius: 17)
  27. .foregroundColor(isSelf ? .mint.opacity(0.1) : .secondary.opacity(0.1))
  28. )
  29. }
  30. }
  31. struct MessageView_Previews: PreviewProvider {
  32. static var previews: some View {
  33. MessageView(text: "Малое пробное сообщение", time: "23:05", isSelf: true)
  34. .padding()
  35. .previewLayout(.sizeThatFits)
  36. MessageView(text: "Пробное сообщение на несколько строк для проверки того, как выглядит сообщение и его фон", time: "23:08", isSelf: false)
  37. .padding()
  38. .previewLayout(.sizeThatFits)
  39. }
  40. }