kanno927's picture
feature(#134): update ui/ux of Watch app
2c44d83
import SwiftUI
class Contact : Codable {
var contactId: String
var displayName: String
var phoneNumbers: [String]
init(contactId: String, displayName: String, phoneNumbers: [String]) {
self.contactId = contactId
self.displayName = displayName
self.phoneNumbers = phoneNumbers
}
}
struct ContactBubble: Shape {
func path(in rect: CGRect) -> Path {
let path = UIBezierPath(roundedRect: rect,
byRoundingCorners: [.allCorners],
cornerRadii: CGSize(width: 9, height: 9))
return Path(path.cgPath)
}
}
struct ContactRow: View {
let contact: Contact
var body: some View {
HStack {
Text(contact.displayName)
.italic()
.font(.system(size: 15))
.foregroundColor(.white)
.padding(5)
Spacer()
Image(systemName: "phone.fill")
.resizable()
.frame(width: 17, height: 17)
.foregroundColor(.white)
}
.background(Color.clear)
.clipShape(ContactBubble())
}
}
struct Contact_Previews: PreviewProvider {
static var previews: some View {
ContactRow(contact: Contact(
contactId: "5",
displayName: "Peter Luo",
phoneNumbers: ["123-234-345"])
)
}
}