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