From eaf9a93aecd61eeae296ce3b05b0f827586ccf61 Mon Sep 17 00:00:00 2001 From: Naomi Plasterer Date: Mon, 13 Jan 2025 17:48:03 -0800 Subject: [PATCH] fix up the example app --- XMTP.podspec | 2 +- .../Views/ConversationDetailView.swift | 2 +- .../Views/GroupDetailView.swift | 2 +- .../Views/MessageCellView.swift | 30 ++++++++++++------- .../Views/MessageListView.swift | 4 +-- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/XMTP.podspec b/XMTP.podspec index 222c198a..f8f58f6d 100644 --- a/XMTP.podspec +++ b/XMTP.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = "XMTP" - spec.version = "3.0.22" + spec.version = "3.0.23" spec.summary = "XMTP SDK Cocoapod" diff --git a/XMTPiOSExample/XMTPiOSExample/Views/ConversationDetailView.swift b/XMTPiOSExample/XMTPiOSExample/Views/ConversationDetailView.swift index 188e03f9..6316fcf4 100644 --- a/XMTPiOSExample/XMTPiOSExample/Views/ConversationDetailView.swift +++ b/XMTPiOSExample/XMTPiOSExample/Views/ConversationDetailView.swift @@ -12,7 +12,7 @@ struct ConversationDetailView: View { var client: Client var conversation: Conversation - @State private var messages: [DecodedMessage] = [] + @State private var messages: [Message] = [] var body: some View { VStack { diff --git a/XMTPiOSExample/XMTPiOSExample/Views/GroupDetailView.swift b/XMTPiOSExample/XMTPiOSExample/Views/GroupDetailView.swift index 524f83a3..2c70ea6a 100644 --- a/XMTPiOSExample/XMTPiOSExample/Views/GroupDetailView.swift +++ b/XMTPiOSExample/XMTPiOSExample/Views/GroupDetailView.swift @@ -12,7 +12,7 @@ struct GroupDetailView: View { var client: Client var group: XMTPiOS.Group - @State private var messages: [DecodedMessage] = [] + @State private var messages: [Message] = [] @State private var isShowingSettings = false var body: some View { diff --git a/XMTPiOSExample/XMTPiOSExample/Views/MessageCellView.swift b/XMTPiOSExample/XMTPiOSExample/Views/MessageCellView.swift index dbf128ab..a335a71a 100644 --- a/XMTPiOSExample/XMTPiOSExample/Views/MessageCellView.swift +++ b/XMTPiOSExample/XMTPiOSExample/Views/MessageCellView.swift @@ -10,7 +10,7 @@ import XMTPiOS struct MessageTextView: View { var myAddress: String - var message: DecodedMessage + var message: Message var isGroup: Bool = false @State private var isDebugging = false @@ -57,7 +57,11 @@ struct MessageTextView: View { do { return try message.content() } catch { - return message.fallbackContent + do { + return try message.fallbackContent + } catch { + return "Failed to retrieve content" + } } } @@ -79,7 +83,7 @@ struct MessageTextView: View { } struct MessageGroupMembershipChangedView: View { - var message: DecodedMessage + var message: Message var body: some View { Text(label) @@ -110,18 +114,22 @@ struct MessageGroupMembershipChangedView: View { struct MessageCellView: View { var myAddress: String - var message: DecodedMessage + var message: Message var isGroup: Bool = false @State private var isDebugging = false var body: some View { - switch message.encodedContent.type { - case ContentTypeText: - MessageTextView(myAddress: myAddress, message: message) - case ContentTypeGroupUpdated: - MessageGroupMembershipChangedView(message: message) - default: - Text(message.fallbackContent) + do { + switch try message.encodedContent.type { + case ContentTypeText: + return AnyView(MessageTextView(myAddress: myAddress, message: message)) + case ContentTypeGroupUpdated: + return AnyView(MessageGroupMembershipChangedView(message: message)) + default: + return AnyView(Text(try message.fallbackContent)) + } + } catch { + return AnyView(Text("Failed to load content")) } } } diff --git a/XMTPiOSExample/XMTPiOSExample/Views/MessageListView.swift b/XMTPiOSExample/XMTPiOSExample/Views/MessageListView.swift index 258b6c1d..60b0ecd4 100644 --- a/XMTPiOSExample/XMTPiOSExample/Views/MessageListView.swift +++ b/XMTPiOSExample/XMTPiOSExample/Views/MessageListView.swift @@ -10,7 +10,7 @@ import XMTPiOS struct MessageListView: View { var myAddress: String - var messages: [DecodedMessage] + var messages: [Message] var isGroup: Bool = false var body: some View { @@ -22,7 +22,7 @@ struct MessageListView: View { } VStack { - ForEach(Array(messages.sorted(by: { $0.sent < $1.sent }).enumerated()), id: \.0) { i, message in + ForEach(Array(messages.sorted(by: { $0.sentAt < $1.sentAt }).enumerated()), id: \.0) { i, message in MessageCellView(myAddress: myAddress, message: message, isGroup: isGroup) .transition(.scale) .id(i)