From 937ec0d001021c4cef0f23afffd8fe43415b0542 Mon Sep 17 00:00:00 2001 From: Chris Offner <chrisoffner@pm.me> Date: Mon, 29 Mar 2021 11:17:22 +0200 Subject: [PATCH] suuure, whatever --- .../SwiftUI/Inbox/MailRowView.swift | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 enzevalos_iphone/SwiftUI/Inbox/MailRowView.swift diff --git a/enzevalos_iphone/SwiftUI/Inbox/MailRowView.swift b/enzevalos_iphone/SwiftUI/Inbox/MailRowView.swift new file mode 100644 index 00000000..fa89a176 --- /dev/null +++ b/enzevalos_iphone/SwiftUI/Inbox/MailRowView.swift @@ -0,0 +1,69 @@ +// +// MailRow.swift +// enzevalos_iphone +// +// Created by Oliver Wiese on 27.10.20. +// Modified by Chris Offner & Claire Bräuer in March 2021. +// Copyright © 2020 fu-berlin. All rights reserved. +// + +import SwiftUI + +struct MailRowView <M: DisplayMail>: View { + let mail: M + + var body: some View { + HStack { + avatar + + VStack(alignment: .leading) { + HStack { + // Sender name + Text(mail.sender.name) + .fontWeight(mail.isRead ? .regular : .medium) + .lineLimit(1) + + Spacer() + + // Arrival time + Text(mail.date.timeAgoText()) + .font(.caption) + } + + HStack { + // Subject + Text(mail.subject) + .font(.caption) + .lineLimit(2) + + Spacer() + + // Attachment indicator if relevant + if !mail.displayAttachments.isEmpty { + Image(systemName: "paperclip") + .font(.caption) + .foregroundColor(.secondary) + } + } + } + .foregroundColor(mail.isRead ? .secondary : .primary) + } + .padding(4) + .frame(height: 65) + } + + private var avatar: some View { + mail.sender.avatar + .resizable() + .aspectRatio(contentMode: .fit) + .shadow(radius: 2) + .opacity(mail.isRead ? 0.45 : 1) + } +} + +struct MailRow_Previews: PreviewProvider { + static var previews: some View { + MailRowView(mail: ProxyData.PlainMail) + .previewLayout(.sizeThatFits) + } +} -- GitLab