diff --git a/DemoAppSwiftUI/AppDelegate.swift b/DemoAppSwiftUI/AppDelegate.swift index 58a40f5ff..1797dcc3d 100644 --- a/DemoAppSwiftUI/AppDelegate.swift +++ b/DemoAppSwiftUI/AppDelegate.swift @@ -71,8 +71,7 @@ class AppDelegate: NSObject, UIApplicationDelegate { let utils = Utils( channelListConfig: ChannelListConfig( - channelItemMutedStyle: .afterChannelName, - messageRelativeDateFormatEnabled: true + channelItemMutedStyle: .afterChannelName ), messageListConfig: MessageListConfig( messageDisplayOptions: .init(showOriginalTranslatedButton: true), diff --git a/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift b/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift index b3e7dc1dc..a3e344576 100644 --- a/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift +++ b/DemoAppSwiftUI/ChannelHeader/CustomChannelHeader.swift @@ -33,7 +33,7 @@ public struct CustomChannelHeader: ToolbarContent { .frame(width: 24, height: 24) .foregroundColor(Color(colors.navigationBarGlyph)) .padding(.all, 8) - .background(colors.navigationBarTintColor) + .background(Color(colors.navigationBarTintColor)) .clipShape(Circle()) } .accessibilityLabel(Text("New Channel")) diff --git a/DemoAppSwiftUI/ChannelHeader/NewChatView.swift b/DemoAppSwiftUI/ChannelHeader/NewChatView.swift index c3995ebdb..a5c5b302e 100644 --- a/DemoAppSwiftUI/ChannelHeader/NewChatView.swift +++ b/DemoAppSwiftUI/ChannelHeader/NewChatView.swift @@ -186,7 +186,7 @@ struct CreateGroupButton: View { HStack { Image(systemName: "person.3") .renderingMode(.template) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) Text("Create a group") .font(fonts.bodyBold) @@ -227,7 +227,7 @@ struct ChatUserView: View { if isSelected { Image(systemName: "checkmark") .renderingMode(.template) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) } } } diff --git a/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift b/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift index 834a965ea..b0c4f038c 100644 --- a/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift +++ b/DemoAppSwiftUI/ChannelHeader/NewChatViewModel.swift @@ -3,6 +3,7 @@ // import StreamChat +import StreamChatCommonUI import StreamChatSwiftUI import SwiftUI diff --git a/DemoAppSwiftUI/CreateGroupViewModel.swift b/DemoAppSwiftUI/CreateGroupViewModel.swift index 6f16b7781..e935cdcdd 100644 --- a/DemoAppSwiftUI/CreateGroupViewModel.swift +++ b/DemoAppSwiftUI/CreateGroupViewModel.swift @@ -3,6 +3,7 @@ // import StreamChat +import StreamChatCommonUI import StreamChatSwiftUI import SwiftUI diff --git a/DemoAppSwiftUI/GroupNameView.swift b/DemoAppSwiftUI/GroupNameView.swift index ef632b4d3..689a004bb 100644 --- a/DemoAppSwiftUI/GroupNameView.swift +++ b/DemoAppSwiftUI/GroupNameView.swift @@ -85,7 +85,7 @@ struct GroupControlsView: View { Image(systemName: "checkmark") .renderingMode(.template) .foregroundColor( - viewModel.canCreateGroup ? colors.tintColor : Color(colors.textLowEmphasis) + viewModel.canCreateGroup ? Color(colors.accentPrimary) : Color(colors.textLowEmphasis) ) } .disabled(!viewModel.canCreateGroup) diff --git a/DemoAppSwiftUI/LoginView.swift b/DemoAppSwiftUI/LoginView.swift index d3fa4df8a..c6443faf3 100644 --- a/DemoAppSwiftUI/LoginView.swift +++ b/DemoAppSwiftUI/LoginView.swift @@ -64,7 +64,7 @@ struct DemoUserView: View { if user.isGuest { Image(systemName: "person.fill") .resizable() - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) .frame(width: imageSize, height: imageSize) .aspectRatio(contentMode: .fit) .background(Color(colors.background6)) @@ -88,7 +88,7 @@ struct DemoUserView: View { Image(systemName: "arrow.forward") .renderingMode(.template) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) } } } diff --git a/DemoAppSwiftUI/PinChannelHelpers.swift b/DemoAppSwiftUI/PinChannelHelpers.swift index 717b97dcf..fa61d3317 100644 --- a/DemoAppSwiftUI/PinChannelHelpers.swift +++ b/DemoAppSwiftUI/PinChannelHelpers.swift @@ -70,7 +70,7 @@ struct DemoAppChatChannelListItem: View { } .foregroundColor(.black) .disabled(disabled) - .background(channel.isPinned ? Color(colors.pinnedBackground) : .clear) + .background(channel.isPinned ? Color(colors.pinnedMessageBackground) : .clear) } private var subtitleView: some View { diff --git a/DemoAppSwiftUI/WhatsAppChannelHeader.swift b/DemoAppSwiftUI/WhatsAppChannelHeader.swift index 072954f71..a03cda690 100644 --- a/DemoAppSwiftUI/WhatsAppChannelHeader.swift +++ b/DemoAppSwiftUI/WhatsAppChannelHeader.swift @@ -30,10 +30,6 @@ struct WhatsAppChannelHeader: ToolbarContent { chatClient.currentUserId ?? "" } - private var channelNamer: ChatChannelNamer { - utils.channelNamer - } - private var channelSubtitle: String { if channel.memberCount <= 2 { channel.onlineInfoText(currentUserId: currentUserId) @@ -54,7 +50,7 @@ struct WhatsAppChannelHeader: ToolbarContent { size: CGSize(width: 36, height: 36) ) VStack(alignment: .leading) { - Text(channelNamer(channel, currentUserId) ?? "") + Text(name(for: channel)) .font(fonts.bodyBold) Text(channelSubtitle) .font(fonts.caption1) @@ -77,4 +73,11 @@ struct WhatsAppChannelHeader: ToolbarContent { } } } + + private func name(for channel: ChatChannel) -> String { + utils.channelNameFormatter.format( + channel: channel, + forCurrentUserId: chatClient.currentUserId + ) ?? "" + } } diff --git a/DemoAppSwiftUI/iMessagePocView.swift b/DemoAppSwiftUI/iMessagePocView.swift index 06260da0a..fe4119dbc 100644 --- a/DemoAppSwiftUI/iMessagePocView.swift +++ b/DemoAppSwiftUI/iMessagePocView.swift @@ -52,7 +52,6 @@ struct iMessagePocView: View { viewModel.selectedChannel = ChannelSelectionInfo(channel: channel, message: nil) }, onItemAppear: viewModel.checkForChannels(index:), - channelNaming: viewModel.name(forChannel:), channelDestination: factory.makeChannelDestination(options: ChannelDestinationOptions()), trailingSwipeRightButtonTapped: viewModel.onDeleteTapped(channel:), trailingSwipeLeftButtonTapped: viewModel.onMoreTapped(channel:), @@ -78,7 +77,7 @@ struct iMessagePocView: View { } .blur(radius: (viewModel.customAlertShown || viewModel.alertShown) ? 6 : 0) .overlay(viewModel.customAlertShown ? customViewOverlay() : nil) - .accentColor(colors.tintColor) + .accentColor(Color(colors.accentPrimary)) .navigationTitle("Messages") } } diff --git a/Sources/StreamChatSwiftUI/Appearance.swift b/Sources/StreamChatSwiftUI/Appearance.swift index de0ae4b12..05b4611a7 100644 --- a/Sources/StreamChatSwiftUI/Appearance.swift +++ b/Sources/StreamChatSwiftUI/Appearance.swift @@ -2,30 +2,9 @@ // Copyright © 2025 Stream.io Inc. All rights reserved. // +import StreamChatCommonUI import SwiftUI -/// An object containing visual configuration for the whole application. -@MainActor public class Appearance { - public var colors: ColorPalette - public var images: Images - public var fonts: Fonts - - public init( - colors: ColorPalette = ColorPalette(), - images: Images = Images(), - fonts: Fonts = Fonts() - ) { - self.colors = colors - self.images = images - self.fonts = fonts - } - - /// Provider for custom localization which is dependent on App Bundle. - public static var localizationProvider: @Sendable (_ key: String, _ table: String) -> String = { key, table in - Bundle.streamChatUI.localizedString(forKey: key, value: nil, table: table) - } -} - // MARK: - Appearance + Default public extension Appearance { diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift index 4f2d9076c..a8bbdcfbc 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelHeader/ChatChannelHeaderViewModifier.swift @@ -155,13 +155,9 @@ public struct ChannelTitleView: View { chatClient.currentUserId ?? "" } - private var channelNamer: ChatChannelNamer { - utils.channelNamer - } - public var body: some View { VStack(spacing: 2) { - Text(channelNamer(channel, currentUserId) ?? "") + Text(name(for: channel)) .font(fonts.bodyBold) .foregroundColor(Color(colors.navigationBarTitle)) .accessibilityIdentifier("chatName") @@ -179,4 +175,11 @@ public struct ChannelTitleView: View { } } } + + private func name(for channel: ChatChannel) -> String { + utils.channelNameFormatter.format( + channel: channel, + forCurrentUserId: chatClient.currentUserId + ) ?? "" + } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift index 85ab892bf..60d69d03d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoHelperViews.swift @@ -158,7 +158,7 @@ public struct ChannelNameUpdateView: View { viewModel.confirmGroupRenaming() } label: { Image(systemName: "checkmark") - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) } } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift index 338d2612b..bab0de9f2 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoView.swift @@ -207,7 +207,7 @@ struct ChatChannelInfoViewHeaderViewModifier: ViewModifier { .frame(width: glyphSize, height: glyphSize) .foregroundColor(Color(colors.navigationBarGlyph)) .padding(.all, 8) - .background(colors.navigationBarTintColor) + .background(Color(colors.navigationBarTintColor)) .clipShape(Circle()) } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift index fd8717c16..7b8c9e69f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/ChatChannelInfoViewModel.swift @@ -5,6 +5,7 @@ import Combine import Foundation import StreamChat +import StreamChatCommonUI import SwiftUI // View model for the `ChatChannelInfoView`. diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift index 392635b4d..03da0ea6c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChannelInfo/PinnedMessagesView.swift @@ -140,7 +140,7 @@ struct PinnedMessageView: View { Spacer() SubtitleText( - text: utils.messageRelativeDateFormatter.string(from: message.createdAt) + text: utils.messageTimestampFormatter.format(message.createdAt) ) } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift index b535cce6d..b7d0198bb 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelView.swift @@ -89,7 +89,7 @@ public struct ChatChannelView: View, KeyboardReadable { ) } else { ZStack { - factory.makeEmptyMessagesView(options: EmptyMessagesViewOptions(channel: channel, colors: colors)) + factory.makeEmptyMessagesView(options: EmptyMessagesViewOptions(channel: channel)) .dismissKeyboardOnTap(enabled: keyboardShown) { hideComposerCommandsAndAttachmentsPicker() } @@ -225,7 +225,7 @@ public struct ChatChannelView: View, KeyboardReadable { .accessibilityElement(children: .contain) .accessibilityIdentifier("ChatChannelView") .modifier(factory.styles.makeBouncedMessageActionsModifier(viewModel: viewModel)) - .accentColor(colors.tintColor) + .accentColor(Color(colors.accentPrimary)) } private var composerView: some View { diff --git a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift index 06527c443..3ad10371c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/ChatChannelViewModel.swift @@ -37,8 +37,6 @@ import SwiftUI private var canMarkRead = false private var hasSetInitialCanMarkRead = false private var currentUserSentNewMessage = false - - private let messageListDateOverlay: DateFormatter = DateFormatter.messageListDateOverlay private lazy var messagesDateFormatter = utils.dateFormatter private lazy var messageCachingUtils = utils.messageCachingUtils @@ -762,7 +760,7 @@ import SwiftUI return } - let dateString = messageListDateOverlay.string(from: currentDate) + let dateString = utils.messageDateSeparatorFormatter.format(currentDate) if currentDateString != dateString { currentDateString = dateString } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift index 2eabe5e86..cd67778b4 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerTextInputView.swift @@ -29,6 +29,7 @@ struct ComposerTextInputView: UIViewRepresentable { context.coordinator.textView = inputTextView inputTextView.delegate = context.coordinator inputTextView.isEditable = editable + inputTextView.adjustsFontForContentSizeCategory = true inputTextView.layoutManager.delegate = context.coordinator inputTextView.placeholderLabel.text = placeholder inputTextView.contentInsetAdjustmentBehavior = .never diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift index 52a960e34..f27255847 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/MessageComposerView.swift @@ -445,7 +445,7 @@ public struct ComposerInputView: View, KeyboardReadable { .padding(.horizontal, 8) .font(fonts.footnoteBold) .frame(height: 24) - .background(colors.tintColor) + .background(Color(colors.accentPrimary)) .foregroundColor(Color(colors.staticColorText)) .cornerRadius(16) } @@ -506,16 +506,13 @@ public struct ComposerInputView: View, KeyboardReadable { .onReceive(keyboardWillChangePublisher) { visible in keyboardShown = visible } - .accessibilityIdentifier("ComposerInputView") } private var composerInputBackground: Color { - var colors = colors return Color(colors.composerInputBackground) } private var highlightedBorder: UIColor { - var colors = colors return colors.composerInputHighlightedBorder } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift index 226aff9d6..c1217dbbc 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/PhotoAttachmentPickerView.swift @@ -3,6 +3,7 @@ // import Photos +import StreamChatCommonUI import SwiftUI /// View for the photo attachment picker. @@ -222,3 +223,15 @@ public struct PhotoAttachmentCell: View { return imageSelected(id) } } + +extension UIImage { + func saveAsJpgToTemporaryUrl() throws -> URL? { + guard let imageData = jpegData(compressionQuality: 1.0) else { return nil } + let imageName = "\(UUID().uuidString).jpg" + let documentDirectory = NSTemporaryDirectory() + let localPath = documentDirectory.appending(imageName) + let photoURL = URL(fileURLWithPath: localPath) + try imageData.write(to: photoURL) + return photoURL + } +} diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift index f589ff2f4..14fbe5c2b 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/SendInChannelView.swift @@ -19,7 +19,7 @@ struct SendInChannelView: View { sendInChannel.toggle() } label: { Image(systemName: sendInChannel ? "checkmark.square.fill" : "square") - .foregroundColor(sendInChannel ? colors.tintColor : Color(colors.background7)) + .foregroundColor(sendInChannel ? Color(colors.accentPrimary) : Color(colors.background7)) } Text(isDirectMessage ? L10n.Composer.Checkmark.directMessageReply : L10n.Composer.Checkmark.channelReply) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift index fa97d2ed9..53217ad49 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/InstantCommands/InstantCommandsView.swift @@ -88,7 +88,7 @@ struct InstantCommandsHeader: View { .renderingMode(.template) .resizable() .frame(width: 24, height: 24) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) .accessibilityIdentifier("InstantCommandsImage") Text(L10n.Composer.Suggestions.Commands.header) .font(fonts.body) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift index a8e9fe8c0..a0954a646 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Composer/Suggestions/Mentions/MentionUsersView.swift @@ -88,7 +88,7 @@ public struct MentionUserView: View { Spacer() Text(utils.commandsConfig.mentionsSymbol) .font(fonts.title) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) } .standardPadding() .highPriorityGesture( diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift index 6217c760c..0df618f7f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Gallery/GalleryView.swift @@ -66,7 +66,7 @@ public struct GalleryView: View { options: GalleryHeaderViewOptions( title: author.name ?? "", subtitle: message.map { - utils.galleryHeaderViewDateFormatter.string(from: $0.createdAt) + utils.galleryHeaderViewDateFormatter.format($0.createdAt) } ?? author.onlineText, shown: $isShown ) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioRecordingNameFormatter.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioRecordingNameFormatter.swift deleted file mode 100644 index ce47dd512..000000000 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/AudioRecordingNameFormatter.swift +++ /dev/null @@ -1,25 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation - -/// A formatter that provides the name for a recording in a specified list of recordings. -public protocol AudioRecordingNameFormatter { - func title( - forItemAtURL location: URL, - index: Int - ) -> String -} - -/// The default video recording name formatter. -open class DefaultAudioRecordingNameFormatter: AudioRecordingNameFormatter { - public init() {} - - open func title( - forItemAtURL location: URL, - index: Int - ) -> String { - L10n.Recording.Presentation.name(index) - } -} diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift deleted file mode 100644 index 94229754c..000000000 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VideoDurationFormatter.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation - -/// A formatter that converts the video duration to textual representation. -public protocol VideoDurationFormatter { - func format(_ time: TimeInterval) -> String? -} - -/// The default video duration formatter. -open class DefaultVideoDurationFormatter: VideoDurationFormatter { - public var dateComponentsFormatter: DateComponentsFormatter = { - let formatter = DateComponentsFormatter() - formatter.unitsStyle = .positional - formatter.allowedUnits = [.minute, .second] - formatter.zeroFormattingBehavior = .pad - return formatter - }() - - public init() {} - - open func format(_ time: TimeInterval) -> String? { - dateComponentsFormatter.string(from: time) - } -} diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift index 7c63f80b0..dfb768bfe 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/AsyncVoiceMessages/VoiceRecordingContainerView.swift @@ -144,7 +144,7 @@ struct VoiceRecordingView: View { Button(action: { handlePlayTap() }, label: { - Image(uiImage: isPlaying ? images.pauseFilled : images.playFilled) + Image(uiImage: isPlaying ? images.pauseFill : images.playFill) .frame(width: 36, height: 36) .foregroundColor(.primary) .modifier( diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift index 1d76a4778..bf74714a3 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/DeletedMessageView.swift @@ -43,7 +43,7 @@ public struct DeletedMessageView: View { } if deletedMessageVisibility == .visibleForCurrentUser { - Image(uiImage: images.eye) + Image(uiImage: images.onlyVisibleToCurrentUser) .customizable() .frame(maxWidth: 12) .accessibilityIdentifier("onlyVisibleToYouImageView") diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift index d9990a4c4..db4c351fd 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/FileAttachmentView.swift @@ -211,7 +211,7 @@ struct DownloadShareAttachmentView: View Button(action: { downloadAttachment() }) { Image(uiImage: images.download) .renderingMode(.template) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) .frame(width: 24, height: 24) } .accessibilityLabel("Download") @@ -221,7 +221,7 @@ struct DownloadShareAttachmentView: View Button(action: { shareSheetShown = true }) { Image(uiImage: images.share) .renderingMode(.template) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) .frame(width: 24, height: 24) } .accessibilityLabel("Share") diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift index 9558dd136..f70f4ef24 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/GiphyAttachmentView.swift @@ -59,7 +59,7 @@ public struct GiphyAttachmentView: View { } .foregroundColor( action.style == .primary ? - colors.tintColor : + Color(colors.accentPrimary) : Color(colors.textLowEmphasis) ) .font(fonts.bodyBold) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift index c80d74379..b2bf231e4 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ImageAttachmentView.swift @@ -126,7 +126,6 @@ public struct AttachmentTextView: View { if let injectedBackgroundColor { return injectedBackgroundColor } - var colors = colors if message.isSentByCurrentUser { if message.type == .ephemeral { return colors.background8 diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift index 9d29a4f0c..b12edc403 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageBubble.swift @@ -3,6 +3,7 @@ // import StreamChat +import StreamChatCommonUI import SwiftUI /// Contains info needed for a modifier to be applied to the message view. @@ -218,11 +219,10 @@ extension ChatMessage { /// - colors: The color pallete. /// - injectedBackgroundColor: If you need a custom background color injected. /// - Returns: The background colors (can be many for gradients) for the message cell. - @MainActor public func bubbleBackground(colors: ColorPalette, injectedBackgroundColor: UIColor? = nil) -> [Color] { + @MainActor public func bubbleBackground(colors: Appearance.ColorPalette, injectedBackgroundColor: UIColor? = nil) -> [Color] { if let injectedBackgroundColor { return [Color(injectedBackgroundColor)] } - var colors = colors if isSentByCurrentUser { if type == .ephemeral { return colors.messageCurrentUserEmphemeralBackground.map { Color($0) } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift index aeef4fb99..260914b4e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageContainerView.swift @@ -308,7 +308,7 @@ public struct MessageContainerView: View { highlightedMessageId == message.messageId { Color(colors.messageCellHighlightBackground) } else if messageViewModel.isPinned { - Color(colors.pinnedBackground) + Color(colors.pinnedMessageBackground) } } ) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift index 942080f12..8a500c41e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListConfig.swift @@ -7,7 +7,9 @@ import StreamChat import SwiftUI /// Configuration for the message list. +@MainActor public struct MessageListConfig { + @MainActor public init( messageListType: MessageListType = .messaging, typingIndicatorPlacement: TypingIndicatorPlacement = .bottomOverlay, @@ -252,7 +254,7 @@ public struct MessageDisplayOptions { public static var defaultLinkDisplay: @MainActor (ChatMessage) -> [NSAttributedString.Key: Any] { { _ in [ - NSAttributedString.Key.foregroundColor: UIColor(InjectedValues[\.colors].tintColor) + NSAttributedString.Key.foregroundColor: InjectedValues[\.colors].accentPrimary ] } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift index dd0999560..0251ad42a 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListDateUtils.swift @@ -5,6 +5,7 @@ import Foundation import StreamChat +@MainActor class MessageListDateUtils { private let messageListConfig: MessageListConfig diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift index f4dd7dc29..05f25cffa 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListHelperViews.swift @@ -120,14 +120,14 @@ public struct MessageReadIndicatorView: View { if showReadCount && shouldShowReads { Text("\(readUsers.count)") .font(fonts.footnoteBold) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) .accessibilityIdentifier("readIndicatorCount") } Image( uiImage: image ) .customizable() - .foregroundColor(shouldShowReads ? colors.tintColor : Color(colors.textLowEmphasis)) + .foregroundColor(shouldShowReads ? Color(colors.accentPrimary) : Color(colors.textLowEmphasis)) .frame(height: 16) .opacity(localState == .sendingFailed || localState == .syncingFailed ? 0.0 : 1) .accessibilityLabel( @@ -142,7 +142,7 @@ public struct MessageReadIndicatorView: View { } private var image: UIImage { - shouldShowReads || showDelivered ? images.readByAll : (isMessageSending ? images.messageReceiptSending : images.messageSent) + shouldShowReads || showDelivered ? images.messageDeliveryStatusRead : (isMessageSending ? images.messageDeliveryStatusSending : images.messageDeliveryStatusSent) } private var isMessageSending: Bool { diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift index be45431e1..1ecee797c 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift @@ -260,7 +260,6 @@ public struct MessageListView: View, KeyboardReadable { .background( factory.makeMessageListBackground( options: MessageListBackgroundOptions( - colors: colors, isInThread: isMessageThread ) ) @@ -571,7 +570,7 @@ public struct DateIndicatorView: View { var dateString: String public init(date: Date) { - dateString = DateFormatter.messageListDateOverlay.string(from: date) + dateString = InjectedValues[\.utils].messageDateSeparatorFormatter.format(date) } public init(dateString: String) { diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift index 7d5626411..203fcfc36 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageRepliesView.swift @@ -98,7 +98,7 @@ public struct MessageRepliesView: View { axis: (x: 0, y: 1, z: 0) ) ) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift index f1bb8b891..dded6bc78 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageView.swift @@ -300,7 +300,7 @@ public struct LinkDetectionTextView: View { @State var text: AttributedString? @State var linkDetector = TextLinkDetector() - @State var tintColor = InjectedValues[\.colors].tintColor + @State var tintColor = Color(InjectedValues[\.colors].accentPrimary) public init( message: ChatMessage diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift index 5043a8da6..ea409fe8f 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollAttachmentView.swift @@ -277,7 +277,7 @@ struct PollVotesIndicatorView: View { .frame(width: reader.size.width, height: height) RoundedRectangle(cornerRadius: 8) - .fill(alternativeStyle ? Color(colors.alternativeActiveTint) : colors.tintColor) + .fill(alternativeStyle ? Color(colors.alternativeActiveTint) : (Color(colors.accentPrimary))) .frame(width: reader.size.width * ratio, height: height) } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift index da9f38edb..aa2912209 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollCommentsView.swift @@ -62,7 +62,7 @@ struct PollCommentsView: View { }, label: { Text(commentButtonTitle) .bold() - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) }) .frame(maxWidth: .infinity) .withPollsBackground() diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift index 1a2998c71..558481a09 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/Polls/PollsHelpers.swift @@ -27,33 +27,18 @@ struct PollDateIndicatorView: View { @Injected(\.utils) var utils @Injected(\.colors) var colors - var dateFormatter: (Date) -> String { - utils.pollsDateFormatter.dateString(for:) - } - let date: Date var body: some View { - Text(dateFormatter(date)) + Text(text) .font(fonts.subheadline) .foregroundColor(Color(colors.textLowEmphasis)) } -} - -class PollsDateFormatter { - let dateFormatter: DateFormatter = { - let formatter = DateFormatter() - formatter.setLocalizedDateFormatFromTemplate("MMM dd HH:mm") - return formatter - }() - func dateString(for date: Date) -> String { - // Check if the date is today - if Calendar.current.isDateInToday(date) { - L10n.Dates.today - } else { - // If it's not today, format the date normally - dateFormatter.string(from: date) - } + var text: String { + let formatter = utils.pollsDateFormatter + let voteDay = formatter.formatDay(date) + let voteTime = formatter.formatTime(date) + return [voteDay, voteTime].joined(separator: " ") } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift index f2663d67e..3cd532435 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/QuotedMessageView.swift @@ -144,7 +144,6 @@ public struct QuotedMessageView: View { return colors.highlightedAccentBackground1 } - var colors = colors let color = quotedMessage.isSentByCurrentUser ? colors.quotedMessageBackgroundCurrentUser : colors.quotedMessageBackgroundOtherUser return color diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift index d513a456c..b11056b5d 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/ReactionsIconProvider.swift @@ -3,12 +3,13 @@ // import StreamChat +import StreamChatCommonUI import SwiftUI import UIKit class ReactionsIconProvider { - @MainActor static var colors: ColorPalette = InjectedValues[\.colors] - @MainActor static var images: Images = InjectedValues[\.images] + @MainActor static var colors: Appearance.ColorPalette = InjectedValues[\.colors] + @MainActor static var images: Appearance.Images = InjectedValues[\.images] @MainActor static func icon(for reaction: MessageReactionType, useLargeIcons: Bool) -> UIImage? { var icon: UIImage? @@ -30,12 +31,7 @@ class ReactionsIconProvider { @MainActor static func color(for reaction: MessageReactionType, userReactionIDs: Set) -> Color? { let containsUserReaction = userReactionIDs.contains(reaction) let color = containsUserReaction ? colors.reactionCurrentUserColor : colors.reactionOtherUserColor - - if let color { - return Color(color) - } else { - return nil - } + return Color(color) } } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift index d6ee2cd2e..07ad10a43 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/MessageList/VideoAttachmentView.swift @@ -224,7 +224,7 @@ struct VideoPlayIcon: View { var width: CGFloat = 24 var body: some View { - Image(uiImage: images.playFilled) + Image(uiImage: images.playFill) .customizable() .frame(width: width) .foregroundColor(.white) diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift index 671024af3..f714595f5 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionUserView.swift @@ -121,7 +121,6 @@ struct ReactionImageView: View { var backgroundColor: Color private var reactionColor: UIColor? { - var colors = colors return isSentByCurrentUser ? colors.reactionCurrentUserColor : colors.reactionOtherUserColor } diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift index acfbb24f0..5aab19156 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Reactions/ReactionsOverlayContainer.swift @@ -206,7 +206,6 @@ public struct ReactionAnimatableView: View { } private func reactionSelectedBackgroundColor(for reaction: MessageReactionType) -> Color? { - var colors = colors guard let color = colors.selectedReactionBackgroundColor else { return nil } @@ -232,15 +231,9 @@ public struct ReactionAnimatableView: View { } private func color(for reaction: MessageReactionType) -> Color? { - var colors = colors let containsUserReaction = userReactionIDs.contains(reaction) let color = containsUserReaction ? colors.reactionCurrentUserColor : colors.reactionOtherUserColor - - if let color { - return Color(color) - } else { - return nil - } + return Color(color) } private var userReactionIDs: Set { diff --git a/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift b/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift index 83d5d9398..241aad661 100644 --- a/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift +++ b/Sources/StreamChatSwiftUI/ChatChannel/Utils/ChatChannelExtensions.swift @@ -4,6 +4,7 @@ import Foundation import StreamChat +import StreamChatCommonUI extension ChatChannel { /// Returns the online info text for a channel. diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift index bb1e995d6..d699a153e 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelHeaderLoader.swift @@ -25,7 +25,7 @@ import UIKit lazy var imageLoader = utils.imageLoader lazy var imageCDN = utils.imageCDN lazy var channelAvatarsMerger = utils.channelAvatarsMerger - lazy var channelNamer = utils.channelNamer + lazy var channelNameFormatter = utils.channelNameFormatter /// Placeholder images. lazy var placeholder1 = images.userAvatarPlaceholder1 diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelListConfig.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelListConfig.swift index c079571d7..2d1269448 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChannelListConfig.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChannelListConfig.swift @@ -6,25 +6,20 @@ import Foundation import SwiftUI /// A configuration for channel lists. +@MainActor public struct ChannelListConfig { + @MainActor public init( channelItemMutedStyle: ChannelItemMutedLayoutStyle = .default, - messageRelativeDateFormatEnabled: Bool = false, navigationBarDisplayMode: NavigationBarItem.TitleDisplayMode = .inline, showChannelListDividerOnLastItem: Bool = true, supportedMoreChannelActions: @escaping @MainActor (SupportedMoreChannelActionsOptions) -> [ChannelAction] = ChannelAction.defaultActions(for:) ) { self.channelItemMutedStyle = channelItemMutedStyle - self.messageRelativeDateFormatEnabled = messageRelativeDateFormatEnabled self.navigationBarDisplayMode = navigationBarDisplayMode self.showChannelListDividerOnLastItem = showChannelListDividerOnLastItem self.supportedMoreChannelActions = supportedMoreChannelActions } - - /// If true, the timestamp format depends on the time passed. - /// - /// Different date formats are used for today, yesterday, last 7 days, and older dates. - public var messageRelativeDateFormatEnabled: Bool /// A style for displaying the title of a navigation bar. public var navigationBarDisplayMode: NavigationBarItem.TitleDisplayMode diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift index db8682a39..5d4606614 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelList.swift @@ -20,7 +20,6 @@ public struct ChannelList: View { private var imageLoader: @MainActor (ChatChannel) -> UIImage private var onItemTap: @MainActor (ChatChannel) -> Void private var onItemAppear: @MainActor (Int) -> Void - private var channelNaming: @MainActor (ChatChannel) -> String private var channelDestination: @MainActor (ChannelSelectionInfo) -> Factory.ChannelDestination private var trailingSwipeRightButtonTapped: @MainActor (ChatChannel) -> Void private var trailingSwipeLeftButtonTapped: @MainActor (ChatChannel) -> Void @@ -37,7 +36,6 @@ public struct ChannelList: View { imageLoader: (@MainActor (ChatChannel) -> UIImage)? = nil, onItemTap: @escaping @MainActor (ChatChannel) -> Void, onItemAppear: @escaping @MainActor (Int) -> Void, - channelNaming: (@MainActor (ChatChannel) -> String)? = nil, channelDestination: @escaping @MainActor (ChannelSelectionInfo) -> Factory.ChannelDestination, trailingSwipeRightButtonTapped: @escaping @MainActor (ChatChannel) -> Void = { _ in }, trailingSwipeLeftButtonTapped: @escaping @MainActor (ChatChannel) -> Void = { _ in }, @@ -47,14 +45,6 @@ public struct ChannelList: View { self.channels = channels self.onItemTap = onItemTap self.onItemAppear = onItemAppear - if let channelNaming { - self.channelNaming = channelNaming - } else { - let channelNamer = InjectedValues[\.utils].channelNamer - self.channelNaming = { channel in - channelNamer(channel, InjectedValues[\.chatClient].currentUserId) ?? "" - } - } self.channelDestination = channelDestination if let imageLoader { self.imageLoader = imageLoader @@ -108,7 +98,6 @@ public struct ChannelList: View { imageLoader: imageLoader, onItemTap: onItemTap, onItemAppear: onItemAppear, - channelNaming: channelNaming, channelDestination: channelDestination, trailingSwipeRightButtonTapped: trailingSwipeRightButtonTapped, trailingSwipeLeftButtonTapped: trailingSwipeLeftButtonTapped, @@ -119,6 +108,7 @@ public struct ChannelList: View { /// LazyVStack displaying list of channels. public struct ChannelsLazyVStack: View { + @Injected(\.chatClient) private var chatClient @Injected(\.colors) private var colors @Injected(\.utils) private var utils @@ -130,7 +120,6 @@ public struct ChannelsLazyVStack: View { private var imageLoader: @MainActor (ChatChannel) -> UIImage private var onItemTap: @MainActor (ChatChannel) -> Void private var onItemAppear: @MainActor (Int) -> Void - private var channelNaming: @MainActor (ChatChannel) -> String private var channelDestination: @MainActor (ChannelSelectionInfo) -> Factory.ChannelDestination private var trailingSwipeRightButtonTapped: @MainActor (ChatChannel) -> Void private var trailingSwipeLeftButtonTapped: @MainActor (ChatChannel) -> Void @@ -145,7 +134,6 @@ public struct ChannelsLazyVStack: View { imageLoader: @escaping @MainActor (ChatChannel) -> UIImage, onItemTap: @escaping @MainActor (ChatChannel) -> Void, onItemAppear: @escaping @MainActor (Int) -> Void, - channelNaming: @escaping @MainActor (ChatChannel) -> String, channelDestination: @escaping @MainActor (ChannelSelectionInfo) -> Factory.ChannelDestination, trailingSwipeRightButtonTapped: @escaping @MainActor (ChatChannel) -> Void, trailingSwipeLeftButtonTapped: @escaping @MainActor (ChatChannel) -> Void, @@ -155,7 +143,6 @@ public struct ChannelsLazyVStack: View { self.channels = channels self.onItemTap = onItemTap self.onItemAppear = onItemAppear - self.channelNaming = channelNaming self.channelDestination = channelDestination self.imageLoader = imageLoader self.onlineIndicatorShown = onlineIndicatorShown @@ -172,7 +159,7 @@ public struct ChannelsLazyVStack: View { factory.makeChannelListItem( options: ChannelListItemOptions( channel: channel, - channelName: channelNaming(channel), + channelName: name(for: channel), avatar: imageLoader(channel), onlineIndicatorShown: onlineIndicatorShown(channel), disabled: swipedChannelId == channel.id, @@ -210,4 +197,11 @@ public struct ChannelsLazyVStack: View { } .modifier(factory.styles.makeChannelListModifier(options: ChannelListModifierOptions())) } + + private func name(for channel: ChatChannel) -> String { + utils.channelNameFormatter.format( + channel: channel, + forCurrentUserId: chatClient.currentUserId + ) ?? "" + } } diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift index d642de8bc..a1b09af42 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListItem.swift @@ -376,10 +376,8 @@ extension ChatChannel { @MainActor public var timestampText: String { if let lastMessageAt { let utils = InjectedValues[\.utils] - let formatter = utils.channelListConfig.messageRelativeDateFormatEnabled ? - utils.messageRelativeDateFormatter : - utils.dateFormatter - return formatter.string(from: lastMessageAt) + let formatter = utils.messageTimestampFormatter + return formatter.format(lastMessageAt) } else { return "" } diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift index 07e77ad99..1eb692f95 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListView.swift @@ -125,7 +125,7 @@ public struct ChatChannelListView: View { } }) .background( - viewFactory.makeChannelListBackground(options: ChannelListBackgroundOptions(colors: colors)) + viewFactory.makeChannelListBackground(options: .init()) ) .alert(isPresented: $viewModel.alertShown) { switch viewModel.channelAlertType { @@ -247,7 +247,6 @@ public struct ChatChannelListContentView: View { viewModel.checkTabBarAppearance() viewModel.checkForChannels(index: index) }, - channelNaming: viewModel.name(forChannel:), channelDestination: viewFactory.makeChannelDestination(options: ChannelDestinationOptions()), trailingSwipeRightButtonTapped: viewModel.onDeleteTapped(channel:), trailingSwipeLeftButtonTapped: viewModel.onMoreTapped(channel:), diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift index 5dab724ce..acf7810bb 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/ChatChannelListViewModel.swift @@ -11,12 +11,12 @@ import UIKit /// View model for the `ChatChannelListView`. @MainActor open class ChatChannelListViewModel: ObservableObject, ChatChannelListControllerDelegate, ChatMessageSearchControllerDelegate { /// Context provided dependencies. - @Injected(\.chatClient) private var chatClient: ChatClient - @Injected(\.images) private var images: Images - @Injected(\.utils) private var utils: Utils + @Injected(\.chatClient) private var chatClient + @Injected(\.images) private var images + @Injected(\.utils) private var utils /// Context provided utils. - internal lazy var channelNamer = utils.channelNamer + internal lazy var channelNameFormatter = utils.channelNameFormatter /// The maximum number of images that combine to form a single avatar private let maxNumberOfImagesInCombinedAvatar = 4 @@ -160,7 +160,10 @@ import UIKit /// - Parameter channel: the channel whose display name is asked for. /// - Returns: `String` with the channel name. public func name(forChannel channel: ChatChannel) -> String { - channelNamer(channel, chatClient.currentUserId) ?? "" + channelNameFormatter.format( + channel: channel, + forCurrentUserId: chatClient.currentUserId + ) ?? "" } /// Checks if there are new channels to be loaded. diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift index 9fdb5432f..651a38436 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/MoreChannelActionsViewModel.swift @@ -16,7 +16,7 @@ import UIKit @Injected(\.images) private var images /// Private vars. - private lazy var channelNamer = utils.channelNamer + private lazy var channelNameFormatter = utils.channelNameFormatter private lazy var imageLoader = utils.imageLoader private lazy var imageCDN = utils.imageCDN private lazy var placeholder2 = images.userAvatarPlaceholder2 @@ -35,7 +35,7 @@ import UIKit /// Computed vars. public var chatName: String { - name(forChannel: channel) + name(for: channel) } public var subtitleText: String { @@ -86,8 +86,11 @@ import UIKit // MARK: - private - private func name(forChannel channel: ChatChannel) -> String { - channelNamer(channel, chatClient.currentUserId) ?? "" + private func name(for channel: ChatChannel) -> String { + utils.channelNameFormatter.format( + channel: channel, + forCurrentUserId: chatClient.currentUserId + ) ?? "" } } diff --git a/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift b/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift index 00cc3a5c7..eaf1041b9 100644 --- a/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift +++ b/Sources/StreamChatSwiftUI/ChatChannelList/SearchResultsView.swift @@ -159,10 +159,8 @@ struct SearchResultItem: View { private var timestampText: String { if let lastMessageAt = searchResult.channel.lastMessageAt { - let formatter = utils.channelListConfig.messageRelativeDateFormatEnabled ? - utils.messageRelativeDateFormatter : - utils.dateFormatter - return formatter.string(from: lastMessageAt) + let formatter = utils.messageTimestampFormatter + return formatter.format(lastMessageAt) } else { return "" } diff --git a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift index dc4a92dd3..de656b85d 100644 --- a/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift +++ b/Sources/StreamChatSwiftUI/ChatThreadList/ChatThreadListItem.swift @@ -78,8 +78,8 @@ public struct ChatThreadListItem: View { /// The formatted latest reply timestamp. public var latestReplyTimestampText: String { - utils.dateFormatter.string( - from: thread.latestReplies.last?.createdAt ?? .distantPast + utils.messageTimestampFormatter.format( + thread.latestReplies.last?.createdAt ?? .distantPast ) } @@ -121,7 +121,10 @@ public struct ChatThreadListItem: View { /// The formatted channel name text. public var channelNameText: String { - utils.channelNamer(thread.channel, chatClient.currentUserId) ?? "" + utils.channelNameFormatter.format( + channel: thread.channel, + forCurrentUserId: chatClient.currentUserId + ) ?? "" } private var latestReplyAuthor: ChatUser? { diff --git a/Sources/StreamChatSwiftUI/ColorPalette.swift b/Sources/StreamChatSwiftUI/ColorPalette.swift deleted file mode 100644 index 8350d7f21..000000000 --- a/Sources/StreamChatSwiftUI/ColorPalette.swift +++ /dev/null @@ -1,195 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import SwiftUI -import UIKit - -/// Provides the colors used throughout the SDK. -@MainActor public struct ColorPalette { - public init() { - navigationBarGlyph = .white - navigationBarTitle = text - navigationBarSubtitle = textLowEmphasis - navigationBarTintColor = tintColor - - messageLinkAttachmentAuthorColor = tintColor - messageLinkAttachmentTitleColor = Color(text) - messageLinkAttachmentTextColor = Color(text) - } - - /// Tint color used in UI components. - /// - /// - SeeAlso: ``navigationBarTintColor`` - public var tintColor: Color = .accentColor - - // MARK: - Text - - /// General textColor, should be something that contrasts great with your `background` Color - public var text: UIColor = .streamBlack - public var textInverted: UIColor = .streamWhite - public var textLowEmphasis: UIColor = .streamGrayDisabledText - - /// Static color which should stay the same in dark and light mode, because it's only used as text on small UI Elements - /// such as `ChatUnreadCountView`, `GiphyBadge` or Commands icon. - public var staticColorText: UIColor = .streamWhiteStatic - public var subtitleText: UIColor = .streamGray - - // MARK: - Text interactions - - public var highlightedColorForColor: @Sendable (UIColor) -> UIColor = { $0.withAlphaComponent(0.5) } - public var disabledColorForColor: @Sendable (UIColor) -> UIColor = { _ in .streamDisabled } - public var unselectedColorForColor: @Sendable (UIColor) -> UIColor = { _ in .lightGray } - - // MARK: - Background - - /// General background of the application. Should be something that is in constrast with `text` color. - public var background: UIColor = .streamWhiteSnow - public var background1: UIColor = .streamWhiteSmoke - public var background2: UIColor = .streamGrayGainsboro - public var background3: UIColor = .streamOverlay - public var background4: UIColor = .streamOverlayDark - public var background5: UIColor = .streamOverlayDarkStatic - public var background6: UIColor = .streamGrayWhisper - public var background7: UIColor = .streamDarkGray - public var background8: UIColor = .streamWhite - - public var overlayBackground: UIColor = .streamOverlayLight - public var popoverBackground: UIColor = .streamWhite - public var highlightedBackground: UIColor = .streamGrayGainsboro - public var highlightedAccentBackground: UIColor = .streamAccentBlue - public var highlightedAccentBackground1: UIColor = .streamBlueAlice - public var pinnedBackground: UIColor = .streamYellowBackground - public var messageCellHighlightBackground: UIColor = .streamYellowBackground - - // MARK: - Borders and shadows - - public var shadow: UIColor = .streamModalShadow - public var lightBorder: UIColor = .streamWhiteSnow - public var innerBorder: UIColor = .streamInnerBorder - public var border: UIColor = .streamGrayGainsboro - public var border2: UIColor = .streamGray - public var border3: UIColor = .streamGrayWhisper - - // MARK: - Tint and alert - - public var alert: UIColor = .streamAccentRed - public var alternativeActiveTint: UIColor = .streamAccentGreen - public var inactiveTint: UIColor = .streamGray - public var alternativeInactiveTint: UIColor = .streamGrayGainsboro - - // MARK: - Messages - - public lazy var messageCurrentUserBackground: [UIColor] = [background6] - public lazy var messageCurrentUserEmphemeralBackground: [UIColor] = [background8] - public lazy var messageOtherUserBackground: [UIColor] = [background8] - public lazy var messageCurrentUserTextColor: UIColor = text - public lazy var messageOtherUserTextColor: UIColor = text - public lazy var quotedMessageBackgroundCurrentUser: UIColor = background8 - public lazy var quotedMessageBackgroundOtherUser: UIColor = background8 - public lazy var reactionCurrentUserColor: UIColor? = UIColor(tintColor) - public lazy var reactionOtherUserColor: UIColor? = textLowEmphasis - public lazy var selectedReactionBackgroundColor: UIColor? = nil - public var voiceMessageControlBackground: UIColor = .streamWhiteStatic - - // MARK: - Link Attachment View - - public var messageLinkAttachmentAuthorColor: Color - public var messageLinkAttachmentTitleColor: Color - public var messageLinkAttachmentTextColor: Color - - // MARK: - Composer - - public lazy var composerPlaceholderColor: UIColor = subtitleText - public lazy var composerInputBackground: UIColor = background - public lazy var composerInputHighlightedBorder: UIColor = innerBorder - - // MARK: - Navigation Bar - - public var navigationBarGlyph: UIColor - - public var navigationBarTitle: UIColor { - didSet { - StreamConcurrency.onMain { [navigationBarTitle] in - let attributes: [NSAttributedString.Key: Any] = [.foregroundColor: navigationBarTitle] - UINavigationBar.appearance().titleTextAttributes = attributes - UINavigationBar.appearance().largeTitleTextAttributes = attributes - } - } - } - - public var navigationBarSubtitle: UIColor - - /// Sets a different tint color for the navigation bar. - /// - /// ## Example - /// - /// ```swift - /// var colors = ColorPalette() - /// colors.navigationBarTintColor = .purple - /// colors.navigationBarTitle = .brown - /// colors.navigationBarSubtitle = .cyan - /// colors.navigationBarBackground = .yellow - /// colors.tintColor = .red - /// let appearance = Appearance(colors: colors) - /// streamChat = StreamChat(chatClient: chatClient, appearance: appearance, utils: utils) - /// ``` - /// - /// - Important: `tintColor` must also be customised when setting this color. - public var navigationBarTintColor: Color - - /// Sets a custom background color for navigation bars. - /// - /// - Important: Customized views must use ``toolbarThemed(content:)``. - public var navigationBarBackground: UIColor? - - // MARK: - Threads - - public var bannerBackgroundColor: UIColor = .streamDarkGray -} - -// Those colors are default defined stream constants, which are fallback values if you don't implement your color theme. -// There is this static method `mode(_ light:, lightAlpha:, _ dark:, darkAlpha:)` which can help you in a great way with -// implementing dark mode support. -private extension UIColor { - /// This is color palette used by design team. - /// If you see any color not from this list in figma, point it out to anyone in design team. - static let streamBlack = mode(0x000000, 0xffffff) - static let streamGray = mode(0x7a7a7a, 0x7a7a7a) - static let streamGrayGainsboro = mode(0xdbdbdb, 0x2d2f2f) - static let streamGrayWhisper = mode(0xecebeb, 0x1c1e22) - static let streamDarkGray = mode(0x7a7a7a, 0x7a7a7a) - static let streamWhiteSmoke = mode(0xf2f2f2, 0x13151b) - static let streamWhiteSnow = mode(0xfcfcfc, 0x070a0d) - static let streamOverlayLight = mode(0xfcfcfc, lightAlpha: 0.9, 0x070a0d, darkAlpha: 0.9) - static let streamWhite = mode(0xffffff, 0x101418) - static let streamBlueAlice = mode(0xe9f2ff, 0x00193d) - static let streamAccentBlue = mode(0x005fff, 0x005fff) - static let streamAccentRed = mode(0xff3742, 0xff3742) - static let streamAccentGreen = mode(0x20e070, 0x20e070) - static let streamGrayDisabledText = mode(0x72767e, 0x72767e) - static let streamInnerBorder = mode(0xdbdde1, 0x272a30) - static let streamYellowBackground = mode(0xfbf4dd, 0x333024) - static let streamDisabled = mode(0xb4b7bb, 0x4c525c) - - // Currently we are not using the correct shadow color from figma's color palette. This is to avoid - // an issue with snapshots inconsistency between Intel vs M1. We can't use shadows with transparency. - // So we apply a light gray color to fake the transparency. - static let streamModalShadow = mode(0xd6d6d6, lightAlpha: 1, 0, darkAlpha: 1) - - static let streamWhiteStatic = mode(0xffffff, 0xffffff) - - static let streamBGGradientFrom = mode(0xf7f7f7, 0x101214) - static let streamBGGradientTo = mode(0xfcfcfc, 0x070a0d) - static let streamOverlay = mode(0x000000, lightAlpha: 0.2, 0x000000, darkAlpha: 0.4) - static let streamOverlayDark = mode(0x000000, lightAlpha: 0.6, 0xffffff, darkAlpha: 0.8) - static let streamOverlayDarkStatic = mode(0x000000, lightAlpha: 0.6, 0x000000, darkAlpha: 0.6) - - static func mode(_ light: Int, lightAlpha: CGFloat = 1.0, _ dark: Int, darkAlpha: CGFloat = 1.0) -> UIColor { - UIColor { traitCollection in - traitCollection.userInterfaceStyle == .dark - ? UIColor(rgb: dark).withAlphaComponent(darkAlpha) - : UIColor(rgb: light).withAlphaComponent(lightAlpha) - } - } -} diff --git a/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift b/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift index b0b2cdd4a..bc72d9a32 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/ActionItemView.swift @@ -52,6 +52,6 @@ public struct ActionItemView: View { } // Default image. - return images.photoDefault + return images.imagePlaceholder } } diff --git a/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift b/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift index 423fb7cdc..31a93482d 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/DiscardButtonView.swift @@ -20,7 +20,7 @@ public struct DiscardButtonView: View { .fill(Color.white) .frame(width: 16, height: 16) - Image(uiImage: images.closeFilled) + Image(uiImage: images.closeFill) .renderingMode(.template) .foregroundColor(color) } diff --git a/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift b/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift index 0bdb96200..42cda3ec0 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/GalleryHeaderView.swift @@ -46,8 +46,8 @@ struct GalleryHeaderView: View { private var closeImageColor: Color { // Note that default design uses `text` color - guard colors.navigationBarTintColor != colors.tintColor else { return Color(colors.text) } - return colors.navigationBarTintColor + guard colors.navigationBarTintColor != colors.accentPrimary else { return Color(colors.text) } + return Color(colors.navigationBarTintColor) } } diff --git a/Sources/StreamChatSwiftUI/CommonViews/NavigationBarThemeViewModifier.swift b/Sources/StreamChatSwiftUI/CommonViews/NavigationBarThemeViewModifier.swift index 3513c7c4a..e347fd137 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/NavigationBarThemeViewModifier.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/NavigationBarThemeViewModifier.swift @@ -17,7 +17,7 @@ private struct NavigationBarThemeViewModifier: ViewModifier { func body(content: Content) -> some View { content - .accentColor(colors.tintColor) + .accentColor(Color(colors.accentPrimary)) .modifier(NavigationBarBackgroundViewModifier()) .toolbar { toolbarContent() diff --git a/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift b/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift index 0c2756ab4..b1667cba4 100644 --- a/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift +++ b/Sources/StreamChatSwiftUI/CommonViews/SearchBar.swift @@ -23,7 +23,7 @@ struct SearchBar: View, KeyboardReadable { .clipShape(RoundedRectangle(cornerRadius: 18, style: .continuous)) .overlay( HStack { - Image(uiImage: images.searchIcon) + Image(uiImage: images.emptySearch) .customizable() .foregroundColor(Color(colors.textLowEmphasis)) .frame(maxHeight: 18) @@ -35,7 +35,7 @@ struct SearchBar: View, KeyboardReadable { Button(action: { text = "" }) { - Image(uiImage: images.searchCloseIcon) + Image(uiImage: images.searchClose) .customizable() .frame(width: 18, height: 18) .foregroundColor(Color(colors.textLowEmphasis)) @@ -56,7 +56,7 @@ struct SearchBar: View, KeyboardReadable { resignFirstResponder() }) { Text(L10n.Message.Search.cancel) - .foregroundColor(colors.tintColor) + .foregroundColor(Color(colors.accentPrimary)) } .frame(height: 20) .padding(.trailing, 8) diff --git a/Sources/StreamChatSwiftUI/Fonts.swift b/Sources/StreamChatSwiftUI/Fonts.swift deleted file mode 100644 index 0752b7bfe..000000000 --- a/Sources/StreamChatSwiftUI/Fonts.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import SwiftUI - -/// Provides access to fonts used in the SDK. -@MainActor public struct Fonts { - public init() { - // Public init. - } - - public var caption1 = Font.caption - public var footnoteBold = Font.footnote.bold() - public var footnote = Font.footnote - public var subheadline = Font.subheadline - public var subheadlineBold = Font.subheadline.bold() - public var body = Font.body - public var bodyBold = Font.body.bold() - public var bodyItalic = Font.body.italic() - public var headline = Font.headline - public var headlineBold = Font.headline.bold() - public var title = Font.title - public var title2 = Font.title2 - public var title3 = Font.title3 - public var emoji = Font.system(size: 50) -} diff --git a/Sources/StreamChatSwiftUI/Generated/L10n.swift b/Sources/StreamChatSwiftUI/Generated/L10n.swift index 7e400752c..ec4ac9ba0 100644 --- a/Sources/StreamChatSwiftUI/Generated/L10n.swift +++ b/Sources/StreamChatSwiftUI/Generated/L10n.swift @@ -1,7 +1,7 @@ // Generated using SwiftGen — https://github.com/SwiftGen/SwiftGen import Foundation - +import StreamChatCommonUI // MARK: - Strings @@ -646,7 +646,7 @@ internal enum L10n { extension L10n { private static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String { - let format = StreamConcurrency.onMain { Appearance.localizationProvider(key, table) } + let format = StreamConcurrency.onMain { Appearance.default.localizationProvider(key, table) } return String(format: format, locale: Locale.current, arguments: args) } } diff --git a/Sources/StreamChatSwiftUI/Generated/L10n_template.stencil b/Sources/StreamChatSwiftUI/Generated/L10n_template.stencil index b811d3e75..9e903805f 100644 --- a/Sources/StreamChatSwiftUI/Generated/L10n_template.stencil +++ b/Sources/StreamChatSwiftUI/Generated/L10n_template.stencil @@ -3,7 +3,7 @@ {% if tables.count > 0 %} {% set accessModifier %}{% if param.publicAccess %}public{% else %}internal{% endif %}{% endset %} import Foundation - +import StreamChatCommonUI // MARK: - Strings @@ -70,7 +70,7 @@ import Foundation extension {{enumName}} { private static func tr(_ table: String, _ key: String, _ args: CVarArg...) -> String { - let format = StreamConcurrency.onMain { Appearance.localizationProvider(key, table) } + let format = StreamConcurrency.onMain { Appearance.default.localizationProvider(key, table) } return String(format: format, locale: Locale.current, arguments: args) } } diff --git a/Sources/StreamChatSwiftUI/Images.swift b/Sources/StreamChatSwiftUI/Images.swift deleted file mode 100644 index 314e321f6..000000000 --- a/Sources/StreamChatSwiftUI/Images.swift +++ /dev/null @@ -1,315 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation -import StreamChat -import UIKit - -/// Provides access to the images used in the SDK. -@MainActor public class Images { - public init() { - // Public init. - } - - /// A private internal function that will safely load an image from the bundle or return a circle image as backup - /// - Parameter imageName: The required image name to load from the bundle - /// - Returns: A UIImage that is either the correct image from the bundle or backup circular image - private static func loadImageSafely(with imageName: String) -> UIImage { - if let image = UIImage(named: imageName, in: .streamChatUI) { - return image - } else { - log.error( - """ - \(imageName) image has failed to load from the bundle please make sure it's included in your assets folder. - A default 'red' circle image has been added. - """ - ) - return UIImage.circleImage - } - } - - // MARK: - General - - public var loadingIndicator: UIImage = loadImageSafely(with: "loading_indicator") - public var close: UIImage = UIImage(systemName: "xmark")! - public var closeFilled: UIImage = UIImage(systemName: "xmark.circle.fill")! - - public var closeCircleTransparent: UIImage = loadImageSafely(with: "close_circle_transparent") - public var discardAttachment: UIImage = loadImageSafely(with: "close_circle_filled") - public var back: UIImage = loadImageSafely(with: "icn_back") - public var onlyVisibleToCurrentUser = loadImageSafely(with: "eye") - public var more = loadImageSafely(with: "icn_more") - public var share: UIImage = UIImage(systemName: "square.and.arrow.up")! - - public var commands: UIImage = loadImageSafely(with: "bolt") - public var smallBolt: UIImage = loadImageSafely(with: "bolt_small") - public var openAttachments: UIImage = loadImageSafely(with: "clip") - public var shrinkInputArrow: UIImage = loadImageSafely(with: "arrow_shrink_input") - public var sendArrow: UIImage = loadImageSafely(with: "arrow_send") - public var scrollDownArrow: UIImage = loadImageSafely(with: "arrow_down") - public var messageSent: UIImage = loadImageSafely(with: "checkmark_grey") - public var whiteCheckmark: UIImage = loadImageSafely(with: "checkmark_white") - public var readByAll: UIImage = loadImageSafely(with: "checkmark_double") - public var messageReceiptSending: UIImage = loadImageSafely(with: "message_receipt_sending") - public var confirmCheckmark: UIImage = loadImageSafely(with: "checkmark_confirm") - public var bigConfirmCheckmark: UIImage = loadImageSafely(with: "checkmark_confirm_big") - public var folder: UIImage = loadImageSafely(with: "folder") - public var restart: UIImage = loadImageSafely(with: "restart") - public var download: UIImage = UIImage(systemName: "icloud.and.arrow.down")! - public var muted: UIImage = UIImage(systemName: "speaker.slash")! - public var snapshot: UIImage = UIImage(systemName: "photo")! - public var eye: UIImage = UIImage(systemName: "eye")! - public var videoIndicator: UIImage = UIImage(systemName: "video.fill")! - public var gallery: UIImage = UIImage(systemName: "square.grid.3x3.fill")! - public var photoDefault: UIImage = UIImage(systemName: "photo")! - public var pin: UIImage = loadImageSafely(with: "icn_pin") - - // MARK: - Recording - - public var sliderThumb: UIImage = loadImageSafely(with: "sliderThumb") - - // MARK: - Reactions - - public var reactionLoveSmall: UIImage = loadImageSafely(with: "reaction_love_small") - public var reactionLoveBig: UIImage = loadImageSafely(with: "reaction_love_big") - public var reactionLolSmall: UIImage = loadImageSafely(with: "reaction_lol_small") - public var reactionLolBig: UIImage = loadImageSafely(with: "reaction_lol_big") - public var reactionThumgsUpSmall: UIImage = loadImageSafely(with: "reaction_thumbsup_small") - public var reactionThumgsUpBig: UIImage = loadImageSafely(with: "reaction_thumbsup_big") - public var reactionThumgsDownSmall: UIImage = loadImageSafely(with: "reaction_thumbsdown_small") - public var reactionThumgsDownBig: UIImage = loadImageSafely(with: "reaction_thumbsdown_big") - public var reactionWutSmall: UIImage = loadImageSafely(with: "reaction_wut_small") - public var reactionWutBig: UIImage = loadImageSafely(with: "reaction_wut_big") - - private var _availableReactions: [MessageReactionType: ChatMessageReactionAppearanceType]? - public var availableReactions: [MessageReactionType: ChatMessageReactionAppearanceType] { - get { - _availableReactions ?? - [ - .init(rawValue: "love"): ChatMessageReactionAppearance( - smallIcon: reactionLoveSmall, - largeIcon: reactionLoveBig - ), - .init(rawValue: "haha"): ChatMessageReactionAppearance( - smallIcon: reactionLolSmall, - largeIcon: reactionLolBig - ), - .init(rawValue: "like"): ChatMessageReactionAppearance( - smallIcon: reactionThumgsUpSmall, - largeIcon: reactionThumgsUpBig - ), - .init(rawValue: "sad"): ChatMessageReactionAppearance( - smallIcon: reactionThumgsDownSmall, - largeIcon: reactionThumgsDownBig - ), - .init(rawValue: "wow"): ChatMessageReactionAppearance( - smallIcon: reactionWutSmall, - largeIcon: reactionWutBig - ) - ] - } - set { _availableReactions = newValue } - } - - public var availableEmojis: [String] = [ - "😀", "😃", "😄", "😁", "😆", "😅", "🤣", "😂", "🙂", "🙃", - "😉", "😊", "😇", "🥰", "😍", "🤩", "😘", "😗", "😚", "😙", - "😋", "😛", "😜", "🤪", "😝", "🤑", "🤗", "🤭", "🤫", "🤔", - "🤐", "🤨", "😐", "😑", "😶", "😶‍🌫️", "😏", "😒", "🙄", "😬", - "🤥", "😌", "😔", "😪", "🤤", "😴", "😷", "🤒", "🤕", "🤢", - "🤮", "🤧", "🥵", "🥶", "🥴", "😵‍💫", "🤯", "🤠", "🥳", "😎", - "🤓", "🧐", "😕", "😟", "🙁", "☹️", "😮", "😯", "😲", "😳", - "🥺", "😦", "😧", "😨", "😰", "😥", "😢", "😭", "😱", "😖", - "😣", "😞", "😓", "😩", "😫", "🥱", "😤", "😡", "😠", "🤬", - "😈", "👿", "💀", "☠️", "💩", "🤡", "👹", "👺", "👻", "👽", - "👾", "🤖", "🎃", "😺", "😸", "😹", "😻", "😼", "😽", "🙀", - "😿", "😾", "👍", "👎", "👌", "🤌", "🤏", "✌️", "🤞", "🤟", - "🤘", "🤙", "👈", "👉", "👆", "👇", "☝️", "✋", "🤚", "🖐️", - "🖖", "👋", "🤝", "🙏", "💪", "👣", "👀", "🧠", "🫶", "💋", - "❤️", "🧡", "💛", "💚", "💙", "💜", "🖤", "🤍", "🤎", "💔", - "❣️", "💕", "💞", "💓", "💗", "💖", "💘", "💝" - ] - - // MARK: - MessageList - - public var messageListErrorIndicator: UIImage = loadImageSafely(with: "error_indicator") - - // MARK: - FileIcons - - public var file7z: UIImage = loadImageSafely(with: "7z") - public var fileAac: UIImage = loadImageSafely(with: "aac") - public var fileCsv: UIImage = loadImageSafely(with: "csv") - public var fileDoc: UIImage = loadImageSafely(with: "doc") - public var fileDocx: UIImage = loadImageSafely(with: "docx") - public var fileHtml: UIImage = loadImageSafely(with: "html") - public var fileMd: UIImage = loadImageSafely(with: "md") - public var fileMp3: UIImage = loadImageSafely(with: "mp3") - public var fileOdt: UIImage = loadImageSafely(with: "odt") - public var filePdf: UIImage = loadImageSafely(with: "pdf") - public var filePpt: UIImage = loadImageSafely(with: "ppt") - public var filePptx: UIImage = loadImageSafely(with: "pptx") - public var fileRar: UIImage = loadImageSafely(with: "rar") - public var fileRtf: UIImage = loadImageSafely(with: "rtf") - public var fileTargz: UIImage = loadImageSafely(with: "tar.gz") - public var fileTxt: UIImage = loadImageSafely(with: "txt") - public var fileXls: UIImage = loadImageSafely(with: "xls") - public var fileXlsx: UIImage = loadImageSafely(with: "xlsx") - public var filezip: UIImage = loadImageSafely(with: "zip") - public var fileFallback: UIImage = loadImageSafely(with: "generic") - - private var _documentPreviews: [String: UIImage]? - - public var documentPreviews: [String: UIImage] { - get { _documentPreviews ?? - [ - "7z": file7z, - "csv": fileCsv, - "doc": fileDoc, - "docx": fileDocx, - "html": fileHtml, - "md": fileMd, - "mp3": fileMp3, - "odt": fileOdt, - "pdf": filePdf, - "ppt": filePpt, - "pptx": filePptx, - "rar": fileRar, - "rtf": fileRtf, - "tar.gz": fileTargz, - "txt": fileTxt, - "xls": fileXls, - "xlsx": fileXlsx, - "zip": filezip - ] - } - set { _documentPreviews = newValue } - } - - private var _fileIcons: [AttachmentFileType: UIImage]? - public var fileIcons: [AttachmentFileType: UIImage] { - get { _fileIcons ?? - [AttachmentFileType: UIImage]( - uniqueKeysWithValues: AttachmentFileType.allCases.compactMap { - guard let icon = UIImage(named: $0.rawValue, in: .streamChatUI) else { return nil } - return ($0, icon) - } - ) - } - set { _fileIcons = newValue } - } - - // MARK: - Message Actions - - public var messageActionInlineReply: UIImage = loadImageSafely(with: "icn_inline_reply") - public var messageActionThreadReply: UIImage = loadImageSafely(with: "icn_thread_reply") - public var messageActionEdit: UIImage = loadImageSafely(with: "icn_edit") - public var messageActionCopy: UIImage = loadImageSafely(with: "icn_copy") - public var messageActionBlockUser: UIImage = loadImageSafely(with: "icn_block_user") - public var messageActionMuteUser: UIImage = loadImageSafely(with: "icn_mute_user") - public var messageActionDelete: UIImage = loadImageSafely(with: "icn_delete") - public var messageActionResend: UIImage = loadImageSafely(with: "icn_resend") - - // MARK: - Placeholders - - public var userAvatarPlaceholder1: UIImage = loadImageSafely(with: "pattern1") - public var userAvatarPlaceholder2: UIImage = loadImageSafely(with: "pattern2") - public var userAvatarPlaceholder3: UIImage = loadImageSafely(with: "pattern3") - public var userAvatarPlaceholder4: UIImage = loadImageSafely(with: "pattern4") - public var userAvatarPlaceholder5: UIImage = loadImageSafely(with: "pattern5") - - public var avatarPlaceholders: [UIImage] { - [ - userAvatarPlaceholder1, - userAvatarPlaceholder2, - userAvatarPlaceholder3, - userAvatarPlaceholder4, - userAvatarPlaceholder5 - ] - } - - public var imagePlaceholder: UIImage = UIImage(systemName: "photo")! - public var personPlaceholder: UIImage = UIImage(systemName: "person.circle")! - - // MARK: - FileAttachmentIcons - - private var _fileAttachmentActionIcons: [LocalAttachmentState?: UIImage]? - public var fileAttachmentActionIcons: [LocalAttachmentState?: UIImage] { - get { _fileAttachmentActionIcons ?? - [ - .uploaded: download, - .uploadingFailed: restart, - nil: folder - ] - } - set { _fileAttachmentActionIcons = newValue } - } - - public var attachmentPickerPhotos: UIImage = UIImage(systemName: "photo")! - public var attachmentPickerFolder: UIImage = UIImage(systemName: "folder")! - public var attachmentPickerCamera: UIImage = UIImage(systemName: "camera")! - public var attachmentPickerPolls: UIImage = loadImageSafely(with: "attachment_picker_polls") - - public var camera: UIImage = loadImageSafely(with: "camera") - public var bigPlay: UIImage = loadImageSafely(with: "play_big") - - public var play: UIImage = loadImageSafely(with: "play") - public var playFilled: UIImage = UIImage(systemName: "play.fill")! - public var pause: UIImage = loadImageSafely(with: "pause") - public var pauseFilled: UIImage = loadImageSafely(with: "pause.fill") - - public var checkmarkFilled: UIImage = UIImage(systemName: "checkmark.circle.fill")! - - // MARK: - CommandIcons - - public var commandBan: UIImage = loadImageSafely(with: "command_ban") - public var commandFlag: UIImage = loadImageSafely(with: "command_flag") - public var commandGiphy: UIImage = loadImageSafely(with: "command_giphy") - public var commandImgur: UIImage = loadImageSafely(with: "command_imgur") - public var commandMention: UIImage = loadImageSafely(with: "command_mention") - public var commandMute: UIImage = loadImageSafely(with: "command_mute") - public var commandUnban: UIImage = loadImageSafely(with: "command_unban") - public var commandUnmute: UIImage = loadImageSafely(with: "command_unmute") - public var commandFallback: UIImage = loadImageSafely(with: "command_fallback") - - private var _commandIcons: [String: UIImage]? - public var commandIcons: [String: UIImage] { - get { _commandIcons ?? - [ - "ban": commandBan, - "flag": commandFlag, - "giphy": commandGiphy, - "imgur": commandImgur, - "mention": commandMention, - "mute": commandMute, - "unban": commandUnban, - "unmute": commandUnmute - ] - } - set { _commandIcons = newValue } - } - - // MARK: - MessageSearch - - public var searchIcon: UIImage = loadImageSafely(with: "icn_search") - public var searchCloseIcon: UIImage = UIImage(systemName: "multiply.circle")! - - // MARK: - Threads - - public var threadIcon: UIImage = UIImage(systemName: "text.bubble")! - - // MARK: - No Content Icons - - public var noContent: UIImage = UIImage( - systemName: "message", - withConfiguration: UIImage.SymbolConfiguration(pointSize: 100, weight: .regular) - ) ?? UIImage.circleImage - public var noMedia: UIImage = UIImage( - systemName: "folder", - withConfiguration: UIImage.SymbolConfiguration(pointSize: 100, weight: .regular) - ) ?? UIImage.circleImage - public var noThreads: UIImage = UIImage( - systemName: "text.bubble", - withConfiguration: UIImage.SymbolConfiguration(pointSize: 100, weight: .regular) - ) ?? UIImage.circleImage -} diff --git a/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift b/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift index 4c9fdff2f..b03cce3aa 100644 --- a/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift +++ b/Sources/StreamChatSwiftUI/InjectedValuesExtensions.swift @@ -4,6 +4,7 @@ import Foundation import StreamChat +import StreamChatCommonUI extension InjectedValues { /// Provides access to the `ChatClient` instance. @@ -17,12 +18,12 @@ extension InjectedValues { } /// Provides access to the `ColorPalette` instance. - @MainActor public var colors: ColorPalette { + @MainActor public var colors: Appearance.ColorPalette { get { - streamChat.appearance.colors + streamChat.appearance.colorPalette } set { - streamChat.appearance.colors = newValue + streamChat.appearance.colorPalette = newValue } } @@ -37,7 +38,7 @@ extension InjectedValues { } /// Provides access to the `Images` instance. - @MainActor public var images: Images { + @MainActor public var images: Appearance.Images { get { streamChat.appearance.images } @@ -47,12 +48,12 @@ extension InjectedValues { } /// Provides access to the `Fonts` instance. - @MainActor public var fonts: Fonts { + @MainActor public var fonts: Appearance.FontsSwiftUI { get { - streamChat.appearance.fonts + streamChat.appearance.fontsSwiftUI } set { - streamChat.appearance.fonts = newValue + streamChat.appearance.fontsSwiftUI = newValue } } } diff --git a/Sources/StreamChatSwiftUI/StreamChat.swift b/Sources/StreamChatSwiftUI/StreamChat.swift index ce3e5282a..11f9fdbd6 100644 --- a/Sources/StreamChatSwiftUI/StreamChat.swift +++ b/Sources/StreamChatSwiftUI/StreamChat.swift @@ -3,6 +3,7 @@ // import StreamChat +import StreamChatCommonUI /// Main interface to the SwiftUI SDK. /// @@ -17,6 +18,7 @@ import StreamChat appearance: Appearance = Appearance(), utils: Utils = Utils() ) { + Appearance.bundle = .streamChatUI self.chatClient = chatClient self.appearance = appearance self.utils = utils diff --git a/Sources/StreamChatSwiftUI/Styles.swift b/Sources/StreamChatSwiftUI/Styles.swift index 18aa635f1..493e96aa0 100644 --- a/Sources/StreamChatSwiftUI/Styles.swift +++ b/Sources/StreamChatSwiftUI/Styles.swift @@ -133,7 +133,6 @@ public struct StandardInputViewModifier: ViewModifier { } private var highlightedBorder: UIColor { - var colors = colors return colors.composerInputHighlightedBorder } } diff --git a/Sources/StreamChatSwiftUI/Utils.swift b/Sources/StreamChatSwiftUI/Utils.swift index 949ec23ef..0834178fe 100644 --- a/Sources/StreamChatSwiftUI/Utils.swift +++ b/Sources/StreamChatSwiftUI/Utils.swift @@ -4,6 +4,7 @@ import Foundation import StreamChat +import StreamChatCommonUI /// Class providing implementations of several utilities used in the SDK. /// The default implementations can be replaced in the init method, or directly via the variables. @@ -15,15 +16,16 @@ import StreamChat /// Date formatter where the format depends on the time passed. /// /// - SeeAlso: ``ChannelListConfig/messageRelativeDateFormatEnabled``. - public var messageRelativeDateFormatter: DateFormatter - public var galleryHeaderViewDateFormatter: DateFormatter + public var messageTimestampFormatter: MessageTimestampFormatter + public var galleryHeaderViewDateFormatter: GalleryHeaderViewDateFormatter + public var messageDateSeparatorFormatter: MessageDateSeparatorFormatter public var videoPreviewLoader: VideoPreviewLoader public var imageLoader: ImageLoading public var imageCDN: ImageCDN public var imageProcessor: ImageProcessor public var imageMerger: ImageMerging public var fileCDN: FileCDN - public var channelNamer: ChatChannelNamer + public var channelNameFormatter: ChannelNameFormatter public var chatUserNamer: ChatUserNamer public var channelAvatarsMerger: ChannelAvatarsMerging public var messageTypeResolver: MessageTypeResolving @@ -74,13 +76,14 @@ import StreamChat var _audioPlayer: AudioPlaying? var _audioRecorder: AudioRecording? - var pollsDateFormatter = PollsDateFormatter() + var pollsDateFormatter: PollTimestampFormatter = DefaultPollTimestampFormatter() public init( markdownFormatter: MarkdownFormatter = DefaultMarkdownFormatter(), dateFormatter: DateFormatter = .makeDefault(), - messageRelativeDateFormatter: DateFormatter = MessageRelativeDateFormatter(), - galleryHeaderViewDateFormatter: DateFormatter = GalleryHeaderViewDateFormatter(), + messageTimestampFormatter: MessageTimestampFormatter = ChannelListMessageTimestampFormatter(), + galleryHeaderViewDateFormatter: GalleryHeaderViewDateFormatter = DefaultGalleryHeaderViewDateFormatter(), + messageDateSeparatorFormatter: MessageDateSeparatorFormatter = DefaultMessageDateSeparatorFormatter(), videoPreviewLoader: VideoPreviewLoader = DefaultVideoPreviewLoader(), imageLoader: ImageLoading = NukeImageLoader(), imageCDN: ImageCDN = StreamImageCDN(), @@ -96,7 +99,7 @@ import StreamChat messageListConfig: MessageListConfig = MessageListConfig(), composerConfig: ComposerConfig = ComposerConfig(), pollsConfig: PollsConfig = PollsConfig(), - channelNamer: @escaping ChatChannelNamer = DefaultChatChannelNamer(), + channelNameFormatter: ChannelNameFormatter = DefaultChannelNameFormatter(), chatUserNamer: ChatUserNamer = DefaultChatUserNamer(), snapshotCreator: SnapshotCreator = DefaultSnapshotCreator(), messageIdBuilder: MessageIdBuilder = DefaultMessageIdBuilder(), @@ -108,15 +111,16 @@ import StreamChat ) { self.markdownFormatter = markdownFormatter self.dateFormatter = dateFormatter - self.messageRelativeDateFormatter = messageRelativeDateFormatter + self.messageTimestampFormatter = messageTimestampFormatter self.galleryHeaderViewDateFormatter = galleryHeaderViewDateFormatter + self.messageDateSeparatorFormatter = messageDateSeparatorFormatter self.videoPreviewLoader = videoPreviewLoader self.imageLoader = imageLoader self.imageCDN = imageCDN self.imageProcessor = imageProcessor self.imageMerger = imageMerger self.fileCDN = fileCDN - self.channelNamer = channelNamer + self.channelNameFormatter = channelNameFormatter self.chatUserNamer = chatUserNamer self.channelAvatarsMerger = channelAvatarsMerger self.messageTypeResolver = messageTypeResolver diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift b/Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift deleted file mode 100644 index 7f08e2b7c..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/ChatChannelNamer.swift +++ /dev/null @@ -1,97 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation -import StreamChat - -/// Typealias for closure taking `ChatChannel` and `UserId` which returns -/// the current name of the channel. Use this type when you create closure for naming a channel. -/// For example usage, see `DefaultChatChannelNamer` -public typealias ChatChannelNamer = - (_ channel: ChatChannel, _ currentUserId: UserId?) -> String? - -/// Generates a name for the given channel, given the current user's id. -/// -/// The priority order is: -/// - Assigned name of the channel, if not empty -/// - If the channel is direct message (implicit cid): -/// - Name generated from cached members of the channel -/// - Channel's id -/// -/// Examples: -/// - If channel has some name, ie. `Channel 1`, this returns `Channel 1` -/// - If channel has no name and is not direct message, this returns channel ID of the channel -/// - If channel is direct message, has no name and has members where there just 2, -/// returns name of the members in alphabetic order: `Leia, Luke` -/// - If channel is direct message, has no name and has members where there are more than 2, -/// returns name of the members in alphabetic order with how many members left: `Leia, Luke and 5 others` -/// - If channel is direct message, has no name and no members, this returns `nil` -/// - If channel is direct message, has no name and only one member, shows the one member name -/// -/// - Parameters: -/// - maxMemberNames: Maximum number of visible members in Channel defaults to `2` -/// - separator: Separator of the members, defaults to `y` -/// - Returns: A closure with 2 parameters carrying `channel` used for name generation and `currentUserId` to decide -/// which members' names are going to be displayed -public func DefaultChatChannelNamer( - maxMemberNames: Int = 2, - separator: String = "," -) -> ChatChannelNamer { - { channel, currentUserId in - if let channelName = channel.name, !channelName.isEmpty { - // If there's an assigned name and it's not empty, we use it - return channelName - } else if channel.isDirectMessageChannel { - // If this is a channel generated as DM - // we generate the name from users - let memberNames = channel.lastActiveMembers.filter { $0.id != currentUserId }.compactMap(\.name).sorted() - let prefixedMemberNames = memberNames.prefix(maxMemberNames) - let channelName: String - if prefixedMemberNames.isEmpty { - // This channel only has current user as member - if let currentUser = channel.lastActiveMembers.first(where: { $0.id == currentUserId }) { - channelName = nameOrId(currentUser.name, currentUser.id) - } else { - return nil - } - } else { - // This channel has exactly 2 members - // Name it as "Darth Maul and Darth Vader - if memberNames.count == 2 { - channelName = "\(prefixedMemberNames.first!) \(L10n.Channel.Name.and) \(prefixedMemberNames.last!)" - // This channel has more than 2 members - // Name it as "Darth Maul, Darth Vader and more" - } else { - channelName = prefixedMemberNames - .joined(separator: "\(separator) ") - + ( - memberNames.count > maxMemberNames - ? " \(L10n.Channel.Name.andXMore(memberNames.count - maxMemberNames))" - : "" - ) - } - } - return channelName - } else { - // We don't have a valid name assigned, and this is not a DM channel - // makes sense to return `nil` because `channelId` could be confusing for our users. - return nil - } - } -} - -/// Entities such as `User`, `Member` and `Channel` have both `name` and `id`, and `name` is preferred for display. -/// However, `name` and exists but can be empty, in that case we display `id`. -/// This helper encapsulates choosing logic between `name` and `id` -/// - Parameters: -/// - name: name of the entity. -/// - id: id of the entity -/// - Returns: `name` if it exists and not empty, otherwise `id` -private func nameOrId(_ name: String?, _ id: String) -> String { - if let name, !name.isEmpty { - name - } else { - id - } -} diff --git a/Sources/StreamChatSwiftUI/Utils/Common/ChatMessageReactionAppeareance.swift b/Sources/StreamChatSwiftUI/Utils/Common/ChatMessageReactionAppeareance.swift deleted file mode 100644 index 43d2dd482..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/ChatMessageReactionAppeareance.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import StreamChat -import UIKit - -/// The type describing message reaction appearance. -public protocol ChatMessageReactionAppearanceType { - var smallIcon: UIImage { get } - var largeIcon: UIImage { get } -} - -/// The default `ReactionAppearanceType` implementation without any additional data -/// which can be used to provide custom icons for message reaction. -public struct ChatMessageReactionAppearance: ChatMessageReactionAppearanceType { - public let smallIcon: UIImage - public let largeIcon: UIImage - - public init( - smallIcon: UIImage, - largeIcon: UIImage - ) { - self.smallIcon = smallIcon - self.largeIcon = largeIcon - } -} diff --git a/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift index 959776d63..bc8c66463 100644 --- a/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift +++ b/Sources/StreamChatSwiftUI/Utils/Common/DateFormatter+Extensions.swift @@ -12,15 +12,6 @@ extension DateFormatter { formatter.locale = Locale.autoupdatingCurrent return formatter } - - /// Formatter that is used to format date for scrolling overlay that should display - /// day when message below was sent - @MainActor public static var messageListDateOverlay: DateFormatter = { - let df = DateFormatter() - df.setLocalizedDateFormatFromTemplate("MMMdd") - df.locale = .autoupdatingCurrent - return df - }() } extension DateComponentsFormatter { diff --git a/Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift b/Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift deleted file mode 100644 index 440010baa..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/DateUtils.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation - -public enum DateUtils { - /// timeAgo formats a date into a string like "15 minutes ago" - public static func timeAgo(relativeTo date: Date) -> String? { - let now = Date() - let calendar = Calendar.current - - if now < date { - return nil - } - - guard - let minuteAgo = calendar.date(byAdding: .minute, value: -1, to: now), - let hourAgo = calendar.date(byAdding: .hour, value: -1, to: now), - let dayAgo = calendar.date(byAdding: .day, value: -1, to: now), - let weekAgo = calendar.date(byAdding: .day, value: -7, to: now), - let monthAgo = calendar.date(byAdding: .day, value: -31, to: now) - else { return nil } - - if minuteAgo < date { - return secondsAgo(from: date, to: now, calendar: calendar) - } - - if hourAgo < date { - return minutesAgo(from: date, to: now, calendar: calendar) - } - - if dayAgo < date { - return hoursAgo(from: date, to: now, calendar: calendar) - } - - if weekAgo < date { - return daysAgo(from: date, to: now, calendar: calendar) - } - - if monthAgo < date { - return weeksAgo(from: date, to: now, calendar: calendar) - } - - let diff = calendar.dateComponents([.month], from: date, to: now).month ?? 0 - return diff > 1 ? L10n.Dates.timeAgoMonthsPlural(diff) : L10n.Dates.timeAgoMonthsSingular - } - - // MARK: - private - - private static func secondsAgo(from date: Date, to now: Date, calendar: Calendar) -> String? { - let diff = calendar.dateComponents([.second], from: date, to: now).second ?? 0 - return diff > 1 ? L10n.Dates.timeAgoSecondsPlural(diff) : L10n.Dates.timeAgoSecondsSingular - } - - private static func minutesAgo(from date: Date, to now: Date, calendar: Calendar) -> String? { - let diff = calendar.dateComponents([.minute], from: date, to: now).minute ?? 0 - return diff > 1 ? L10n.Dates.timeAgoMinutesPlural(diff) : L10n.Dates.timeAgoMinutesSingular - } - - private static func hoursAgo(from date: Date, to now: Date, calendar: Calendar) -> String? { - let diff = calendar.dateComponents([.hour], from: date, to: now).hour ?? 0 - return diff > 1 ? L10n.Dates.timeAgoHoursPlural(diff) : L10n.Dates.timeAgoHoursSingular - } - - private static func daysAgo(from date: Date, to now: Date, calendar: Calendar) -> String? { - let diff = calendar.dateComponents([.day], from: date, to: now).day ?? 0 - return diff > 1 ? L10n.Dates.timeAgoDaysPlural(diff) : L10n.Dates.timeAgoDaysSingular - } - - private static func weeksAgo(from date: Date, to now: Date, calendar: Calendar) -> String? { - let diff = calendar.dateComponents([.weekOfYear], from: date, to: now).weekOfYear ?? 0 - return diff > 1 ? L10n.Dates.timeAgoWeeksPlural(diff) : L10n.Dates.timeAgoWeeksSingular - } -} diff --git a/Sources/StreamChatSwiftUI/Utils/Common/GalleryHeaderViewDateFormatter.swift b/Sources/StreamChatSwiftUI/Utils/Common/GalleryHeaderViewDateFormatter.swift deleted file mode 100644 index bfd189460..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/GalleryHeaderViewDateFormatter.swift +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation - -/// A formatter used to display the message timestamp in the gallery header view. -public final class GalleryHeaderViewDateFormatter: DateFormatter, @unchecked Sendable { - override public init() { - super.init() - - locale = .autoupdatingCurrent - dateStyle = .short - timeStyle = .none - } - - @available(*, unavailable) - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - override public func string(from date: Date) -> String { - if calendar.isDateInToday(date) { - return dayFormatter.string(from: date) - } - - if calendar.isDateInYesterday(date) { - return dayFormatter.string(from: date) - } - - return super.string(from: date) - } - - let dayFormatter: DateFormatter = { - let formatter = DateFormatter() - formatter.locale = .autoupdatingCurrent - formatter.dateStyle = .short - formatter.timeStyle = .none - formatter.doesRelativeDateFormatting = true - return formatter - }() -} diff --git a/Sources/StreamChatSwiftUI/Utils/Common/MessageRelativeDateFormatter.swift b/Sources/StreamChatSwiftUI/Utils/Common/MessageRelativeDateFormatter.swift deleted file mode 100644 index 433a51016..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/MessageRelativeDateFormatter.swift +++ /dev/null @@ -1,65 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation - -/// A formatter that converts message timestamps to a format which depends on the time passed. -public final class MessageRelativeDateFormatter: DateFormatter, @unchecked Sendable { - override public init() { - super.init() - locale = .autoupdatingCurrent - dateStyle = .short - timeStyle = .none - } - - @available(*, unavailable) - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") - } - - override public func string(from date: Date) -> String { - if calendar.isDateInToday(date) { - return todayFormatter.string(from: date) - } - if calendar.isDateInYesterday(date) { - return yesterdayFormatter.string(from: date) - } - if calendar.isDateInLastWeek(date) { - return weekdayFormatter.string(from: date) - } - - return super.string(from: date) - } - - var todayFormatter: DateFormatter { - StreamConcurrency.onMain { - InjectedValues[\.utils].dateFormatter - } - } - - let yesterdayFormatter: DateFormatter = { - let formatter = DateFormatter() - formatter.locale = .autoupdatingCurrent - formatter.dateStyle = .short - formatter.timeStyle = .none - formatter.doesRelativeDateFormatting = true - return formatter - }() - - let weekdayFormatter: DateFormatter = { - let formatter = DateFormatter() - formatter.locale = .autoupdatingCurrent - formatter.setLocalizedDateFormatFromTemplate("EEEE") - return formatter - }() -} - -extension Calendar { - func isDateInLastWeek(_ date: Date) -> Bool { - guard let dateBefore7days = self.date(byAdding: .day, value: -7, to: Date()) else { - return false - } - return date > dateBefore7days - } -} diff --git a/Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift deleted file mode 100644 index a829710da..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/UIColor+Extensions.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import UIKit - -extension UIColor { - convenience init(r: CGFloat, g: CGFloat, b: CGFloat) { - self.init( - red: r / 255, - green: g / 255, - blue: b / 255, - alpha: 1 - ) - } - - convenience init(red: Int, green: Int, blue: Int) { - self.init( - r: CGFloat(red), - g: CGFloat(green), - b: CGFloat(blue) - ) - } - - convenience init(rgb: Int) { - self.init( - red: (rgb >> 16) & 0xff, - green: (rgb >> 8) & 0xff, - blue: rgb & 0xff - ) - } -} diff --git a/Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift deleted file mode 100644 index 901ea81a4..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/UIFont+Extensions.swift +++ /dev/null @@ -1,22 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import UIKit - -extension UIFont { - func withTraits(traits: UIFontDescriptor.SymbolicTraits) -> UIFont { - guard let descriptor = fontDescriptor.withSymbolicTraits(traits) else { - return self - } - return UIFont(descriptor: descriptor, size: pointSize) - } - - var bold: UIFont { - withTraits(traits: .traitBold) - } - - var italic: UIFont { - withTraits(traits: .traitItalic) - } -} diff --git a/Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift b/Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift deleted file mode 100644 index 30a0eb2ef..000000000 --- a/Sources/StreamChatSwiftUI/Utils/Common/UIImage+Extensions.swift +++ /dev/null @@ -1,54 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import UIKit - -extension UIImage { - convenience init?(named name: String, in bundle: Bundle) { - self.init(named: name, in: bundle, compatibleWith: nil) - } -} - -extension UIImage { - static let circleImage: UIImage = { - let size: CGSize = CGSize(width: 24, height: 24) - let renderer = UIGraphicsImageRenderer(size: size) - let circleImage = renderer.image { ctx in - ctx.cgContext.setFillColor(UIColor.red.cgColor) - - let rectangle = CGRect(x: 0, y: 0, width: size.width, height: size.height) - ctx.cgContext.addEllipse(in: rectangle) - ctx.cgContext.drawPath(using: .fillStroke) - } - return circleImage - }() -} - -extension UIImage { - func tinted(with fillColor: UIColor) -> UIImage? { - let image = withRenderingMode(.alwaysTemplate) - UIGraphicsBeginImageContextWithOptions(size, false, scale) - fillColor.set() - image.draw(in: CGRect(origin: .zero, size: size)) - - guard let imageColored = UIGraphicsGetImageFromCurrentImageContext() else { - return nil - } - - UIGraphicsEndImageContext() - return imageColored - } -} - -extension UIImage { - func saveAsJpgToTemporaryUrl() throws -> URL? { - guard let imageData = jpegData(compressionQuality: 1.0) else { return nil } - let imageName = "\(UUID().uuidString).jpg" - let documentDirectory = NSTemporaryDirectory() - let localPath = documentDirectory.appending(imageName) - let photoURL = URL(fileURLWithPath: localPath) - try imageData.write(to: photoURL) - return photoURL - } -} diff --git a/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift b/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift index 6536d5ce6..9eefc435c 100644 --- a/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift +++ b/Sources/StreamChatSwiftUI/Utils/NavigationContainerView.swift @@ -16,12 +16,12 @@ struct NavigationContainerView: View { NavigationStack { content() } - .accentColor(colors.navigationBarTintColor) + .accentColor(Color(colors.navigationBarTintColor)) } else { NavigationView { content() } - .accentColor(colors.navigationBarTintColor) + .accentColor(Color(colors.navigationBarTintColor)) } } else { content() diff --git a/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift b/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift index dbb735c90..92f578b3c 100644 --- a/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift +++ b/Sources/StreamChatSwiftUI/Utils/SnapshotCreator.swift @@ -20,7 +20,7 @@ public class DefaultSnapshotCreator: SnapshotCreator { public func makeSnapshot(for view: AnyView) -> UIImage { guard let uiView: UIView = topVC()?.view else { - return images.snapshot + return images.imagePlaceholder } return makeSnapshot(from: uiView) } diff --git a/Sources/StreamChatSwiftUI/ViewFactory/DefaultViewFactory.swift b/Sources/StreamChatSwiftUI/ViewFactory/DefaultViewFactory.swift index e4ec038a1..ada9edd54 100644 --- a/Sources/StreamChatSwiftUI/ViewFactory/DefaultViewFactory.swift +++ b/Sources/StreamChatSwiftUI/ViewFactory/DefaultViewFactory.swift @@ -85,7 +85,7 @@ extension ViewFactory { } public func makeChannelListBackground(options: ChannelListBackgroundOptions) -> some View { - Color(options.colors.background) + Color(InjectedValues[\.colors].background) .edgesIgnoringSafeArea(.bottom) } @@ -202,7 +202,7 @@ extension ViewFactory { public func makeEmptyMessagesView( options: EmptyMessagesViewOptions ) -> some View { - Color(options.colors.background) + Color(InjectedValues[\.colors].background) .frame(maxWidth: .infinity, maxHeight: .infinity) .accessibilityIdentifier("EmptyMessagesView") } @@ -238,7 +238,7 @@ extension ViewFactory { public func makeMessageListBackground( options: MessageListBackgroundOptions ) -> some View { - Color(options.colors.background) + Color(InjectedValues[\.colors].background) } public func makeMessageContainerView( diff --git a/Sources/StreamChatSwiftUI/ViewFactory/Options/ChannelViewFactoryOptions.swift b/Sources/StreamChatSwiftUI/ViewFactory/Options/ChannelViewFactoryOptions.swift index 50c512405..82c5361ba 100644 --- a/Sources/StreamChatSwiftUI/ViewFactory/Options/ChannelViewFactoryOptions.swift +++ b/Sources/StreamChatSwiftUI/ViewFactory/Options/ChannelViewFactoryOptions.swift @@ -88,14 +88,7 @@ public final class ChannelAvatarViewFactoryOptions: Sendable { } /// Options for creating the channel list background. -public final class ChannelListBackgroundOptions: Sendable { - /// The color palette to use. - public let colors: ColorPalette - - public init(colors: ColorPalette) { - self.colors = colors - } -} +public final class ChannelListBackgroundOptions: Sendable {} /// Options for creating the channel list item background. public final class ChannelListItemBackgroundOptions: Sendable { diff --git a/Sources/StreamChatSwiftUI/ViewFactory/Options/MessageViewFactoryOptions.swift b/Sources/StreamChatSwiftUI/ViewFactory/Options/MessageViewFactoryOptions.swift index cfe6bd7fa..941a8f1bb 100644 --- a/Sources/StreamChatSwiftUI/ViewFactory/Options/MessageViewFactoryOptions.swift +++ b/Sources/StreamChatSwiftUI/ViewFactory/Options/MessageViewFactoryOptions.swift @@ -12,24 +12,18 @@ import SwiftUI public final class EmptyMessagesViewOptions: Sendable { /// The channel to display empty state for. public let channel: ChatChannel - /// The color palette to use. - public let colors: ColorPalette - public init(channel: ChatChannel, colors: ColorPalette) { + public init(channel: ChatChannel) { self.channel = channel - self.colors = colors } } /// Options for creating the message list background. public final class MessageListBackgroundOptions: Sendable { - /// The color palette to use. - public let colors: ColorPalette /// Whether the view is in a thread. public let isInThread: Bool - public init(colors: ColorPalette, isInThread: Bool) { - self.colors = colors + public init(isInThread: Bool) { self.isInThread = isInThread } } diff --git a/Sources/StreamChatSwiftUI/ViewFactory/Options/ThreadViewFactoryOptions.swift b/Sources/StreamChatSwiftUI/ViewFactory/Options/ThreadViewFactoryOptions.swift index 54ff82b50..02d6b404e 100644 --- a/Sources/StreamChatSwiftUI/ViewFactory/Options/ThreadViewFactoryOptions.swift +++ b/Sources/StreamChatSwiftUI/ViewFactory/Options/ThreadViewFactoryOptions.swift @@ -4,6 +4,7 @@ import Foundation import StreamChat +import StreamChatCommonUI import SwiftUI // MARK: - Thread List Options @@ -81,9 +82,9 @@ public final class ThreadListFooterViewOptions: Sendable { /// Options for creating the thread list background. public final class ThreadListBackgroundOptions: Sendable { /// The color palette to use. - public let colors: ColorPalette + public let colors: Appearance.ColorPalette - public init(colors: ColorPalette) { + public init(colors: Appearance.ColorPalette) { self.colors = colors } } diff --git a/StreamChatSwiftUI.xcodeproj/project.pbxproj b/StreamChatSwiftUI.xcodeproj/project.pbxproj index eee499fa0..a51d2cc5e 100644 --- a/StreamChatSwiftUI.xcodeproj/project.pbxproj +++ b/StreamChatSwiftUI.xcodeproj/project.pbxproj @@ -83,13 +83,11 @@ 4F6D83352C0F05040098C298 /* PollCommentsViewModel_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F6D83342C0F05040098C298 /* PollCommentsViewModel_Tests.swift */; }; 4F6D83512C1079A00098C298 /* AlertBannerViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F6D83502C1079A00098C298 /* AlertBannerViewModifier.swift */; }; 4F6D83542C1094220098C298 /* AlertBannerViewModifier_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F6D83532C1094220098C298 /* AlertBannerViewModifier_Tests.swift */; }; - 4F7613792DDCB2C900F996E3 /* MessageRelativeDateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7613782DDCB2AD00F996E3 /* MessageRelativeDateFormatter.swift */; }; 4F7720AE2C58C45200BAEC02 /* OnLoadViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7720AD2C58C45000BAEC02 /* OnLoadViewModifier.swift */; }; 4F7DD9A02BFC7C6100599AA6 /* ChatClient+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7DD99F2BFC7C6100599AA6 /* ChatClient+Extensions.swift */; }; 4F7DD9A22BFCB2EF00599AA6 /* ChatClientExtensions_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F7DD9A12BFCB2EF00599AA6 /* ChatClientExtensions_Tests.swift */; }; 4F889C562D7F000700A7BDAF /* ChatMessageExtensions_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F889C552D7F000700A7BDAF /* ChatMessageExtensions_Tests.swift */; }; 4F8BFD0E2DE98B8400F47C0A /* NoThreadsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD2DDA602CB040EA0040B8D4 /* NoThreadsView.swift */; }; - 4F8D64402DDDCF9300026C09 /* MessageRelativeDateFormatter_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F8D643F2DDDCF9300026C09 /* MessageRelativeDateFormatter_Tests.swift */; }; 4F9173FD2DDDFFE8003C30B5 /* ChannelListConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F9173FC2DDDFFE3003C30B5 /* ChannelListConfig.swift */; }; 4FA3741A2D799CA400294721 /* AppConfigurationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FA374192D799CA400294721 /* AppConfigurationView.swift */; }; 4FA3741D2D799FC300294721 /* AppConfigurationTranslationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FA3741C2D799FC300294721 /* AppConfigurationTranslationView.swift */; }; @@ -127,7 +125,6 @@ 82D64B6A2AD7E5AC00C5C79E /* SwiftyGifManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D64B642AD7E5AC00C5C79E /* SwiftyGifManager.swift */; }; 82D64B6B2AD7E5AC00C5C79E /* NSImageView+SwiftyGif.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D64B652AD7E5AC00C5C79E /* NSImageView+SwiftyGif.swift */; }; 82FA42442AE67FF900C7390B /* SystemEnvironment+Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FA42432AE67FF900C7390B /* SystemEnvironment+Version.swift */; }; - 82FF61EC2B6AB789007185B6 /* StreamChat in Frameworks */ = {isa = PBXBuildFile; productRef = 82FF61EB2B6AB789007185B6 /* StreamChat */; }; 8400A345282C05F60067D3A0 /* StreamChatWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8400A344282C05F60067D3A0 /* StreamChatWrapper.swift */; }; 8400A34A282C07D60067D3A0 /* InternetConnectionMonitor_Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8400A349282C07D60067D3A0 /* InternetConnectionMonitor_Mock.swift */; }; 8400A34C282C081E0067D3A0 /* OHHTTPStubs in Frameworks */ = {isa = PBXBuildFile; productRef = 8400A34B282C081E0067D3A0 /* OHHTTPStubs */; }; @@ -276,18 +273,12 @@ 8465FDA92746A95700AF091E /* AutoLayoutHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD392746A95600AF091E /* AutoLayoutHelpers.swift */; }; 8465FDAA2746A95700AF091E /* DateFormatter+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD3A2746A95600AF091E /* DateFormatter+Extensions.swift */; }; 8465FDAB2746A95700AF091E /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD3B2746A95600AF091E /* StringExtensions.swift */; }; - 8465FDAC2746A95700AF091E /* UIFont+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD3C2746A95600AF091E /* UIFont+Extensions.swift */; }; 8465FDAD2746A95700AF091E /* ImageCDN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD3D2746A95600AF091E /* ImageCDN.swift */; }; - 8465FDAE2746A95700AF091E /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD3E2746A95600AF091E /* UIColor+Extensions.swift */; }; - 8465FDAF2746A95700AF091E /* UIImage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD3F2746A95600AF091E /* UIImage+Extensions.swift */; }; - 8465FDB02746A95700AF091E /* DateUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD402746A95600AF091E /* DateUtils.swift */; }; - 8465FDB12746A95700AF091E /* ChatChannelNamer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD412746A95600AF091E /* ChatChannelNamer.swift */; }; 8465FDB22746A95700AF091E /* InputTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD422746A95600AF091E /* InputTextView.swift */; }; 8465FDB32746A95700AF091E /* NSLayoutConstraint+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD432746A95600AF091E /* NSLayoutConstraint+Extensions.swift */; }; 8465FDB42746A95700AF091E /* ChatMessage+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD442746A95600AF091E /* ChatMessage+Extensions.swift */; }; 8465FDB52746A95700AF091E /* Cache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD452746A95600AF091E /* Cache.swift */; }; 8465FDB62746A95700AF091E /* VideoPreviewLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD462746A95600AF091E /* VideoPreviewLoader.swift */; }; - 8465FDB72746A95700AF091E /* ChatMessageReactionAppeareance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD472746A95600AF091E /* ChatMessageReactionAppeareance.swift */; }; 8465FDB82746A95700AF091E /* ImageMerger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD482746A95600AF091E /* ImageMerger.swift */; }; 8465FDB92746A95700AF091E /* NukeImageProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD492746A95600AF091E /* NukeImageProcessor.swift */; }; 8465FDBA2746A95700AF091E /* BundleExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD4A2746A95600AF091E /* BundleExtensions.swift */; }; @@ -308,11 +299,8 @@ 8465FDCA2746A95700AF091E /* MoreChannelActionsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD5B2746A95700AF091E /* MoreChannelActionsViewModel.swift */; }; 8465FDCB2746A95700AF091E /* ChatChannelListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD5C2746A95700AF091E /* ChatChannelListView.swift */; }; 8465FDCC2746A95700AF091E /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 8465FD5D2746A95700AF091E /* README.md */; }; - 8465FDCD2746A95700AF091E /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD5E2746A95700AF091E /* Fonts.swift */; }; 8465FDCE2746A95700AF091E /* InjectedValuesExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD5F2746A95700AF091E /* InjectedValuesExtensions.swift */; }; - 8465FDD12746A95700AF091E /* Images.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD622746A95700AF091E /* Images.swift */; }; 8465FDD22746A95800AF091E /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD632746A95700AF091E /* Utils.swift */; }; - 8465FDD32746A95800AF091E /* ColorPalette.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD642746A95700AF091E /* ColorPalette.swift */; }; 8465FDD72746A95800AF091E /* Appearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FD692746A95700AF091E /* Appearance.swift */; }; 8465FDD82746AA2700AF091E /* StreamChatSwiftUI.h in Headers */ = {isa = PBXBuildFile; fileRef = 8465FD602746A95700AF091E /* StreamChatSwiftUI.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8465FDDD2747A14700AF091E /* CustomComposerAttachmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8465FDDC2747A14700AF091E /* CustomComposerAttachmentView.swift */; }; @@ -321,8 +309,6 @@ 846608E7278C95E700D3D7B3 /* ChatChannelExtensions_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846608E6278C95E700D3D7B3 /* ChatChannelExtensions_Tests.swift */; }; 846608E9278C98CB00D3D7B3 /* TypingIndicatorView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846608E8278C98CB00D3D7B3 /* TypingIndicatorView_Tests.swift */; }; 8469592F29BB235400134EA0 /* LazyImageExtensions_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8469592E29BB235400134EA0 /* LazyImageExtensions_Tests.swift */; }; - 846AD4D0284F89B10074A0DD /* StreamChatTestMockServer in Frameworks */ = {isa = PBXBuildFile; productRef = 846AD4CF284F89B10074A0DD /* StreamChatTestMockServer */; }; - 846AD4D2284F89B10074A0DD /* StreamChatTestTools in Frameworks */ = {isa = PBXBuildFile; productRef = 846AD4D1284F89B10074A0DD /* StreamChatTestTools */; }; 846AD4D4284F95710074A0DD /* CustomChannelHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846AD4D3284F95710074A0DD /* CustomChannelHeader.swift */; }; 846B15F42817E7630017F7A1 /* ChatChannelInfoViewModel_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846B15F32817E7630017F7A1 /* ChatChannelInfoViewModel_Tests.swift */; }; 846B8E2C2C5B8117006A6249 /* BlockedUsersView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 846B8E2B2C5B8117006A6249 /* BlockedUsersView.swift */; }; @@ -336,6 +322,8 @@ 84779C752AEBBACD000A6A68 /* BottomReactionsView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84779C742AEBBACD000A6A68 /* BottomReactionsView_Tests.swift */; }; 84779C772AEBCA6E000A6A68 /* ReactionsIconProvider_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84779C762AEBCA6E000A6A68 /* ReactionsIconProvider_Tests.swift */; }; 84782785284A4DB500D2EE11 /* ChatClient_Mock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94CCB27578B92007FE2B9 /* ChatClient_Mock.swift */; }; + 847A7FD02F04103E006C6B1E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8465FCF82746A95600AF091E /* Assets.xcassets */; }; + 847A7FD22F0410AA006C6B1E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 847A7FD12F0410AA006C6B1E /* Assets.xcassets */; }; 847CEFEE27C38ABE00606257 /* MessageCachingUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847CEFED27C38ABE00606257 /* MessageCachingUtils.swift */; }; 847F7949282A91AD0009F74C /* ChatChannelView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847F7948282A91AD0009F74C /* ChatChannelView_Tests.swift */; }; 848399EC275FB41B003075E4 /* ChatChannelListView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848399EB275FB41B003075E4 /* ChatChannelListView_Tests.swift */; }; @@ -408,13 +396,11 @@ 84C94D4D2758FD5C007FE2B9 /* MessageComposerViewModel_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D4C2758FD5C007FE2B9 /* MessageComposerViewModel_Tests.swift */; }; 84C94D4F2758FE59007FE2B9 /* ChatChannelTestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D4E2758FE59007FE2B9 /* ChatChannelTestHelpers.swift */; }; 84C94D5127591DE2007FE2B9 /* ChatMessageIDs_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D5027591DE2007FE2B9 /* ChatMessageIDs_Tests.swift */; }; - 84C94D54275A1380007FE2B9 /* DateUtils_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D53275A1380007FE2B9 /* DateUtils_Tests.swift */; }; 84C94D56275A1AE1007FE2B9 /* StringExtensions_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D55275A1AE1007FE2B9 /* StringExtensions_Tests.swift */; }; 84C94D58275A1B89007FE2B9 /* MessageTypeResolver_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D57275A1B89007FE2B9 /* MessageTypeResolver_Tests.swift */; }; 84C94D5A275A2E43007FE2B9 /* StreamChat_Utils_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D59275A2E43007FE2B9 /* StreamChat_Utils_Tests.swift */; }; 84C94D5E275A3AA9007FE2B9 /* ImageCDN_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D5D275A3AA9007FE2B9 /* ImageCDN_Tests.swift */; }; 84C94D60275A45D2007FE2B9 /* ViewFactory_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D5F275A45D2007FE2B9 /* ViewFactory_Tests.swift */; }; - 84C94D62275A5BB7007FE2B9 /* ChatChannelNamer_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D61275A5BB7007FE2B9 /* ChatChannelNamer_Tests.swift */; }; 84C94D66275A660B007FE2B9 /* MessageActionsViewModel_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D65275A660B007FE2B9 /* MessageActionsViewModel_Tests.swift */; }; 84C94D68275A6AFD007FE2B9 /* ChannelHeaderLoader_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84C94D67275A6AFD007FE2B9 /* ChannelHeaderLoader_Tests.swift */; }; 84CAD77B284E5AAA00F28C17 /* MessageListViewLastGroupHeader_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84CAD77A284E5AAA00F28C17 /* MessageListViewLastGroupHeader_Tests.swift */; }; @@ -425,8 +411,6 @@ 84D6B55A27DF6EC7009C6D07 /* LoadingView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D6B55927DF6EC7009C6D07 /* LoadingView_Tests.swift */; }; 84D6E4F62B2CA4E300D0056C /* RecordingTipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D6E4F52B2CA4E300D0056C /* RecordingTipView.swift */; }; 84D6E4F82B2CA61000D0056C /* RecordingDurationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D6E4F72B2CA61000D0056C /* RecordingDurationView.swift */; }; - 84D6E52A2B3077A500D0056C /* VideoDurationFormatter_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D6E5292B3077A500D0056C /* VideoDurationFormatter_Tests.swift */; }; - 84D6E52C2B3078D200D0056C /* AudioRecordingNameFormatter_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D6E52B2B3078D200D0056C /* AudioRecordingNameFormatter_Tests.swift */; }; 84D77B58289D3CF800C241CE /* MessageListViewAvatars_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D77B57289D3CF800C241CE /* MessageListViewAvatars_Tests.swift */; }; 84DA1C282837B73D000E4B6A /* MessageListPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84DA1C272837B73D000E4B6A /* MessageListPage.swift */; }; 84DEC8DB27609FA200172876 /* MoreChannelActionsView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84DEC8DA27609FA200172876 /* MoreChannelActionsView_Tests.swift */; }; @@ -460,11 +444,11 @@ 84E6EC25279AEE9F0017207B /* StreamChatTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E6EC24279AEE9F0017207B /* StreamChatTestCase.swift */; }; 84E6EC27279B0C930017207B /* ReactionsUsersView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E6EC26279B0C930017207B /* ReactionsUsersView.swift */; }; 84E7F9952EF981DC00BA56A3 /* MoreReactionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E7F9942EF981DC00BA56A3 /* MoreReactionsView.swift */; }; - 84E95A77284A486600699FD3 /* StreamChat in Frameworks */ = {isa = PBXBuildFile; productRef = 84E95A76284A486600699FD3 /* StreamChat */; }; - 84E95A7D284A491000699FD3 /* StreamChatTestTools in Frameworks */ = {isa = PBXBuildFile; productRef = 84E95A7C284A491000699FD3 /* StreamChatTestTools */; }; + 84E7F9E22EFAF9BF00BA56A3 /* StreamChat in Frameworks */ = {isa = PBXBuildFile; productRef = 84E7F9E12EFAF9BF00BA56A3 /* StreamChat */; }; + 84E7F9E42EFAF9BF00BA56A3 /* StreamChatCommonUI in Frameworks */ = {isa = PBXBuildFile; productRef = 84E7F9E32EFAF9BF00BA56A3 /* StreamChatCommonUI */; }; + 84E7F9E62EFAF9BF00BA56A3 /* StreamChatTestMockServer in Frameworks */ = {isa = PBXBuildFile; productRef = 84E7F9E52EFAF9BF00BA56A3 /* StreamChatTestMockServer */; }; + 84E7F9E82EFAF9BF00BA56A3 /* StreamChatTestTools in Frameworks */ = {isa = PBXBuildFile; productRef = 84E7F9E72EFAF9BF00BA56A3 /* StreamChatTestTools */; }; 84EADEA22B2735D80046B50C /* VoiceRecordingContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84EADEA12B2735D80046B50C /* VoiceRecordingContainerView.swift */; }; - 84EADEA42B2746B70046B50C /* VideoDurationFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84EADEA32B2746B70046B50C /* VideoDurationFormatter.swift */; }; - 84EADEA62B2748AD0046B50C /* AudioRecordingNameFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84EADEA52B2748AD0046B50C /* AudioRecordingNameFormatter.swift */; }; 84EADEA82B27637A0046B50C /* AudioVisualizationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84EADEA72B27637A0046B50C /* AudioVisualizationView.swift */; }; 84EADEAA2B2767E20046B50C /* WaveformView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84EADEA92B2767E20046B50C /* WaveformView.swift */; }; 84EADEB22B2883C60046B50C /* TrailingComposerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84EADEB12B2883C60046B50C /* TrailingComposerView.swift */; }; @@ -516,7 +500,6 @@ AD3AB65C2CB730090014D4D7 /* Shimmer.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3AB65B2CB730090014D4D7 /* Shimmer.swift */; }; AD3AB65E2CB731360014D4D7 /* ChatThreadListLoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3AB65D2CB731360014D4D7 /* ChatThreadListLoadingView.swift */; }; AD3AB6602CB7403C0014D4D7 /* ChatThreadListHeaderViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3AB65F2CB7403C0014D4D7 /* ChatThreadListHeaderViewModifier.swift */; }; - AD3DB82F2E7C2E190023D377 /* GalleryHeaderViewDateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3DB82E2E7C2E190023D377 /* GalleryHeaderViewDateFormatter.swift */; }; AD3DB8342E7C7BD50023D377 /* MessageAttachmentsConverter_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3DB8332E7C7BD50023D377 /* MessageAttachmentsConverter_Tests.swift */; }; AD51D9182DB9543A0068D0B0 /* MessageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD51D9172DB9543A0068D0B0 /* MessageViewModel.swift */; }; AD5C0A5F2D6FDD9700E1E500 /* BouncedMessageActionsModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD5C0A5E2D6FDD8600E1E500 /* BouncedMessageActionsModifier.swift */; }; @@ -526,6 +509,13 @@ AD9138AE2E71C81D00581EB0 /* PercentageProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD9138AD2E71C81D00581EB0 /* PercentageProgressView.swift */; }; AD9138B02E7241D900581EB0 /* FileAttachmentView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD9138AF2E7241D900581EB0 /* FileAttachmentView_Tests.swift */; }; ADA77F052E1EC2B700A3641F /* MessageAvatarView_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADA77F042E1EC2B700A3641F /* MessageAvatarView_Tests.swift */; }; + ADCE871A2F0C290B00F6A7C3 /* StreamChat in Frameworks */ = {isa = PBXBuildFile; productRef = ADCE87192F0C290B00F6A7C3 /* StreamChat */; }; + ADCE871C2F0C291600F6A7C3 /* StreamChatCommonUI in Frameworks */ = {isa = PBXBuildFile; productRef = ADCE871B2F0C291600F6A7C3 /* StreamChatCommonUI */; }; + ADCE87772F0D261600F6A7C3 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8465FCF42746A95600AF091E /* Localizable.strings */; }; + ADCE87782F0D261600F6A7C3 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 8465FCF62746A95600AF091E /* Localizable.stringsdict */; }; + ADCE879D2F0D5CF500F6A7C3 /* StreamChatTestMockServer in Frameworks */ = {isa = PBXBuildFile; productRef = ADCE879C2F0D5CF500F6A7C3 /* StreamChatTestMockServer */; }; + ADCE879F2F0D5D0300F6A7C3 /* StreamChatCommonUI in Frameworks */ = {isa = PBXBuildFile; productRef = ADCE879E2F0D5D0300F6A7C3 /* StreamChatCommonUI */; }; + ADCE87A52F0D5ED900F6A7C3 /* StreamChat in Frameworks */ = {isa = PBXBuildFile; productRef = ADCE87A42F0D5ED900F6A7C3 /* StreamChat */; }; ADE0F55E2CB838420053B8B9 /* ChatThreadListErrorBannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE0F55D2CB838420053B8B9 /* ChatThreadListErrorBannerView.swift */; }; ADE0F5602CB846EC0053B8B9 /* FloatingBannerViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE0F55F2CB846EC0053B8B9 /* FloatingBannerViewModifier.swift */; }; ADE0F5622CB8556F0053B8B9 /* ChatThreadListFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADE0F5612CB8556F0053B8B9 /* ChatThreadListFooterView.swift */; }; @@ -538,7 +528,6 @@ C14A465B284665B100EF498E /* SDKIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = C14A465A284665B100EF498E /* SDKIdentifier.swift */; }; C52A0B5F2E1557F900176379 /* VideoPlayerFooterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C52A0B5E2E1557F300176379 /* VideoPlayerFooterView.swift */; }; E3A1C01C282BAC66002D1E26 /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = E3A1C01B282BAC66002D1E26 /* Sentry */; }; - E3A1C01D282BAC66002D1E27 /* StreamChat in Frameworks */ = {isa = PBXBuildFile; productRef = 82FF61EB2B6AB789007185B6 /* StreamChat */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -684,12 +673,10 @@ 4F6D83342C0F05040098C298 /* PollCommentsViewModel_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollCommentsViewModel_Tests.swift; sourceTree = ""; }; 4F6D83502C1079A00098C298 /* AlertBannerViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertBannerViewModifier.swift; sourceTree = ""; }; 4F6D83532C1094220098C298 /* AlertBannerViewModifier_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertBannerViewModifier_Tests.swift; sourceTree = ""; }; - 4F7613782DDCB2AD00F996E3 /* MessageRelativeDateFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageRelativeDateFormatter.swift; sourceTree = ""; }; 4F7720AD2C58C45000BAEC02 /* OnLoadViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnLoadViewModifier.swift; sourceTree = ""; }; 4F7DD99F2BFC7C6100599AA6 /* ChatClient+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ChatClient+Extensions.swift"; sourceTree = ""; }; 4F7DD9A12BFCB2EF00599AA6 /* ChatClientExtensions_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatClientExtensions_Tests.swift; sourceTree = ""; }; 4F889C552D7F000700A7BDAF /* ChatMessageExtensions_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageExtensions_Tests.swift; sourceTree = ""; }; - 4F8D643F2DDDCF9300026C09 /* MessageRelativeDateFormatter_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageRelativeDateFormatter_Tests.swift; sourceTree = ""; }; 4F9173FC2DDDFFE3003C30B5 /* ChannelListConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelListConfig.swift; sourceTree = ""; }; 4FA374192D799CA400294721 /* AppConfigurationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppConfigurationView.swift; sourceTree = ""; }; 4FA3741C2D799FC300294721 /* AppConfigurationTranslationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppConfigurationTranslationView.swift; sourceTree = ""; }; @@ -875,18 +862,12 @@ 8465FD392746A95600AF091E /* AutoLayoutHelpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AutoLayoutHelpers.swift; sourceTree = ""; }; 8465FD3A2746A95600AF091E /* DateFormatter+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DateFormatter+Extensions.swift"; sourceTree = ""; }; 8465FD3B2746A95600AF091E /* StringExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringExtensions.swift; sourceTree = ""; }; - 8465FD3C2746A95600AF091E /* UIFont+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIFont+Extensions.swift"; sourceTree = ""; }; 8465FD3D2746A95600AF091E /* ImageCDN.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageCDN.swift; sourceTree = ""; }; - 8465FD3E2746A95600AF091E /* UIColor+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = ""; }; - 8465FD3F2746A95600AF091E /* UIImage+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+Extensions.swift"; sourceTree = ""; }; - 8465FD402746A95600AF091E /* DateUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DateUtils.swift; sourceTree = ""; }; - 8465FD412746A95600AF091E /* ChatChannelNamer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatChannelNamer.swift; sourceTree = ""; }; 8465FD422746A95600AF091E /* InputTextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InputTextView.swift; sourceTree = ""; }; 8465FD432746A95600AF091E /* NSLayoutConstraint+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSLayoutConstraint+Extensions.swift"; sourceTree = ""; }; 8465FD442746A95600AF091E /* ChatMessage+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ChatMessage+Extensions.swift"; sourceTree = ""; }; 8465FD452746A95600AF091E /* Cache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Cache.swift; sourceTree = ""; }; 8465FD462746A95600AF091E /* VideoPreviewLoader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoPreviewLoader.swift; sourceTree = ""; }; - 8465FD472746A95600AF091E /* ChatMessageReactionAppeareance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatMessageReactionAppeareance.swift; sourceTree = ""; }; 8465FD482746A95600AF091E /* ImageMerger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageMerger.swift; sourceTree = ""; }; 8465FD492746A95600AF091E /* NukeImageProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NukeImageProcessor.swift; sourceTree = ""; }; 8465FD4A2746A95600AF091E /* BundleExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BundleExtensions.swift; sourceTree = ""; }; @@ -907,12 +888,9 @@ 8465FD5B2746A95700AF091E /* MoreChannelActionsViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MoreChannelActionsViewModel.swift; sourceTree = ""; }; 8465FD5C2746A95700AF091E /* ChatChannelListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatChannelListView.swift; sourceTree = ""; }; 8465FD5D2746A95700AF091E /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 8465FD5E2746A95700AF091E /* Fonts.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = ""; }; 8465FD5F2746A95700AF091E /* InjectedValuesExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InjectedValuesExtensions.swift; sourceTree = ""; }; 8465FD602746A95700AF091E /* StreamChatSwiftUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StreamChatSwiftUI.h; sourceTree = ""; }; - 8465FD622746A95700AF091E /* Images.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Images.swift; sourceTree = ""; }; 8465FD632746A95700AF091E /* Utils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Utils.swift; sourceTree = ""; }; - 8465FD642746A95700AF091E /* ColorPalette.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ColorPalette.swift; sourceTree = ""; }; 8465FD682746A95700AF091E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 8465FD692746A95700AF091E /* Appearance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Appearance.swift; sourceTree = ""; }; 8465FDDC2747A14700AF091E /* CustomComposerAttachmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomComposerAttachmentView.swift; sourceTree = ""; }; @@ -932,6 +910,7 @@ 847735F02BE904C300637394 /* PollCommentsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollCommentsViewModel.swift; sourceTree = ""; }; 84779C742AEBBACD000A6A68 /* BottomReactionsView_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomReactionsView_Tests.swift; sourceTree = ""; }; 84779C762AEBCA6E000A6A68 /* ReactionsIconProvider_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionsIconProvider_Tests.swift; sourceTree = ""; }; + 847A7FD12F0410AA006C6B1E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 847BA08227E0B9C600ED20C7 /* EventBatcherMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventBatcherMock.swift; sourceTree = ""; }; 847BA08427E0BA2500ED20C7 /* EventNotificationCenterMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventNotificationCenterMock.swift; sourceTree = ""; }; 847BA08627E0BACB00ED20C7 /* WebSocketPingControllerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSocketPingControllerMock.swift; sourceTree = ""; }; @@ -1025,14 +1004,12 @@ 84C94D4C2758FD5C007FE2B9 /* MessageComposerViewModel_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageComposerViewModel_Tests.swift; sourceTree = ""; }; 84C94D4E2758FE59007FE2B9 /* ChatChannelTestHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatChannelTestHelpers.swift; sourceTree = ""; }; 84C94D5027591DE2007FE2B9 /* ChatMessageIDs_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageIDs_Tests.swift; sourceTree = ""; }; - 84C94D53275A1380007FE2B9 /* DateUtils_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateUtils_Tests.swift; sourceTree = ""; }; 84C94D55275A1AE1007FE2B9 /* StringExtensions_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringExtensions_Tests.swift; sourceTree = ""; }; 84C94D57275A1B89007FE2B9 /* MessageTypeResolver_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageTypeResolver_Tests.swift; sourceTree = ""; }; 84C94D59275A2E43007FE2B9 /* StreamChat_Utils_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamChat_Utils_Tests.swift; sourceTree = ""; }; 84C94D5B275A2E9F007FE2B9 /* VideoPreviewLoader_Mock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoPreviewLoader_Mock.swift; sourceTree = ""; }; 84C94D5D275A3AA9007FE2B9 /* ImageCDN_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCDN_Tests.swift; sourceTree = ""; }; 84C94D5F275A45D2007FE2B9 /* ViewFactory_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewFactory_Tests.swift; sourceTree = ""; }; - 84C94D61275A5BB7007FE2B9 /* ChatChannelNamer_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatChannelNamer_Tests.swift; sourceTree = ""; }; 84C94D65275A660B007FE2B9 /* MessageActionsViewModel_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageActionsViewModel_Tests.swift; sourceTree = ""; }; 84C94D67275A6AFD007FE2B9 /* ChannelHeaderLoader_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChannelHeaderLoader_Tests.swift; sourceTree = ""; }; 84CAD77A284E5AAA00F28C17 /* MessageListViewLastGroupHeader_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageListViewLastGroupHeader_Tests.swift; sourceTree = ""; }; @@ -1041,8 +1018,6 @@ 84D6B55927DF6EC7009C6D07 /* LoadingView_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView_Tests.swift; sourceTree = ""; }; 84D6E4F52B2CA4E300D0056C /* RecordingTipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordingTipView.swift; sourceTree = ""; }; 84D6E4F72B2CA61000D0056C /* RecordingDurationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordingDurationView.swift; sourceTree = ""; }; - 84D6E5292B3077A500D0056C /* VideoDurationFormatter_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoDurationFormatter_Tests.swift; sourceTree = ""; }; - 84D6E52B2B3078D200D0056C /* AudioRecordingNameFormatter_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioRecordingNameFormatter_Tests.swift; sourceTree = ""; }; 84D77B57289D3CF800C241CE /* MessageListViewAvatars_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageListViewAvatars_Tests.swift; sourceTree = ""; }; 84DA1C272837B73D000E4B6A /* MessageListPage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageListPage.swift; sourceTree = ""; }; 84DEC8DA27609FA200172876 /* MoreChannelActionsView_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreChannelActionsView_Tests.swift; sourceTree = ""; }; @@ -1066,8 +1041,6 @@ 84E6EC26279B0C930017207B /* ReactionsUsersView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionsUsersView.swift; sourceTree = ""; }; 84E7F9942EF981DC00BA56A3 /* MoreReactionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreReactionsView.swift; sourceTree = ""; }; 84EADEA12B2735D80046B50C /* VoiceRecordingContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoiceRecordingContainerView.swift; sourceTree = ""; }; - 84EADEA32B2746B70046B50C /* VideoDurationFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoDurationFormatter.swift; sourceTree = ""; }; - 84EADEA52B2748AD0046B50C /* AudioRecordingNameFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioRecordingNameFormatter.swift; sourceTree = ""; }; 84EADEA72B27637A0046B50C /* AudioVisualizationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioVisualizationView.swift; sourceTree = ""; }; 84EADEA92B2767E20046B50C /* WaveformView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WaveformView.swift; sourceTree = ""; }; 84EADEB12B2883C60046B50C /* TrailingComposerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrailingComposerView.swift; sourceTree = ""; }; @@ -1120,7 +1093,6 @@ AD3AB65B2CB730090014D4D7 /* Shimmer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shimmer.swift; sourceTree = ""; }; AD3AB65D2CB731360014D4D7 /* ChatThreadListLoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatThreadListLoadingView.swift; sourceTree = ""; }; AD3AB65F2CB7403C0014D4D7 /* ChatThreadListHeaderViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatThreadListHeaderViewModifier.swift; sourceTree = ""; }; - AD3DB82E2E7C2E190023D377 /* GalleryHeaderViewDateFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GalleryHeaderViewDateFormatter.swift; sourceTree = ""; }; AD3DB8332E7C7BD50023D377 /* MessageAttachmentsConverter_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageAttachmentsConverter_Tests.swift; sourceTree = ""; }; AD51D9172DB9543A0068D0B0 /* MessageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageViewModel.swift; sourceTree = ""; }; AD5C0A5E2D6FDD8600E1E500 /* BouncedMessageActionsModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BouncedMessageActionsModifier.swift; sourceTree = ""; }; @@ -1152,10 +1124,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 846AD4D2284F89B10074A0DD /* StreamChatTestTools in Frameworks */, 8205B4182AD4267200265B84 /* StreamSwiftTestHelpers in Frameworks */, + ADCE879D2F0D5CF500F6A7C3 /* StreamChatTestMockServer in Frameworks */, 402C54482B6AAC0100672BFB /* StreamChatSwiftUI.framework in Frameworks */, - 846AD4D0284F89B10074A0DD /* StreamChatTestMockServer in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1163,8 +1134,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 82FF61EC2B6AB789007185B6 /* StreamChat in Frameworks */, A35D803B283E89F50084FE25 /* StreamChatSwiftUI.framework in Frameworks */, + ADCE879F2F0D5D0300F6A7C3 /* StreamChatCommonUI in Frameworks */, + ADCE87A52F0D5ED900F6A7C3 /* StreamChat in Frameworks */, 8400A34C282C081E0067D3A0 /* OHHTTPStubs in Frameworks */, 4FD307F62EC353BE0062127C /* StreamCore in Frameworks */, ); @@ -1174,8 +1146,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 84E95A77284A486600699FD3 /* StreamChat in Frameworks */, + 84E7F9E22EFAF9BF00BA56A3 /* StreamChat in Frameworks */, 4FB52B492EBB643700491977 /* StreamCore in Frameworks */, + 84E7F9E42EFAF9BF00BA56A3 /* StreamChatCommonUI in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1183,9 +1156,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 84E7F9E82EFAF9BF00BA56A3 /* StreamChatTestTools in Frameworks */, 8465FBBE2746873A00AF091E /* StreamChatSwiftUI.framework in Frameworks */, + 84E7F9E62EFAF9BF00BA56A3 /* StreamChatTestMockServer in Frameworks */, 8205B4142AD41CC700265B84 /* StreamSwiftTestHelpers in Frameworks */, - 84E95A7D284A491000699FD3 /* StreamChatTestTools in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1195,8 +1169,9 @@ files = ( 8465FCE6274695B400AF091E /* StreamChatSwiftUI.framework in Frameworks */, E3A1C01C282BAC66002D1E26 /* Sentry in Frameworks */, - E3A1C01D282BAC66002D1E27 /* StreamChat in Frameworks */, + ADCE871A2F0C290B00F6A7C3 /* StreamChat in Frameworks */, 4FB52B472EBB63F700491977 /* StreamCore in Frameworks */, + ADCE871C2F0C291600F6A7C3 /* StreamChatCommonUI in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1668,10 +1643,7 @@ children = ( 8465FCF22746A95600AF091E /* StreamChat.swift */, 8465FD692746A95700AF091E /* Appearance.swift */, - 8465FD5E2746A95700AF091E /* Fonts.swift */, - 8465FD622746A95700AF091E /* Images.swift */, 84EB7A622EF414AA00986E0F /* Styles.swift */, - 8465FD642746A95700AF091E /* ColorPalette.swift */, 8465FD632746A95700AF091E /* Utils.swift */, 8465FD5F2746A95700AF091E /* InjectedValuesExtensions.swift */, 84EB88092E8A747D0076DC17 /* ViewFactory */, @@ -1905,28 +1877,20 @@ 8465FD382746A95600AF091E /* Common */ = { isa = PBXGroup; children = ( - AD3DB82E2E7C2E190023D377 /* GalleryHeaderViewDateFormatter.swift */, 4FCD7DBC2D633F6C000EEB0F /* AttributedString+Extensions.swift */, 8465FD392746A95600AF091E /* AutoLayoutHelpers.swift */, 8465FD452746A95600AF091E /* Cache.swift */, - 8465FD412746A95600AF091E /* ChatChannelNamer.swift */, 4F7DD99F2BFC7C6100599AA6 /* ChatClient+Extensions.swift */, 8465FD442746A95600AF091E /* ChatMessage+Extensions.swift */, - 8465FD472746A95600AF091E /* ChatMessageReactionAppeareance.swift */, 91B79FD6284E21E0005B6E4F /* ChatUserNamer.swift */, 8465FD3A2746A95600AF091E /* DateFormatter+Extensions.swift */, - 8465FD402746A95600AF091E /* DateUtils.swift */, 9D9A54502CB89EAA00A76D9E /* FileCDN.swift */, 8465FD3D2746A95600AF091E /* ImageCDN.swift */, 8465FD482746A95600AF091E /* ImageMerger.swift */, 8465FD422746A95600AF091E /* InputTextView.swift */, - 4F7613782DDCB2AD00F996E3 /* MessageRelativeDateFormatter.swift */, 8465FD432746A95600AF091E /* NSLayoutConstraint+Extensions.swift */, 8465FD492746A95600AF091E /* NukeImageProcessor.swift */, 4F7720AD2C58C45000BAEC02 /* OnLoadViewModifier.swift */, - 8465FD3E2746A95600AF091E /* UIColor+Extensions.swift */, - 8465FD3C2746A95600AF091E /* UIFont+Extensions.swift */, - 8465FD3F2746A95600AF091E /* UIImage+Extensions.swift */, A3D7B0DE2840E23100E308B3 /* UIView+AccessibilityIdentifier.swift */, 8465FD462746A95600AF091E /* VideoPreviewLoader.swift */, ); @@ -2170,21 +2134,17 @@ 84C94D52275A135F007FE2B9 /* Utils */ = { isa = PBXGroup; children = ( - 84D6E52B2B3078D200D0056C /* AudioRecordingNameFormatter_Tests.swift */, - 84C94D61275A5BB7007FE2B9 /* ChatChannelNamer_Tests.swift */, + 847A7FD12F0410AA006C6B1E /* Assets.xcassets */, 4F7DD9A12BFCB2EF00599AA6 /* ChatClientExtensions_Tests.swift */, 4F889C552D7F000700A7BDAF /* ChatMessageExtensions_Tests.swift */, 91B79FD8284E7E9C005B6E4F /* ChatUserNamer_Tests.swift */, - 84C94D53275A1380007FE2B9 /* DateUtils_Tests.swift */, 84C94D5D275A3AA9007FE2B9 /* ImageCDN_Tests.swift */, - 4F8D643F2DDDCF9300026C09 /* MessageRelativeDateFormatter_Tests.swift */, 849988AF2AE6BE4800CC95C9 /* PaddingsConfig_Tests.swift */, 84779C762AEBCA6E000A6A68 /* ReactionsIconProvider_Tests.swift */, 84E1D8272976CCAF00060491 /* SortReactions_Tests.swift */, 84C94D59275A2E43007FE2B9 /* StreamChat_Utils_Tests.swift */, 84C94D55275A1AE1007FE2B9 /* StringExtensions_Tests.swift */, 91CC203B283C4C250049A146 /* URLUtils_Tests.swift */, - 84D6E5292B3077A500D0056C /* VideoDurationFormatter_Tests.swift */, 84C94D5F275A45D2007FE2B9 /* ViewFactory_Tests.swift */, ); path = Utils; @@ -2205,8 +2165,6 @@ isa = PBXGroup; children = ( 84EADEA12B2735D80046B50C /* VoiceRecordingContainerView.swift */, - 84EADEA32B2746B70046B50C /* VideoDurationFormatter.swift */, - 84EADEA52B2748AD0046B50C /* AudioRecordingNameFormatter.swift */, 84EADEA72B27637A0046B50C /* AudioVisualizationView.swift */, 84EADEA92B2767E20046B50C /* WaveformView.swift */, ); @@ -2343,9 +2301,8 @@ ); name = StreamChatSwiftUITestsAppTests; packageProductDependencies = ( - 846AD4CF284F89B10074A0DD /* StreamChatTestMockServer */, - 846AD4D1284F89B10074A0DD /* StreamChatTestTools */, 8205B4172AD4267200265B84 /* StreamSwiftTestHelpers */, + ADCE879C2F0D5CF500F6A7C3 /* StreamChatTestMockServer */, ); productName = StreamChatSwiftUITestsAppTests; productReference = 8400A351282E6BE30067D3A0 /* StreamChatSwiftUITestsAppTests.xctest */; @@ -2363,13 +2320,16 @@ buildRules = ( ); dependencies = ( + ADCE87A32F0D5DB000F6A7C3 /* PBXTargetDependency */, + ADCE87A12F0D5DAC00F6A7C3 /* PBXTargetDependency */, 8402EAD6282BFE5100CCA696 /* PBXTargetDependency */, ); name = StreamChatSwiftUITestsApp; packageProductDependencies = ( 8400A34B282C081E0067D3A0 /* OHHTTPStubs */, - 82FF61EB2B6AB789007185B6 /* StreamChat */, 4FD307F52EC353BE0062127C /* StreamCore */, + ADCE879E2F0D5D0300F6A7C3 /* StreamChatCommonUI */, + ADCE87A42F0D5ED900F6A7C3 /* StreamChat */, ); productName = StreamChatSwiftUITestsApp; productReference = 8402EAC3282BF69900CCA696 /* StreamChatSwiftUITestsApp.app */; @@ -2388,6 +2348,7 @@ buildRules = ( ); dependencies = ( + ADCE871E2F0C295200F6A7C3 /* PBXTargetDependency */, 8465FCE42746954F00AF091E /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( @@ -2395,8 +2356,9 @@ ); name = StreamChatSwiftUI; packageProductDependencies = ( - 84E95A76284A486600699FD3 /* StreamChat */, 4FB52B482EBB643700491977 /* StreamCore */, + 84E7F9E12EFAF9BF00BA56A3 /* StreamChat */, + 84E7F9E32EFAF9BF00BA56A3 /* StreamChatCommonUI */, ); productName = StreamChatSwiftUI; productReference = 8465FBB52746873A00AF091E /* StreamChatSwiftUI.framework */; @@ -2417,8 +2379,9 @@ ); name = StreamChatSwiftUITests; packageProductDependencies = ( - 84E95A7C284A491000699FD3 /* StreamChatTestTools */, 8205B4132AD41CC700265B84 /* StreamSwiftTestHelpers */, + 84E7F9E52EFAF9BF00BA56A3 /* StreamChatTestMockServer */, + 84E7F9E72EFAF9BF00BA56A3 /* StreamChatTestTools */, ); productName = StreamChatSwiftUITests; productReference = 8465FBBD2746873A00AF091E /* StreamChatSwiftUITests.xctest */; @@ -2436,13 +2399,16 @@ buildRules = ( ); dependencies = ( + ADCE87222F0C29E100F6A7C3 /* PBXTargetDependency */, + ADCE87202F0C29DB00F6A7C3 /* PBXTargetDependency */, 8465FCE9274695B400AF091E /* PBXTargetDependency */, ); name = DemoAppSwiftUI; packageProductDependencies = ( E3A1C01B282BAC66002D1E26 /* Sentry */, - 82FF61EB2B6AB789007185B6 /* StreamChat */, 4FB52B462EBB63F700491977 /* StreamCore */, + ADCE87192F0C290B00F6A7C3 /* StreamChat */, + ADCE871B2F0C291600F6A7C3 /* StreamChatCommonUI */, ); productName = DemoAppSwiftUI; productReference = 8465FCBC27468B6900AF091E /* DemoAppSwiftUI.app */; @@ -2490,9 +2456,9 @@ packageReferences = ( E3A1C01A282BAC66002D1E26 /* XCRemoteSwiftPackageReference "sentry-cocoa" */, 8400A346282C06F90067D3A0 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */, - 84E95A75284A486600699FD3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */, 82543C7B2AD41B0400D5F6CD /* XCRemoteSwiftPackageReference "stream-chat-swift-test-helpers" */, 4FB52B452EBB63F700491977 /* XCRemoteSwiftPackageReference "stream-core-swift" */, + 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */, ); productRefGroup = 8465FBB62746873A00AF091E /* Products */; projectDirPath = ""; @@ -2541,6 +2507,10 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + ADCE87772F0D261600F6A7C3 /* Localizable.strings in Resources */, + ADCE87782F0D261600F6A7C3 /* Localizable.stringsdict in Resources */, + 847A7FD02F04103E006C6B1E /* Assets.xcassets in Resources */, + 847A7FD22F0410AA006C6B1E /* Assets.xcassets in Resources */, 847305BF28243DFA004AC770 /* mock.html in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2638,7 +2608,6 @@ 8492975227B156D100A8EEB0 /* SlowModeView.swift in Sources */, 82D64B662AD7E5AC00C5C79E /* UIImageView+SwiftyGif.swift in Sources */, 84AB7B242773528300631A10 /* CommandsContainerView.swift in Sources */, - 8465FDB72746A95700AF091E /* ChatMessageReactionAppeareance.swift in Sources */, 84C85B3C2BEA2D71008A7AA5 /* PollsHelpers.swift in Sources */, 84EADEC52B2C4A5B0046B50C /* AddedVoiceRecordingsView.swift in Sources */, 8465FDBF2746A95700AF091E /* DefaultChannelActions.swift in Sources */, @@ -2688,7 +2657,6 @@ 8465FDA32746A95700AF091E /* ViewExtensions.swift in Sources */, 8465FDA22746A95700AF091E /* ChatChannelViewModel.swift in Sources */, 8465FD982746A95700AF091E /* ReactionsOverlayView.swift in Sources */, - 8465FDCD2746A95700AF091E /* Fonts.swift in Sources */, AD9138AE2E71C81D00581EB0 /* PercentageProgressView.swift in Sources */, 8465FD9A2746A95700AF091E /* ReactionsHelperViews.swift in Sources */, 8465FDC02746A95700AF091E /* ChatChannelList.swift in Sources */, @@ -2710,7 +2678,6 @@ 8434E583277088D9001E1B83 /* TitleWithCloseButton.swift in Sources */, 8465FDB52746A95700AF091E /* Cache.swift in Sources */, 84A1CAD12816C6900046595A /* AddUsersViewModel.swift in Sources */, - AD3DB82F2E7C2E190023D377 /* GalleryHeaderViewDateFormatter.swift in Sources */, 84289BEF2807246E00282ABE /* FileAttachmentsViewModel.swift in Sources */, 84AB7B2A2773D97E00631A10 /* MentionsCommandHandler.swift in Sources */, 84DEC8EA2761089A00172876 /* MessageThreadHeaderViewModifier.swift in Sources */, @@ -2767,7 +2734,6 @@ 8465FDA52746A95700AF091E /* Modifiers.swift in Sources */, 8465FDBB2746A95700AF091E /* LoadingView.swift in Sources */, 84D6E4F62B2CA4E300D0056C /* RecordingTipView.swift in Sources */, - 4F7613792DDCB2C900F996E3 /* MessageRelativeDateFormatter.swift in Sources */, 846608E3278C303800D3D7B3 /* TypingIndicatorView.swift in Sources */, 84A1CACF2816BCF00046595A /* AddUsersView.swift in Sources */, 8465FD9C2746A95700AF091E /* MessageActionsView.swift in Sources */, @@ -2775,16 +2741,13 @@ 841B64D62775FDA00016FF3B /* InstantCommandsHandler.swift in Sources */, 8465FDC92746A95700AF091E /* ChatChannelSwipeableListItem.swift in Sources */, 82D64B6A2AD7E5AC00C5C79E /* SwiftyGifManager.swift in Sources */, - 84EADEA62B2748AD0046B50C /* AudioRecordingNameFormatter.swift in Sources */, 841BA9F12BCD6FBD000C73E4 /* CreatePollView.swift in Sources */, - 8465FDD32746A95800AF091E /* ColorPalette.swift in Sources */, 8465FD782746A95700AF091E /* FileAttachmentView.swift in Sources */, AD5C0A5F2D6FDD9700E1E500 /* BouncedMessageActionsModifier.swift in Sources */, 84EADEA22B2735D80046B50C /* VoiceRecordingContainerView.swift in Sources */, 82D64B692AD7E5AC00C5C79E /* UIImage+SwiftyGif.swift in Sources */, 84AB7B1D2771F4AA00631A10 /* DiscardButtonView.swift in Sources */, 849FD5112811B05C00952934 /* ChatInfoParticipantsView.swift in Sources */, - 8465FDAE2746A95700AF091E /* UIColor+Extensions.swift in Sources */, 8465FD6F2746A95700AF091E /* StreamChat.swift in Sources */, 84EADEC12B2AFA690046B50C /* MessageComposerViewModel+Recording.swift in Sources */, 8465FD8F2746A95700AF091E /* AttachmentUploadingStateView.swift in Sources */, @@ -2822,10 +2785,8 @@ 91B763A4283EB19900B458A9 /* MoreChannelActionsFullScreenWrappingView.swift in Sources */, 8465FD852746A95700AF091E /* MessageView.swift in Sources */, 8465FDCA2746A95700AF091E /* MoreChannelActionsViewModel.swift in Sources */, - 8465FDD12746A95700AF091E /* Images.swift in Sources */, 844EF8ED2809AACD00CC82F9 /* NoContentView.swift in Sources */, 4FCD7DBD2D633F72000EEB0F /* AttributedString+Extensions.swift in Sources */, - 84EADEA42B2746B70046B50C /* VideoDurationFormatter.swift in Sources */, 84A1CACD2816BC420046595A /* ChatChannelInfoHelperViews.swift in Sources */, 8465FD992746A95700AF091E /* ReactionsBubbleView.swift in Sources */, 8417AE902ADED28800445021 /* ReactionsIconProvider.swift in Sources */, @@ -2894,7 +2855,6 @@ 4F0AC8362DCA2CCE00ACB1AC /* ImageProcessors+GaussianBlur.swift in Sources */, 4F0AC8372DCA2CCE00ACB1AC /* ImageLoadingOptions.swift in Sources */, 4F0AC8382DCA2CCE00ACB1AC /* DataCache.swift in Sources */, - 8465FDB02746A95700AF091E /* DateUtils.swift in Sources */, 84DEC8E12760D24100172876 /* MessageRepliesView.swift in Sources */, AD3AB65C2CB730090014D4D7 /* Shimmer.swift in Sources */, AD3AB6522CB498380014D4D7 /* HideTabBarModifier.swift in Sources */, @@ -2922,14 +2882,11 @@ 8465FD972746A95700AF091E /* ReactionsView.swift in Sources */, 8465FDB62746A95700AF091E /* VideoPreviewLoader.swift in Sources */, 84289BE92807238C00282ABE /* MediaAttachmentsView.swift in Sources */, - 8465FDAF2746A95700AF091E /* UIImage+Extensions.swift in Sources */, 8465FDCE2746A95700AF091E /* InjectedValuesExtensions.swift in Sources */, 84B738352BE2661B00EC66EC /* PollOptionAllVotesViewModel.swift in Sources */, 845B3FC62EF1B2D90091ED36 /* LiquidGlassModifiers.swift in Sources */, - 8465FDAC2746A95700AF091E /* UIFont+Extensions.swift in Sources */, 846D6564279FF0800094B36E /* ReactionUserView.swift in Sources */, 84EB7A612EF40F1B00986E0F /* TrailingInputComposerView.swift in Sources */, - 8465FDB12746A95700AF091E /* ChatChannelNamer.swift in Sources */, 8465FD9E2746A95700AF091E /* ChatChannelHelpers.swift in Sources */, 84E4F7CF294C69F300DD4CE3 /* MessageIdBuilder.swift in Sources */, 847735F12BE904C300637394 /* PollCommentsViewModel.swift in Sources */, @@ -2943,7 +2900,6 @@ 849894952AD96CCC004ACB41 /* ChatChannelListItemView_Tests.swift in Sources */, 84E04791284A444E00BAFA17 /* MockNetworkURLProtocol.swift in Sources */, 848399EC275FB41B003075E4 /* ChatChannelListView_Tests.swift in Sources */, - 84C94D54275A1380007FE2B9 /* DateUtils_Tests.swift in Sources */, 84DEC8DB27609FA200172876 /* MoreChannelActionsView_Tests.swift in Sources */, 84AA6EAA2987EE51005732EF /* MessageListViewNewMessages_Tests.swift in Sources */, 84C94D56275A1AE1007FE2B9 /* StringExtensions_Tests.swift in Sources */, @@ -2964,7 +2920,6 @@ 846B15F42817E7630017F7A1 /* ChatChannelInfoViewModel_Tests.swift in Sources */, 91B79FD9284E7E9C005B6E4F /* ChatUserNamer_Tests.swift in Sources */, 84C94D58275A1B89007FE2B9 /* MessageTypeResolver_Tests.swift in Sources */, - 84D6E52C2B3078D200D0056C /* AudioRecordingNameFormatter_Tests.swift in Sources */, 84D77B58289D3CF800C241CE /* MessageListViewAvatars_Tests.swift in Sources */, 84C94D60275A45D2007FE2B9 /* ViewFactory_Tests.swift in Sources */, 84C94D442757C704007FE2B9 /* MoreChannelActionsViewModel_Tests.swift in Sources */, @@ -2981,7 +2936,6 @@ 84C94D3A27579BB0007FE2B9 /* AssertJSONEqual.swift in Sources */, 84E0478E284A444E00BAFA17 /* WebSocketEngineMock.swift in Sources */, 84C94D4D2758FD5C007FE2B9 /* MessageComposerViewModel_Tests.swift in Sources */, - 84C94D62275A5BB7007FE2B9 /* ChatChannelNamer_Tests.swift in Sources */, 840A3F3828193AB20084E9CC /* ChatChannelInfoView_Tests.swift in Sources */, 849988B02AE6BE4800CC95C9 /* PaddingsConfig_Tests.swift in Sources */, 84C94D492758BE1C007FE2B9 /* ChatChannelViewModel_Tests.swift in Sources */, @@ -2996,7 +2950,6 @@ 84E0478B284A444E00BAFA17 /* VirtualTimer.swift in Sources */, 84E6EC25279AEE9F0017207B /* StreamChatTestCase.swift in Sources */, 842F0BB8276B3518002C400C /* QuotedMessageView_Tests.swift in Sources */, - 84D6E52A2B3077A500D0056C /* VideoDurationFormatter_Tests.swift in Sources */, 84B2B5CE281961E200479CEE /* ChannelInfoMockUtils.swift in Sources */, 8492975427B1725B00A8EEB0 /* MessageComposerView_Tests.swift in Sources */, 4FD3592A2C05EA8F00B1D63B /* CreatePollViewModel_Tests.swift in Sources */, @@ -3065,7 +3018,6 @@ 4F03F18F2E0140C6001C71A2 /* ChannelAvatarsMerger_Tests.swift in Sources */, 8423C342277CBA280092DCF1 /* TypingSuggester_Tests.swift in Sources */, 84507C9A281ACCD70081DDC2 /* AddUsersView_Tests.swift in Sources */, - 4F8D64402DDDCF9300026C09 /* MessageRelativeDateFormatter_Tests.swift in Sources */, 84C94D0627578BF2007FE2B9 /* UnwrapAsync.swift in Sources */, 84D6B55A27DF6EC7009C6D07 /* LoadingView_Tests.swift in Sources */, 84C94D0427578BF2007FE2B9 /* TestError.swift in Sources */, @@ -3142,6 +3094,26 @@ target = 8465FBB42746873A00AF091E /* StreamChatSwiftUI */; targetProxy = 8465FCE8274695B400AF091E /* PBXContainerItemProxy */; }; + ADCE871E2F0C295200F6A7C3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = ADCE871D2F0C295200F6A7C3 /* StreamChatCommonUI */; + }; + ADCE87202F0C29DB00F6A7C3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = ADCE871F2F0C29DB00F6A7C3 /* StreamChatCommonUI */; + }; + ADCE87222F0C29E100F6A7C3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = ADCE87212F0C29E100F6A7C3 /* StreamChat */; + }; + ADCE87A12F0D5DAC00F6A7C3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = ADCE87A02F0D5DAC00F6A7C3 /* StreamChat */; + }; + ADCE87A32F0D5DB000F6A7C3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = ADCE87A22F0D5DB000F6A7C3 /* StreamChatCommonUI */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -3891,11 +3863,11 @@ version = 4.10.1; }; }; - 84E95A75284A486600699FD3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */ = { + 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/GetStream/stream-chat-swift.git"; requirement = { - branch = v5; + branch = "v5-unify-common"; kind = branch; }; }; @@ -3935,11 +3907,6 @@ package = 82543C7B2AD41B0400D5F6CD /* XCRemoteSwiftPackageReference "stream-chat-swift-test-helpers" */; productName = StreamSwiftTestHelpers; }; - 82FF61EB2B6AB789007185B6 /* StreamChat */ = { - isa = XCSwiftPackageProductDependency; - package = 84E95A75284A486600699FD3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; - productName = StreamChat; - }; 8400A34B282C081E0067D3A0 /* OHHTTPStubs */ = { isa = XCSwiftPackageProductDependency; package = 8400A346282C06F90067D3A0 /* XCRemoteSwiftPackageReference "OHHTTPStubs" */; @@ -3950,25 +3917,75 @@ package = 8465FCB227468A8D00AF091E /* XCRemoteSwiftPackageReference "stream-chat-swift" */; productName = StreamChat; }; - 846AD4CF284F89B10074A0DD /* StreamChatTestMockServer */ = { + 84E7F9E12EFAF9BF00BA56A3 /* StreamChat */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChat; + }; + 84E7F9E32EFAF9BF00BA56A3 /* StreamChatCommonUI */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChatCommonUI; + }; + 84E7F9E52EFAF9BF00BA56A3 /* StreamChatTestMockServer */ = { isa = XCSwiftPackageProductDependency; - package = 84E95A75284A486600699FD3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; productName = StreamChatTestMockServer; }; - 846AD4D1284F89B10074A0DD /* StreamChatTestTools */ = { + 84E7F9E72EFAF9BF00BA56A3 /* StreamChatTestTools */ = { isa = XCSwiftPackageProductDependency; - package = 84E95A75284A486600699FD3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; productName = StreamChatTestTools; }; - 84E95A76284A486600699FD3 /* StreamChat */ = { + ADCE87192F0C290B00F6A7C3 /* StreamChat */ = { isa = XCSwiftPackageProductDependency; - package = 84E95A75284A486600699FD3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; productName = StreamChat; }; - 84E95A7C284A491000699FD3 /* StreamChatTestTools */ = { + ADCE871B2F0C291600F6A7C3 /* StreamChatCommonUI */ = { isa = XCSwiftPackageProductDependency; - package = 84E95A75284A486600699FD3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; - productName = StreamChatTestTools; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChatCommonUI; + }; + ADCE871D2F0C295200F6A7C3 /* StreamChatCommonUI */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChatCommonUI; + }; + ADCE871F2F0C29DB00F6A7C3 /* StreamChatCommonUI */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChatCommonUI; + }; + ADCE87212F0C29E100F6A7C3 /* StreamChat */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChat; + }; + ADCE879C2F0D5CF500F6A7C3 /* StreamChatTestMockServer */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChatTestMockServer; + }; + ADCE879E2F0D5D0300F6A7C3 /* StreamChatCommonUI */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChatCommonUI; + }; + ADCE87A02F0D5DAC00F6A7C3 /* StreamChat */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChat; + }; + ADCE87A22F0D5DB000F6A7C3 /* StreamChatCommonUI */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChatCommonUI; + }; + ADCE87A42F0D5ED900F6A7C3 /* StreamChat */ = { + isa = XCSwiftPackageProductDependency; + package = 84E7F9E02EFAF9BF00BA56A3 /* XCRemoteSwiftPackageReference "stream-chat-swift" */; + productName = StreamChat; }; E3A1C01B282BAC66002D1E26 /* Sentry */ = { isa = XCSwiftPackageProductDependency; diff --git a/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift b/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift index 21db2d3b1..0ae86eff4 100644 --- a/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift +++ b/StreamChatSwiftUITests/Infrastructure/Mocks/Poll_Mock.swift @@ -18,7 +18,7 @@ extension Poll { let voter = ChatUser.mock(id: "voter", name: "voter") let vote = PollVote( id: voteId, - createdAt: Date(), + createdAt: Date(timeIntervalSince1970: 100), updatedAt: Date(), pollId: pollId, optionId: "test", @@ -126,7 +126,7 @@ extension PollVote { ) -> PollVote { PollVote( id: .unique, - createdAt: Date(), + createdAt: Date(timeIntervalSince1970: 100), updatedAt: Date(), pollId: pollId, optionId: optionId, diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/AddUsersView_Tests/test_addUsersView_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/AddUsersView_Tests/test_addUsersView_snapshot.1.png index 27e223f92..b166428af 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/AddUsersView_Tests/test_addUsersView_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/AddUsersView_Tests/test_addUsersView_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_addUsersShownSnapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_addUsersShownSnapshot.1.png index 108fc80ff..fb0fb6f05 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_addUsersShownSnapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_addUsersShownSnapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navBarSnapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navBarSnapshot.1.png index 5cb69d019..42259c71a 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navBarSnapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navBarSnapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navigationBarAppearance.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navigationBarAppearance.1.png index e2d4b4a4c..b21c07ac5 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navigationBarAppearance.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/ChatChannelInfoView_Tests/test_chatChannelInfoView_navigationBarAppearance.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png index 9463a2f9f..92aecd3a6 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.small-dark.png index ad01cb212..d1dc6fad9 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_emptySnapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_withDownloadEnabled.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_withDownloadEnabled.1.png index ebba88ac0..f9e3d16c0 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_withDownloadEnabled.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/FileAttachmentsView_Tests/test_fileAttachmentsView_withDownloadEnabled.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png index 286526034..1998b2d43 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.small-dark.png index 0e1115391..95c33fad0 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/MediaAttachmentsView_Tests/test_mediaAttachmentsView_emptySnapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.extraExtraExtraLarge-light.png index bed73c7b4..4fe0cca8c 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.small-dark.png index e9534b243..22d24ed71 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/ChannelInfo/__Snapshots__/PinnedMessagesView_Tests/test_pinnedMessagesView_emptySnapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift index 8a4302322..931d8a625 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelHeader_Tests.swift @@ -83,8 +83,8 @@ import XCTest // When adjustAppearance { appearance in - appearance.colors.text = .red - appearance.colors.subtitleText = .blue + appearance.colorPalette.text = .red + appearance.colorPalette.subtitleText = .blue } let size = CGSize(width: 300, height: 100) let view = ChannelTitleView(channel: channel, shouldShowTypingIndicator: true) diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift index 8dd31274e..ddd7222dd 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelViewDateOverlay_Tests.swift @@ -13,12 +13,6 @@ import XCTest @MainActor class ChatChannelViewDateOverlay_Tests: StreamChatTestCase { override func setUp() { super.setUp() - DateFormatter.messageListDateOverlay = { - let df = DateFormatter() - df.setLocalizedDateFormatFromTemplate("MMMdd") - df.locale = .init(identifier: "en_US") - return df - }() let utils = Utils( dateFormatter: EmptyDateFormatter(), messageListConfig: MessageListConfig(dateIndicatorPlacement: .messageList) diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift index d1eb181b0..ad800eca7 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift @@ -5,6 +5,7 @@ import Photos import SnapshotTesting @testable import StreamChat +@testable import StreamChatCommonUI @testable import StreamChatSwiftUI @testable import StreamChatTestTools import StreamSwiftTestHelpers @@ -545,7 +546,7 @@ import XCTest typingSuggestion: .empty, displayInfo: CommandDisplayInfo( displayName: "Giphy", - icon: Images().commandGiphy, + icon: Appearance.Images().commandGiphy, format: "", isInstant: true ) @@ -572,8 +573,8 @@ import XCTest AssertSnapshot(view, variants: .onlyUserInterfaceStyles, size: size) // Themed - streamChat?.appearance.colors.tintColor = .mint - streamChat?.appearance.colors.staticColorText = .black + streamChat?.appearance.colorPalette.accentPrimary = UIColor(Color.mint) + streamChat?.appearance.colorPalette.staticColorText = .black AssertSnapshot(view, variants: .onlyUserInterfaceStyles, size: size, suffix: "themed") } diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift index edd39445c..5332b8fed 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageContainerView_Tests.swift @@ -4,6 +4,7 @@ import SnapshotTesting @testable import StreamChat +@testable import StreamChatCommonUI @testable import StreamChatSwiftUI @testable import StreamChatTestTools import StreamSwiftTestHelpers @@ -78,9 +79,10 @@ import XCTest func test_messageContainerCurrentUserColor_snapshot() { // Given let utils = Utils(dateFormatter: EmptyDateFormatter()) - var colors = ColorPalette() + var colors = Appearance.ColorPalette() colors.messageCurrentUserTextColor = .red - let appearance = Appearance(colors: colors) + var appearance = Appearance() + appearance.colorPalette = colors streamChat = StreamChat(chatClient: chatClient, appearance: appearance, utils: utils) let message = ChatMessage.mock( id: .unique, @@ -101,9 +103,10 @@ import XCTest func test_messageContainerOtherUserColor_snapshot() { // Given let utils = Utils(dateFormatter: EmptyDateFormatter()) - var colors = ColorPalette() + var colors = Appearance.ColorPalette() colors.messageOtherUserTextColor = .red - let appearance = Appearance(colors: colors) + var appearance = Appearance() + appearance.colorPalette = colors streamChat = StreamChat(chatClient: chatClient, appearance: appearance, utils: utils) let message = ChatMessage.mock( id: .unique, diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift index 341b667e2..af6929cff 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageViewMultiRowReactions_Tests.swift @@ -227,15 +227,9 @@ struct CustomMessageReactionView: View { } private func color(for reaction: MessageReactionType) -> Color? { - var colors = colors let containsUserReaction = userReactionIDs.contains(reaction) let color = containsUserReaction ? colors.reactionCurrentUserColor : colors.reactionOtherUserColor - - if let color { - return Color(color) - } else { - return nil - } + return Color(color) } private var userReactionIDs: Set { diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift index bd7e42d4a..13903ad50 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannel/MessageView_Tests.swift @@ -4,6 +4,7 @@ import SnapshotTesting @testable import StreamChat +@testable import StreamChatCommonUI @testable import StreamChatSwiftUI import StreamSwiftTestHelpers import SwiftUI @@ -479,12 +480,12 @@ import XCTest // When adjustAppearance { appearance in - appearance.colors.messageCurrentUserBackground = [.orange] - appearance.colors.background8 = .yellow - appearance.colors.voiceMessageControlBackground = .cyan - appearance.colors.messageCurrentUserTextColor = .blue - appearance.colors.textLowEmphasis = .red - appearance.images.playFilled = UIImage(systemName: "star")! + appearance.colorPalette.messageCurrentUserBackground = [.orange] + appearance.colorPalette.background8 = .yellow + appearance.colorPalette.voiceMessageControlBackground = .cyan + appearance.colorPalette.messageCurrentUserTextColor = .blue + appearance.colorPalette.textLowEmphasis = .red + appearance.images.playFill = UIImage(systemName: "star")! appearance.images.fileAac = UIImage(systemName: "scribble")! } let view = MessageView( @@ -577,13 +578,15 @@ import XCTest func test_linkAttachmentView_customColors_snapshot() { // Given - var colorPalette = ColorPalette() + var colorPalette = Appearance.ColorPalette() colorPalette.messageLinkAttachmentAuthorColor = .orange colorPalette.messageLinkAttachmentTitleColor = .blue colorPalette.messageLinkAttachmentTextColor = .red + var appearance = Appearance() + appearance.colorPalette = colorPalette streamChat = StreamChat( chatClient: chatClient, - appearance: .init(colors: colorPalette) + appearance: appearance ) // When diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerMaxSize_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerMaxSize_snapshot.1.png index dd91c6cf7..64fb8476c 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerMaxSize_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerMaxSize_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerViewEmpty_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerViewEmpty_snapshot.1.png index d12cb9028..b821819bd 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerViewEmpty_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerViewEmpty_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerView_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerView_snapshot.1.png index 1d7db5cd7..302a5f185 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerView_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/Suggestions/__Snapshots__/InstantCommandsView_Tests/test_instantCommandsContainerView_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_buttonNewRow.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_buttonNewRow.1.png index f60680507..d23542190 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_buttonNewRow.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_buttonNewRow.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_currentUserReaction.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_currentUserReaction.1.png index 6b514f9cb..53ee396b4 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_currentUserReaction.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_currentUserReaction.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_twoPerRow.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_twoPerRow.1.png index c9d6e3646..0c018ed27 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_twoPerRow.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_multipleRows_twoPerRow.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_singleRow_currentUserReaction.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_singleRow_currentUserReaction.1.png index 55d0a82e6..2f3102e8f 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_singleRow_currentUserReaction.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/BottomReactionsView_Tests/test_bottomReactions_singleRow_currentUserReaction.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadButton.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadButton.1.png index dc86f93fc..32c3ece36 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadButton.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadButton.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadedState.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadedState.1.png index e14e6fd03..cf541bfb6 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadedState.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/FileAttachmentView_Tests/test_fileAttachmentView_downloadedState.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark.png index 792c92ed6..4e72be178 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light.png index c35dd3e93..68bfb4f43 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerInputView_command.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerView_draftWithCommand.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerView_draftWithCommand.default-light.png index 0d1c1fd81..01342f083 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerView_draftWithCommand.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageComposerView_Tests/test_composerView_draftWithCommand.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.extraExtraExtraLarge-light.png index dd20c1a9b..4ce42db04 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.small-dark.png index 687d750ad..d5ece7717 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageContainerView_Tests/test_translatedText_myMessageIsNotTranslated_snapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageDeliveredAndRead.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageDeliveredAndRead.1.png index 59d28cb21..b6f7cdf84 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageDeliveredAndRead.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageDeliveredAndRead.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadDirect.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadDirect.1.png index b77704208..b91b791a8 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadDirect.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadDirect.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadGroup.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadGroup.1.png index 5b70e60ed..f64d4aa5b 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadGroup.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageReadIndicatorView_Tests/test_messageReadIndicatorView_snapshotMessageReadGroup.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.extraExtraExtraLarge-light.png index ed183d987..d6b677c50 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.small-dark.png index caa1ec95c..6c3526f76 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_code_inlineOnMultipleLines.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_shouldNotRenderLinkPreviewWithOtherAttachments.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_shouldNotRenderLinkPreviewWithOtherAttachments.1.png index bc285d765..193017a6d 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_shouldNotRenderLinkPreviewWithOtherAttachments.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_shouldNotRenderLinkPreviewWithOtherAttachments.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_snapshot.1.png index 066057ff3..af42e1548 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkAttachmentView_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.default-light.png index 83034ef92..6d897891e 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.extraExtraExtraLarge-light.png index 990030dbc..6d897891e 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.rightToLeftLayout-default.png index 158560a28..49b74595a 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.rightToLeftLayout-default.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.rightToLeftLayout-default.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.small-dark.png index 4b73c1858..6b00a5c42 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_linkDetection_markdownPlainAndMention.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.default-light.png index 547ae7471..37dced328 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.extraExtraExtraLarge-light.png index fa88d2ab8..37dced328 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.rightToLeftLayout-default.png index 54d829937..9f7ec4bcc 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.rightToLeftLayout-default.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.rightToLeftLayout-default.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.small-dark.png index 3629ef8e0..2328b7972 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_code.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.default-light.png index 4addbb472..4386a11d0 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.extraExtraExtraLarge-light.png index 89e77b971..4386a11d0 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.rightToLeftLayout-default.png index a4fb13b22..95c1d2a66 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.rightToLeftLayout-default.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.rightToLeftLayout-default.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.small-dark.png index b3609de54..1fe944fc5 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_headers.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.default-light.png index e9603b996..0ba886b04 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.extraExtraExtraLarge-light.png index c2d028412..0ba886b04 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.rightToLeftLayout-default.png index eb3d72575..8bad3b2cb 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.rightToLeftLayout-default.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.rightToLeftLayout-default.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.small-dark.png index bf6293a1a..303fcd915 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.extraExtraExtraLarge-light.png index 5b8dceaee..525f55ceb 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.small-dark.png index 53f7718cf..831544fb8 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_customColor.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.default-light.png index be56dd83f..709a39e15 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.extraExtraExtraLarge-light.png index 655f73c70..709a39e15 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.rightToLeftLayout-default.png index 617e0e3e4..028d9f307 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.rightToLeftLayout-default.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.rightToLeftLayout-default.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.small-dark.png index 6874e503c..6e725f4c1 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_inLists.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.default-light.png index 948fceffa..1e83c0e2d 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.extraExtraExtraLarge-light.png index a73df3771..1e83c0e2d 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.rightToLeftLayout-default.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.rightToLeftLayout-default.png index 41c60a900..87dc19217 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.rightToLeftLayout-default.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.rightToLeftLayout-default.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.small-dark.png index 866ec7582..643a1e18e 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_links_markdownDisabled.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.extraExtraExtraLarge-light.png index 54549914c..5cc935c51 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.small-dark.png index 817da64c3..2c5234438 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_mixedLists_nested.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.extraExtraExtraLarge-light.png index c0dcc34bd..6fb83c0ca 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.small-dark.png index 9110237f6..5878e81a5 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedList_nested_wrappedTextItem.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.extraExtraExtraLarge-light.png index 648d78975..0d3453a4b 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.small-dark.png index b499c0d53..921391f09 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.extraExtraExtraLarge-light.png index a866f3fd8..767e3a14e 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.small-dark.png index 130f07e6a..6315956e8 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_orderedLists_nested.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.extraExtraExtraLarge-light.png index 284af0d2c..29f355352 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.small-dark.png index b01471c01..10c0472ed 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.extraExtraExtraLarge-light.png index 981e4ded1..99ec419dc 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.small-dark.png index 423b8d336..eb3bce84f 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_multipleLines.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.extraExtraExtraLarge-light.png index 38285e987..827a162e5 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.small-dark.png index 807ed4a4d..c36374295 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_quote_separate.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.extraExtraExtraLarge-light.png index 63f56fa8c..4cc4f88f9 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.small-dark.png index f37df4205..b8904920a 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_text.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.extraExtraExtraLarge-light.png index 0a82f373e..122044722 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.small-dark.png index 9b65eca22..d44735fe3 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_thematicBreak.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.extraExtraExtraLarge-light.png index 1008ad51b..e8aa94d25 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.small-dark.png index c935c91a5..60ae4c781 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.extraExtraExtraLarge-light.png index b86036c5d..e73a9b94e 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.small-dark.png index 52de6f533..f9e1177aa 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_markdown_unorderedLists_nested.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesViewShownInChannel_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesViewShownInChannel_snapshot.1.png index b6847d016..c7feafbf0 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesViewShownInChannel_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesViewShownInChannel_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesView_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesView_snapshot.1.png index ed32bb623..9c245fcfd 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesView_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageRepliesView_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMentionMultiple_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMentionMultiple_snapshot.1.png index 205dd6b44..866ea4eef 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMentionMultiple_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMentionMultiple_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMention_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMention_snapshot.1.png index 398f11439..5f7b0504c 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMention_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewTextMention_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.extraExtraExtraLarge-light.png index defdb43b3..99f80a2fc 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.small-dark.png index 413bdc6f6..2fdb9f3d8 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMeMultiple_snapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.extraExtraExtraLarge-light.png index 8657c241b..d956b5c8a 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.small-dark.png index 2c8f9649d..495c1beaa 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromMe_snapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.extraExtraExtraLarge-light.png index 89bd5f7ff..44fb03dfd 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.small-dark.png index 5582938db..bcd32f3f9 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipantMultiple_snapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.extraExtraExtraLarge-light.png index 1bc70b3ff..a9d19a340 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.small-dark.png index ee61af798..e21d45728 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_messageViewVoiceRecordingWithTextFromParticipant_snapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.extraExtraExtraLarge-light.png index c9a694ad5..d2d3e22ec 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.small-dark.png index 8b99ec391..0157abecc 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/MessageView_Tests/test_text_withMultiline.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-dark.png index d6870e7aa..85d09bf00 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-light.png index 54f5b1b3c..93d748f4e 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allComments.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-dark.png index 5af4a1aa5..774c9c31f 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-light.png index 7633ce2a8..773c38d02 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_allOptions.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-dark.png index 672ad04a5..9b6cd8881 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-light.png index 15f0211f4..ee050dafc 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_resultsSnapshot.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-dark.png index b12b765d5..499cdf7f1 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-light.png index 96d61169a..a0b25c2d6 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotCommentsAndSuggestions.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-dark.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-dark.png index a2b968c7c..e18f5c73f 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-light.png b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-light.png index 9ba457485..eb66c2078 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-light.png and b/StreamChatSwiftUITests/Tests/ChatChannel/__Snapshots__/PollAttachmentView_Tests/test_pollAttachmentView_snapshotUniqueVotes.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift index c647ab56e..c5a51317c 100644 --- a/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift +++ b/StreamChatSwiftUITests/Tests/ChatChannelList/ChatChannelListViewModel_Tests.swift @@ -3,6 +3,7 @@ // @testable import StreamChat +@testable import StreamChatCommonUI @testable import StreamChatSwiftUI @testable import StreamChatTestTools import XCTest diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListItemView_Tests/test_channelListItem_messageDeliveredAndRead.1.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListItemView_Tests/test_channelListItem_messageDeliveredAndRead.1.png index 4df4042e9..bc7031f88 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListItemView_Tests/test_channelListItem_messageDeliveredAndRead.1.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListItemView_Tests/test_channelListItem_messageDeliveredAndRead.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_channelAvatarUpdated.1.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_channelAvatarUpdated.1.png index 01c8261bf..59109144b 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_channelAvatarUpdated.1.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_channelAvatarUpdated.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_themedNavigationBar.1.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_themedNavigationBar.1.png index 9c916bf05..59424adf0 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_themedNavigationBar.1.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_channelListView_themedNavigationBar.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListViewSansNavigation_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListViewSansNavigation_snapshot.1.png index e17fa8da5..7dfc82a52 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListViewSansNavigation_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListViewSansNavigation_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.disabled.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.disabled.png index e36a83841..708fbae4d 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.disabled.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.disabled.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.enabled.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.enabled.png index f21c9a2a0..9cbd43e47 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.enabled.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_showChannelListDividerOnLastItem_snapshot.enabled.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_snapshot.1.png index e17fa8da5..7dfc82a52 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelListView_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelScreen_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelScreen_snapshot.1.png index e17fa8da5..7dfc82a52 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelScreen_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/ChatChannelListView_Tests/test_chatChannelScreen_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/LoadingView_Tests/test_redactedLoadingView_snapshot.1.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/LoadingView_Tests/test_redactedLoadingView_snapshot.1.png index 29ed02732..a7c1ccae4 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/LoadingView_Tests/test_redactedLoadingView_snapshot.1.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/LoadingView_Tests/test_redactedLoadingView_snapshot.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.extraExtraExtraLarge-light.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.extraExtraExtraLarge-light.png index 4f5866a74..0633a54d4 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.extraExtraExtraLarge-light.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.extraExtraExtraLarge-light.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.small-dark.png b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.small-dark.png index 012a61382..3c27de978 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.small-dark.png and b/StreamChatSwiftUITests/Tests/ChatChannelList/__Snapshots__/NoChannelsView_Tests/test_noChannelsView_snapshot.small-dark.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_default.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_default.1.png index 2fc34248e..adb37a918 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_default.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_default.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachmentIsPoll.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachmentIsPoll.1.png index 5daa28d09..d5da374b3 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachmentIsPoll.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachmentIsPoll.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachments.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachments.1.png index c36f4944e..8768ba8a4 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachments.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenAttachments.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessage.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessage.1.png index 6c062c06d..87e4eb226 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessage.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessage.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessageHasAttachment.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessageHasAttachment.1.png index 08d5e7491..5ac0548ad 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessageHasAttachment.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_whenDraftMessageHasAttachment.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withLastReplyDeleted.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withLastReplyDeleted.1.png index 0b018e446..38a64d310 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withLastReplyDeleted.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withLastReplyDeleted.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withParentMessageDeleted.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withParentMessageDeleted.1.png index 70bf0c42b..2441d8dcf 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withParentMessageDeleted.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withParentMessageDeleted.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withTitle.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withTitle.1.png index cf9d111e2..80063be05 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withTitle.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withTitle.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withUnreads.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withUnreads.1.png index 58d12273c..0f03eb227 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withUnreads.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListItemView_Tests/test_threadListItem_withUnreads.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_errorLoadingMoreThreads.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_errorLoadingMoreThreads.1.png index b5efd3592..aa5fec141 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_errorLoadingMoreThreads.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_errorLoadingMoreThreads.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_loadingMoreThreads.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_loadingMoreThreads.1.png index 5cf216893..5d43d3bc2 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_loadingMoreThreads.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_loadingMoreThreads.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_reloadingThreads.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_reloadingThreads.1.png index 6c644e77c..a4999d5ff 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_reloadingThreads.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_reloadingThreads.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_whenNewThreadsAvailable.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_whenNewThreadsAvailable.1.png index c361810b7..39bae0255 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_whenNewThreadsAvailable.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_whenNewThreadsAvailable.1.png differ diff --git a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_withThreads.1.png b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_withThreads.1.png index bf21c8f10..0a499c62a 100644 Binary files a/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_withThreads.1.png and b/StreamChatSwiftUITests/Tests/ChatThreadList/__Snapshots__/ChatThreadListView_Tests/test_chatThreadListView_withThreads.1.png differ diff --git a/StreamChatSwiftUITests/Tests/CommonViews/__Snapshots__/GalleryHeaderView_Tests/test_customized_snapshot.default-light.png b/StreamChatSwiftUITests/Tests/CommonViews/__Snapshots__/GalleryHeaderView_Tests/test_customized_snapshot.default-light.png index 9463ea417..6da2e12fc 100644 Binary files a/StreamChatSwiftUITests/Tests/CommonViews/__Snapshots__/GalleryHeaderView_Tests/test_customized_snapshot.default-light.png and b/StreamChatSwiftUITests/Tests/CommonViews/__Snapshots__/GalleryHeaderView_Tests/test_customized_snapshot.default-light.png differ diff --git a/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift b/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift index ef77ef93f..ab878ed14 100644 --- a/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift +++ b/StreamChatSwiftUITests/Tests/StreamChatTestCase.swift @@ -3,6 +3,7 @@ // @testable import StreamChat +@testable import StreamChatCommonUI @testable import StreamChatSwiftUI @_exported @testable import StreamChatTestTools @_exported import StreamSwiftTestHelpers @@ -18,10 +19,15 @@ import XCTest return client }() - public var streamChat: StreamChat? + public var streamChat: StreamChat? { + willSet { + Appearance.bundle = Bundle(for: type(of: self)) + } + } override open func setUp() { super.setUp() + Appearance.bundle = Bundle(for: type(of: self)) streamChat = StreamChat( chatClient: chatClient, utils: Utils(videoPreviewLoader: VideoPreviewLoader_Mock(), imageLoader: ImageLoader_Mock()) @@ -37,11 +43,11 @@ import XCTest func setThemedNavigationBarAppearance() { adjustAppearance { appearance in - appearance.colors.navigationBarTintColor = .purple - appearance.colors.navigationBarTitle = .blue - appearance.colors.navigationBarSubtitle = .cyan - appearance.colors.navigationBarBackground = .yellow - appearance.colors.navigationBarGlyph = .green + appearance.colorPalette.navigationBarTintColor = .purple + appearance.colorPalette.navigationBarTitle = .blue + appearance.colorPalette.navigationBarSubtitle = .cyan + appearance.colorPalette.navigationBarBackground = .yellow + appearance.colorPalette.navigationBarGlyph = .green } } } diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/7z.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/7z.imageset/Contents.json new file mode 100644 index 000000000..b93ab99bc --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/7z.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_7z.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/7z.imageset/filetype_7z.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/7z.imageset/filetype_7z.pdf new file mode 100644 index 000000000..d4991111f Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/7z.imageset/filetype_7z.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/aac.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/aac.imageset/Contents.json new file mode 100644 index 000000000..e751663e4 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/aac.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "aac.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/aac.imageset/aac.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/aac.imageset/aac.pdf new file mode 100644 index 000000000..83e46a387 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/aac.imageset/aac.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/csv.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/csv.imageset/Contents.json new file mode 100644 index 000000000..5dca05417 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/csv.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_csv.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/csv.imageset/filetype_csv.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/csv.imageset/filetype_csv.pdf new file mode 100644 index 000000000..0a38f30ff Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/csv.imageset/filetype_csv.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/doc.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/doc.imageset/Contents.json new file mode 100644 index 000000000..714341082 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/doc.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_doc.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/doc.imageset/filetype_doc.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/doc.imageset/filetype_doc.pdf new file mode 100644 index 000000000..f0e6adcbc Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/doc.imageset/filetype_doc.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/docx.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/docx.imageset/Contents.json new file mode 100644 index 000000000..03486eebd --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/docx.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_docx.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/docx.imageset/filetype_docx.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/docx.imageset/filetype_docx.pdf new file mode 100644 index 000000000..5031439fd Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/docx.imageset/filetype_docx.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/generic.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/generic.imageset/Contents.json new file mode 100644 index 000000000..8997b60a2 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/generic.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_generic.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/generic.imageset/filetype_generic.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/generic.imageset/filetype_generic.pdf new file mode 100644 index 000000000..4850a9487 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/generic.imageset/filetype_generic.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/html.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/html.imageset/Contents.json new file mode 100644 index 000000000..3c63d7026 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/html.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_html.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/html.imageset/filetype_html.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/html.imageset/filetype_html.pdf new file mode 100644 index 000000000..039c9f562 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/html.imageset/filetype_html.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/md.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/md.imageset/Contents.json new file mode 100644 index 000000000..372c6b918 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/md.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_md.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/md.imageset/filetype_md.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/md.imageset/filetype_md.pdf new file mode 100644 index 000000000..8bcaf7350 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/md.imageset/filetype_md.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/mp3.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/mp3.imageset/Contents.json new file mode 100644 index 000000000..06edd118f --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/mp3.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_mp3.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/mp3.imageset/filetype_mp3.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/mp3.imageset/filetype_mp3.pdf new file mode 100644 index 000000000..fbcb49aee Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/mp3.imageset/filetype_mp3.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/odt.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/odt.imageset/Contents.json new file mode 100644 index 000000000..31727e05d --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/odt.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_odt.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/odt.imageset/filetype_odt.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/odt.imageset/filetype_odt.pdf new file mode 100644 index 000000000..a101887c6 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/odt.imageset/filetype_odt.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pdf.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pdf.imageset/Contents.json new file mode 100644 index 000000000..2167e372e --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pdf.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_pdf.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pdf.imageset/filetype_pdf.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pdf.imageset/filetype_pdf.pdf new file mode 100644 index 000000000..c7ca26d3c Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pdf.imageset/filetype_pdf.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/ppt.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/ppt.imageset/Contents.json new file mode 100644 index 000000000..84e9f17df --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/ppt.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_ppt.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/ppt.imageset/filetype_ppt.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/ppt.imageset/filetype_ppt.pdf new file mode 100644 index 000000000..a65b3511f Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/ppt.imageset/filetype_ppt.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pptx.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pptx.imageset/Contents.json new file mode 100644 index 000000000..2d93399db --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pptx.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_pptx.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pptx.imageset/filetype_pptx.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pptx.imageset/filetype_pptx.pdf new file mode 100644 index 000000000..4488344cb Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/pptx.imageset/filetype_pptx.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rar.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rar.imageset/Contents.json new file mode 100644 index 000000000..c68dd0765 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rar.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_rar.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rar.imageset/filetype_rar.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rar.imageset/filetype_rar.pdf new file mode 100644 index 000000000..b10336724 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rar.imageset/filetype_rar.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rtf.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rtf.imageset/Contents.json new file mode 100644 index 000000000..c6e6549f3 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rtf.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_rtf.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rtf.imageset/filetype_rtf.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rtf.imageset/filetype_rtf.pdf new file mode 100644 index 000000000..d31d1ecc5 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/rtf.imageset/filetype_rtf.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/tar.gz.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/tar.gz.imageset/Contents.json new file mode 100644 index 000000000..b65999e58 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/tar.gz.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_tar.gz.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/tar.gz.imageset/filetype_tar.gz.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/tar.gz.imageset/filetype_tar.gz.pdf new file mode 100644 index 000000000..b524ab216 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/tar.gz.imageset/filetype_tar.gz.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/txt.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/txt.imageset/Contents.json new file mode 100644 index 000000000..4508f007d --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/txt.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_txt.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/txt.imageset/filetype_txt.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/txt.imageset/filetype_txt.pdf new file mode 100644 index 000000000..56ae73489 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/txt.imageset/filetype_txt.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xls.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xls.imageset/Contents.json new file mode 100644 index 000000000..62a10bb73 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xls.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_xls.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xls.imageset/filetype_xls.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xls.imageset/filetype_xls.pdf new file mode 100644 index 000000000..b4b5eb466 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xls.imageset/filetype_xls.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xlsx.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xlsx.imageset/Contents.json new file mode 100644 index 000000000..a62f0853e --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xlsx.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_xlsx.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xlsx.imageset/filetype_xlsx.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xlsx.imageset/filetype_xlsx.pdf new file mode 100644 index 000000000..c1769579b Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/xlsx.imageset/filetype_xlsx.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/zip.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/zip.imageset/Contents.json new file mode 100644 index 000000000..1082a3c3d --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/zip.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "filetype_zip.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/zip.imageset/filetype_zip.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/zip.imageset/filetype_zip.pdf new file mode 100644 index 000000000..c53706d57 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Attachments/Previews/zip.imageset/filetype_zip.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_block_user.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_block_user.imageset/Contents.json new file mode 100644 index 000000000..b64457d8b --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_block_user.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_block_user.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_block_user.imageset/icn_block_user.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_block_user.imageset/icn_block_user.pdf new file mode 100644 index 000000000..cd06bdf84 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_block_user.imageset/icn_block_user.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_copy.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_copy.imageset/Contents.json new file mode 100644 index 000000000..c18ac2c2c --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_copy.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_copy.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_copy.imageset/icn_copy.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_copy.imageset/icn_copy.pdf new file mode 100644 index 000000000..2af8ae637 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_copy.imageset/icn_copy.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_delete.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_delete.imageset/Contents.json new file mode 100644 index 000000000..4c5d6ce6a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_delete.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_delete.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_delete.imageset/icn_delete.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_delete.imageset/icn_delete.pdf new file mode 100644 index 000000000..494f2f4a8 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_delete.imageset/icn_delete.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_edit.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_edit.imageset/Contents.json new file mode 100644 index 000000000..57d7764a8 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_edit.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_edit.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_edit.imageset/icn_edit.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_edit.imageset/icn_edit.pdf new file mode 100644 index 000000000..796abb8cd Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_edit.imageset/icn_edit.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_flag.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_flag.imageset/Contents.json new file mode 100644 index 000000000..7b268df8e --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_flag.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_flag.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_flag.imageset/icn_flag.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_flag.imageset/icn_flag.pdf new file mode 100644 index 000000000..dc3c11c02 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_flag.imageset/icn_flag.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_inline_reply.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_inline_reply.imageset/Contents.json new file mode 100644 index 000000000..353159fbe --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_inline_reply.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_inline_reply.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_inline_reply.imageset/icn_inline_reply.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_inline_reply.imageset/icn_inline_reply.pdf new file mode 100644 index 000000000..855001a6a Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_inline_reply.imageset/icn_inline_reply.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_mute_user.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_mute_user.imageset/Contents.json new file mode 100644 index 000000000..2a70d643d --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_mute_user.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_mute.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_mute_user.imageset/icn_mute.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_mute_user.imageset/icn_mute.pdf new file mode 100644 index 000000000..98d56e28e Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_mute_user.imageset/icn_mute.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_resend.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_resend.imageset/Contents.json new file mode 100644 index 000000000..d625ad60f --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_resend.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_resend.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_resend.imageset/icn_resend.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_resend.imageset/icn_resend.pdf new file mode 100644 index 000000000..4ceff14c2 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_resend.imageset/icn_resend.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_thread_reply.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_thread_reply.imageset/Contents.json new file mode 100644 index 000000000..89b6eb4f5 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_thread_reply.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icn_thread_reply.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_thread_reply.imageset/icn_thread_reply.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_thread_reply.imageset/icn_thread_reply.pdf new file mode 100644 index 000000000..8ee2db8e5 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Actions/icn_thread_reply.imageset/icn_thread_reply.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Composer/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Composer/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Composer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_failed.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_failed.imageset/Contents.json new file mode 100644 index 000000000..81b87416b --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_failed.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "message_receipt_failed.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_failed.imageset/message_receipt_failed.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_failed.imageset/message_receipt_failed.pdf new file mode 100644 index 000000000..1c355bc47 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_failed.imageset/message_receipt_failed.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_read.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_read.imageset/Contents.json new file mode 100644 index 000000000..ff042e68b --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_read.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "doubleCheckmark.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_read.imageset/doubleCheckmark.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_read.imageset/doubleCheckmark.pdf new file mode 100644 index 000000000..caec7fbaf Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_read.imageset/doubleCheckmark.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sending.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sending.imageset/Contents.json new file mode 100644 index 000000000..86ac285b9 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sending.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Union.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sending.imageset/Union.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sending.imageset/Union.pdf new file mode 100644 index 000000000..5525ebcd8 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sending.imageset/Union.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sent.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sent.imageset/Contents.json new file mode 100644 index 000000000..cff7cd29d --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sent.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "checkmark.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sent.imageset/checkmark.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sent.imageset/checkmark.pdf new file mode 100644 index 000000000..aa419acca Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Message Receipts/message_receipt_sent.imageset/checkmark.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_big.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_big.imageset/Contents.json new file mode 100644 index 000000000..d7bc4dea5 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_big.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_LOL_reaction.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_big.imageset/Icon_LOL_reaction.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_big.imageset/Icon_LOL_reaction.pdf new file mode 100644 index 000000000..76a5b0149 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_big.imageset/Icon_LOL_reaction.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_small.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_small.imageset/Contents.json new file mode 100644 index 000000000..d7bc4dea5 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_small.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_LOL_reaction.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_small.imageset/Icon_LOL_reaction.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_small.imageset/Icon_LOL_reaction.pdf new file mode 100644 index 000000000..d3f4e2b12 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_lol_small.imageset/Icon_LOL_reaction.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_big.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_big.imageset/Contents.json new file mode 100644 index 000000000..4743c71ba --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_big.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_love_reaction.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_big.imageset/Icon_love_reaction.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_big.imageset/Icon_love_reaction.pdf new file mode 100644 index 000000000..e2e17c73f Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_big.imageset/Icon_love_reaction.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_small.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_small.imageset/Contents.json new file mode 100644 index 000000000..402d032b4 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_small.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_heart-1.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_small.imageset/Icon_heart-1.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_small.imageset/Icon_heart-1.pdf new file mode 100644 index 000000000..b06b01e69 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_love_small.imageset/Icon_heart-1.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_big.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_big.imageset/Contents.json new file mode 100644 index 000000000..c632e5dec --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_big.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_thumbs up_reaction-1.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_big.imageset/Icon_thumbs up_reaction-1.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_big.imageset/Icon_thumbs up_reaction-1.pdf new file mode 100644 index 000000000..3e05ecd1a Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_big.imageset/Icon_thumbs up_reaction-1.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_small.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_small.imageset/Contents.json new file mode 100644 index 000000000..e9caf9670 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_small.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_thumbs up_reaction.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_small.imageset/Icon_thumbs up_reaction.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_small.imageset/Icon_thumbs up_reaction.pdf new file mode 100644 index 000000000..1e0ed21c0 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsdown_small.imageset/Icon_thumbs up_reaction.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_big.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_big.imageset/Contents.json new file mode 100644 index 000000000..e9caf9670 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_big.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_thumbs up_reaction.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_big.imageset/Icon_thumbs up_reaction.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_big.imageset/Icon_thumbs up_reaction.pdf new file mode 100644 index 000000000..ec60287f5 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_big.imageset/Icon_thumbs up_reaction.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_small.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_small.imageset/Contents.json new file mode 100644 index 000000000..2ad38be4e --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_small.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_heart.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_small.imageset/Icon_heart.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_small.imageset/Icon_heart.pdf new file mode 100644 index 000000000..aca8e3e8d Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_thumbsup_small.imageset/Icon_heart.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_big.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_big.imageset/Contents.json new file mode 100644 index 000000000..77117e1dd --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_big.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_wut_reaction.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_big.imageset/Icon_wut_reaction.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_big.imageset/Icon_wut_reaction.pdf new file mode 100644 index 000000000..c3738bb89 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_big.imageset/Icon_wut_reaction.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_small.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_small.imageset/Contents.json new file mode 100644 index 000000000..77117e1dd --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_small.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_wut_reaction.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_small.imageset/Icon_wut_reaction.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_small.imageset/Icon_wut_reaction.pdf new file mode 100644 index 000000000..2dd3fca1d Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Reactions/reaction_wut_small.imageset/Icon_wut_reaction.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_ban.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_ban.imageset/Contents.json new file mode 100644 index 000000000..28d0abcd9 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_ban.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_ban.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_ban.imageset/command_ban.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_ban.imageset/command_ban.pdf new file mode 100644 index 000000000..5e86bd75b Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_ban.imageset/command_ban.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_fallback.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_fallback.imageset/Contents.json new file mode 100644 index 000000000..32a284c2e --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_fallback.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_fallback.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_fallback.imageset/command_fallback.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_fallback.imageset/command_fallback.pdf new file mode 100644 index 000000000..70eb77781 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_fallback.imageset/command_fallback.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_flag.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_flag.imageset/Contents.json new file mode 100644 index 000000000..6d420fca9 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_flag.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_flag.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_flag.imageset/command_flag.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_flag.imageset/command_flag.pdf new file mode 100644 index 000000000..ff8ee9d20 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_flag.imageset/command_flag.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_giphy.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_giphy.imageset/Contents.json new file mode 100644 index 000000000..27a3cd750 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_giphy.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_giphy.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_giphy.imageset/command_giphy.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_giphy.imageset/command_giphy.pdf new file mode 100644 index 000000000..ee783c24b Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_giphy.imageset/command_giphy.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_imgur.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_imgur.imageset/Contents.json new file mode 100644 index 000000000..6211e2a4d --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_imgur.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_imgur.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_imgur.imageset/command_imgur.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_imgur.imageset/command_imgur.pdf new file mode 100644 index 000000000..434fe5d59 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_imgur.imageset/command_imgur.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mention.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mention.imageset/Contents.json new file mode 100644 index 000000000..82993233b --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mention.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_mention.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mention.imageset/command_mention.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mention.imageset/command_mention.pdf new file mode 100644 index 000000000..cd0f89e41 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mention.imageset/command_mention.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mute.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mute.imageset/Contents.json new file mode 100644 index 000000000..250de1aaa --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mute.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_mute.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mute.imageset/command_mute.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mute.imageset/command_mute.pdf new file mode 100644 index 000000000..6399e606a Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_mute.imageset/command_mute.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unban.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unban.imageset/Contents.json new file mode 100644 index 000000000..8fe5d3439 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unban.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_unban.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unban.imageset/command_unban.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unban.imageset/command_unban.pdf new file mode 100644 index 000000000..d090c557c Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unban.imageset/command_unban.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unmute.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unmute.imageset/Contents.json new file mode 100644 index 000000000..38206dff8 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unmute.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "command_unmute.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unmute.imageset/command_unmute.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unmute.imageset/command_unmute.pdf new file mode 100644 index 000000000..7a39301c7 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/Suggestions Icons/command_unmute.imageset/command_unmute.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_down.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_down.imageset/Contents.json new file mode 100644 index 000000000..a00fc02a0 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_down.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "arrow_down.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_down.imageset/arrow_down.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_down.imageset/arrow_down.pdf new file mode 100644 index 000000000..517ec3814 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_down.imageset/arrow_down.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_send.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_send.imageset/Contents.json new file mode 100644 index 000000000..7c57c5df5 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_send.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "sendMessageArrow.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_send.imageset/sendMessageArrow.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_send.imageset/sendMessageArrow.pdf new file mode 100644 index 000000000..85d2a9d08 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_send.imageset/sendMessageArrow.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_shrink_input.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_shrink_input.imageset/Contents.json new file mode 100644 index 000000000..89d87cfd8 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_shrink_input.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "shrinkInputArrow.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_shrink_input.imageset/shrinkInputArrow.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_shrink_input.imageset/shrinkInputArrow.pdf new file mode 100644 index 000000000..a7acd8d07 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/arrow_shrink_input.imageset/shrinkInputArrow.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/attachment_picker_polls.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/attachment_picker_polls.imageset/Contents.json new file mode 100644 index 000000000..314692bad --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/attachment_picker_polls.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "attachment_picker_polls.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/attachment_picker_polls.imageset/attachment_picker_polls.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/attachment_picker_polls.imageset/attachment_picker_polls.pdf new file mode 100644 index 000000000..3f6df1331 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/attachment_picker_polls.imageset/attachment_picker_polls.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt.imageset/Contents.json new file mode 100644 index 000000000..523ce207f --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "bolt.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt.imageset/bolt.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt.imageset/bolt.pdf new file mode 100644 index 000000000..c94278b81 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt.imageset/bolt.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt_small.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt_small.imageset/Contents.json new file mode 100644 index 000000000..47f38d57f --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt_small.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_lightning-command runner.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt_small.imageset/Icon_lightning-command runner.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt_small.imageset/Icon_lightning-command runner.pdf new file mode 100644 index 000000000..a494d5f4c Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/bolt_small.imageset/Icon_lightning-command runner.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/camera.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/camera.imageset/Contents.json new file mode 100644 index 000000000..570b584b2 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/camera.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "camera.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/camera.imageset/camera.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/camera.imageset/camera.pdf new file mode 100644 index 000000000..a13b0ab41 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/camera.imageset/camera.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm.imageset/Contents.json new file mode 100644 index 000000000..bfe1495a1 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "editMessageCheckmark.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm.imageset/editMessageCheckmark.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm.imageset/editMessageCheckmark.pdf new file mode 100644 index 000000000..4a5ff59a7 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm.imageset/editMessageCheckmark.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm_big.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm_big.imageset/Contents.json new file mode 100644 index 000000000..56a2f8088 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm_big.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "uploaded.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm_big.imageset/uploaded.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm_big.imageset/uploaded.pdf new file mode 100644 index 000000000..2de75b13d Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_confirm_big.imageset/uploaded.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_white.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_white.imageset/Contents.json new file mode 100644 index 000000000..33eb937d9 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_white.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "threadCheckmark.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_white.imageset/threadCheckmark.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_white.imageset/threadCheckmark.pdf new file mode 100644 index 000000000..1a3a1f19c Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/checkmark_white.imageset/threadCheckmark.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.left.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.left.imageset/Contents.json new file mode 100644 index 000000000..7c97db5a0 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.left.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "chevron.backward.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.left.imageset/chevron.backward.png b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.left.imageset/chevron.backward.png new file mode 100644 index 000000000..7154fe236 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.left.imageset/chevron.backward.png differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.up.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.up.imageset/Contents.json new file mode 100644 index 000000000..220c1bccc --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.up.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "chevron.forward.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.up.imageset/chevron.forward.png b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.up.imageset/chevron.forward.png new file mode 100644 index 000000000..67e2f5ab0 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/chevron.up.imageset/chevron.forward.png differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/clip.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/clip.imageset/Contents.json new file mode 100644 index 000000000..ca6ce6994 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/clip.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "clip.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/clip.imageset/clip.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/clip.imageset/clip.pdf new file mode 100644 index 000000000..ddc3c34e8 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/clip.imageset/clip.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close.imageset/Contents.json new file mode 100644 index 000000000..02c77e496 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_close.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close.imageset/Icon_close.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close.imageset/Icon_close.pdf new file mode 100644 index 000000000..365a56bb7 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close.imageset/Icon_close.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_filled.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_filled.imageset/Contents.json new file mode 100644 index 000000000..3a681a66a --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_filled.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "discardAttachment.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_filled.imageset/discardAttachment.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_filled.imageset/discardAttachment.pdf new file mode 100644 index 000000000..ef8c8c6e8 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_filled.imageset/discardAttachment.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_transparent.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_transparent.imageset/Contents.json new file mode 100644 index 000000000..3fca3cae8 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_transparent.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "dismissInCircle.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_transparent.imageset/dismissInCircle.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_transparent.imageset/dismissInCircle.pdf new file mode 100644 index 000000000..56257af13 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/close_circle_transparent.imageset/dismissInCircle.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/download.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/download.imageset/Contents.json new file mode 100644 index 000000000..bb01215e5 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/download.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "download.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/download.imageset/download.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/download.imageset/download.pdf new file mode 100644 index 000000000..9d32d49da Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/download.imageset/download.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_channel_list_message_bubble.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_channel_list_message_bubble.imageset/Contents.json new file mode 100644 index 000000000..10c7de504 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_channel_list_message_bubble.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "empty_channel_list_message_bubble.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_channel_list_message_bubble.imageset/empty_channel_list_message_bubble.svg b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_channel_list_message_bubble.imageset/empty_channel_list_message_bubble.svg new file mode 100644 index 000000000..beb156ca0 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_channel_list_message_bubble.imageset/empty_channel_list_message_bubble.svg @@ -0,0 +1,3 @@ + + + diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_search.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_search.imageset/Contents.json new file mode 100644 index 000000000..c52c11c49 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_search.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "empty_search.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_search.imageset/empty_search.svg b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_search.imageset/empty_search.svg new file mode 100644 index 000000000..1f35d10b8 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/empty_search.imageset/empty_search.svg @@ -0,0 +1,3 @@ + + + diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/error_indicator.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/error_indicator.imageset/Contents.json new file mode 100644 index 000000000..83f74f1a7 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/error_indicator.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "error_indicator.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/error_indicator.imageset/error_indicator.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/error_indicator.imageset/error_indicator.pdf new file mode 100644 index 000000000..e59ec04b2 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/error_indicator.imageset/error_indicator.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/eye.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/eye.imageset/Contents.json new file mode 100644 index 000000000..c3d892066 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/eye.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "eye.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/eye.imageset/eye.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/eye.imageset/eye.pdf new file mode 100644 index 000000000..728db045c Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/eye.imageset/eye.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/folder.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/folder.imageset/Contents.json new file mode 100644 index 000000000..859803679 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/folder.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Icon_folder.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/folder.imageset/Icon_folder.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/folder.imageset/Icon_folder.pdf new file mode 100644 index 000000000..f1189a9a9 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/folder.imageset/Icon_folder.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_back.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_back.imageset/Contents.json new file mode 100644 index 000000000..ca19df446 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_back.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "icn_back.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_back.imageset/icn_back.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_back.imageset/icn_back.pdf new file mode 100644 index 000000000..8432a1c6f Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_back.imageset/icn_back.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_more.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_more.imageset/Contents.json new file mode 100644 index 000000000..86ac285b9 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_more.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "Union.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_more.imageset/Union.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_more.imageset/Union.pdf new file mode 100644 index 000000000..203389d62 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_more.imageset/Union.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_pin.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_pin.imageset/Contents.json new file mode 100644 index 000000000..f67b6742b --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_pin.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "pin.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_pin.imageset/pin.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_pin.imageset/pin.pdf new file mode 100644 index 000000000..6127773db Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/icn_pin.imageset/pin.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/link.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/link.imageset/Contents.json new file mode 100644 index 000000000..942d26181 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/link.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "link.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/link.imageset/link.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/link.imageset/link.pdf new file mode 100644 index 000000000..fb85b04f6 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/link.imageset/link.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/loading_indicator.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/loading_indicator.imageset/Contents.json new file mode 100644 index 000000000..bf931f510 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/loading_indicator.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "loading_indicator.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/loading_indicator.imageset/loading_indicator.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/loading_indicator.imageset/loading_indicator.pdf new file mode 100644 index 000000000..964192879 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/loading_indicator.imageset/loading_indicator.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/lock.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/lock.imageset/Contents.json new file mode 100644 index 000000000..e6da2d9c2 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/lock.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "lock.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/lock.imageset/lock.png b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/lock.imageset/lock.png new file mode 100644 index 000000000..5b1bcd108 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/lock.imageset/lock.png differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mark_unread.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mark_unread.imageset/Contents.json new file mode 100644 index 000000000..c5bbd1a40 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mark_unread.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "mark unread.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mark_unread.imageset/mark unread.svg b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mark_unread.imageset/mark unread.svg new file mode 100644 index 000000000..6182b4663 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mark_unread.imageset/mark unread.svg @@ -0,0 +1,3 @@ + + + diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mic.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mic.imageset/Contents.json new file mode 100644 index 000000000..acbc081c3 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mic.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "filename" : "mic.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true, + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mic.imageset/mic.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mic.imageset/mic.pdf new file mode 100644 index 000000000..cec0307d9 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/mic.imageset/mic.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern1.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern1.imageset/Contents.json new file mode 100644 index 000000000..d4ab0ed47 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern1.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "pattern1.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern1.imageset/pattern1.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern1.imageset/pattern1.pdf new file mode 100644 index 000000000..295271b89 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern1.imageset/pattern1.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern2.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern2.imageset/Contents.json new file mode 100644 index 000000000..b092b1251 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern2.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "pattern2.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern2.imageset/pattern2.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern2.imageset/pattern2.pdf new file mode 100644 index 000000000..a0ec50075 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern2.imageset/pattern2.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern3.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern3.imageset/Contents.json new file mode 100644 index 000000000..26261c38d --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern3.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "pattern3.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern3.imageset/pattern3.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern3.imageset/pattern3.pdf new file mode 100644 index 000000000..7a90af925 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern3.imageset/pattern3.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern4.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern4.imageset/Contents.json new file mode 100644 index 000000000..06ec5170c --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern4.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "pattern4.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern4.imageset/pattern4.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern4.imageset/pattern4.pdf new file mode 100644 index 000000000..5f16377e2 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern4.imageset/pattern4.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern5.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern5.imageset/Contents.json new file mode 100644 index 000000000..28760594b --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern5.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "pattern5.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern5.imageset/pattern5.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern5.imageset/pattern5.pdf new file mode 100644 index 000000000..307289be2 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pattern5.imageset/pattern5.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.fill.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.fill.imageset/Contents.json new file mode 100644 index 000000000..6ec1f794e --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.fill.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "pause.fill.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.fill.imageset/pause.fill.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.fill.imageset/pause.fill.pdf new file mode 100644 index 000000000..171f70a64 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.fill.imageset/pause.fill.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.imageset/Contents.json new file mode 100644 index 000000000..7e682e294 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "pause.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.imageset/pause.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.imageset/pause.pdf new file mode 100644 index 000000000..4787dda90 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pause.imageset/pause.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pill.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pill.imageset/Contents.json new file mode 100644 index 000000000..96daa9641 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pill.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "pill.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pill.imageset/pill.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pill.imageset/pill.pdf new file mode 100644 index 000000000..3c9cd5bc8 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/pill.imageset/pill.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.fill.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.fill.imageset/Contents.json new file mode 100644 index 000000000..46e6bc2b8 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.fill.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "play.fill.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.fill.imageset/play.fill.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.fill.imageset/play.fill.pdf new file mode 100644 index 000000000..0fc5ce103 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.fill.imageset/play.fill.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.imageset/Contents.json new file mode 100644 index 000000000..59c098e99 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "play.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.imageset/play.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.imageset/play.pdf new file mode 100644 index 000000000..36cbad144 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play.imageset/play.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play_big.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play_big.imageset/Contents.json new file mode 100644 index 000000000..59c098e99 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play_big.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "play.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "original" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play_big.imageset/play.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play_big.imageset/play.pdf new file mode 100644 index 000000000..8fe9459c0 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/play_big.imageset/play.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/restart.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/restart.imageset/Contents.json new file mode 100644 index 000000000..ec7056b41 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/restart.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "restart.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/restart.imageset/restart.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/restart.imageset/restart.pdf new file mode 100644 index 000000000..3f2ebb67b Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/restart.imageset/restart.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/share.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/share.imageset/Contents.json new file mode 100644 index 000000000..e7fb1a172 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/share.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "icon_share.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/share.imageset/icon_share.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/share.imageset/icon_share.pdf new file mode 100644 index 000000000..22024c922 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/share.imageset/icon_share.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/sliderThumb.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/sliderThumb.imageset/Contents.json new file mode 100644 index 000000000..4f9eda0c2 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/sliderThumb.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "sliderThumb.pdf", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/sliderThumb.imageset/sliderThumb.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/sliderThumb.imageset/sliderThumb.pdf new file mode 100644 index 000000000..3fa2e5ed7 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/sliderThumb.imageset/sliderThumb.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/text_bubble.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/text_bubble.imageset/Contents.json new file mode 100644 index 000000000..429607647 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/text_bubble.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "text_bubble.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/text_bubble.imageset/text_bubble.pdf b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/text_bubble.imageset/text_bubble.pdf new file mode 100644 index 000000000..87de5b8b7 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/text_bubble.imageset/text_bubble.pdf differ diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/trash.imageset/Contents.json b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/trash.imageset/Contents.json new file mode 100644 index 000000000..ba903c8e2 --- /dev/null +++ b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/trash.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "delete.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/trash.imageset/delete.png b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/trash.imageset/delete.png new file mode 100644 index 000000000..c3bed62c9 Binary files /dev/null and b/StreamChatSwiftUITests/Tests/Utils/Assets.xcassets/trash.imageset/delete.png differ diff --git a/StreamChatSwiftUITests/Tests/Utils/AudioRecordingNameFormatter_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/AudioRecordingNameFormatter_Tests.swift deleted file mode 100644 index a4801e10b..000000000 --- a/StreamChatSwiftUITests/Tests/Utils/AudioRecordingNameFormatter_Tests.swift +++ /dev/null @@ -1,33 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation -@testable import StreamChat -@testable import StreamChatSwiftUI -import SwiftUI -import XCTest - -final class AudioRecordingNameFormatter_Tests: XCTestCase { - func test_audioRecordingNameFormatter_index0() { - // Given - let formatter: AudioRecordingNameFormatter = DefaultAudioRecordingNameFormatter() - - // When - let title = formatter.title(forItemAtURL: .localYodaImage, index: 0) - - // Then - XCTAssert(title == "Recording") - } - - func test_audioRecordingNameFormatter_index1() { - // Given - let formatter: AudioRecordingNameFormatter = DefaultAudioRecordingNameFormatter() - - // When - let title = formatter.title(forItemAtURL: .localYodaImage, index: 1) - - // Then - XCTAssert(title == "Recording(1)") - } -} diff --git a/StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift deleted file mode 100644 index b75c8ce85..000000000 --- a/StreamChatSwiftUITests/Tests/Utils/ChatChannelNamer_Tests.swift +++ /dev/null @@ -1,207 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import StreamChat -@testable import StreamChatSwiftUI -import XCTest - -class ChatChannelNamer_Tests: XCTestCase { - var defaultMembers: [ChatChannelMember]! - - override func setUp() { - super.setUp() - - defaultMembers = [ - .mock( - id: .unique, - name: "Darth Vader", - imageURL: nil, - isOnline: true - ), - .mock( - id: .unique, - name: "Darth Maul", - imageURL: nil, - isOnline: true - ), - .mock( - id: .unique, - name: "Kylo Ren", - imageURL: nil, - isOnline: true - ) - ] - } - - func test_defaultChannelNamer_whenChannelHasName_showsChannelName() { - // Given - let channel = ChatChannel.mock( - cid: .unique, - name: "Darth Channel", - imageURL: URL(string: "https://example.com")!, - lastActiveMembers: defaultMembers - ) - let currentUserId: String = .unique - let namer: ChatChannelNamer = DefaultChatChannelNamer() - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, "Darth Channel") - } - - func test_defaultChannelNamer_directChannel_whenChannelHasNoName_andExactly2Members_showsCurrentMembers() { - // Given - defaultMembers = [ - .mock( - id: .unique, - name: "Darth Vader", - imageURL: nil, - isOnline: true - ), - .mock( - id: .unique, - name: "Darth Maul", - imageURL: nil, - isOnline: true - ) - ] - let channel = ChatChannel.mockDMChannel( - name: nil, - lastActiveMembers: defaultMembers - ) - let currentUserId: String = .unique - let namer: ChatChannelNamer = DefaultChatChannelNamer() - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, "Darth Maul and Darth Vader") - } - - func test_defaultChannelNamer_directChannel_whenChannelHasNoName_whenChannelHasNoMembers_showsCurrentUserId() { - // Given - let channel = ChatChannel.mockDMChannel( - name: nil - ) - let currentUserId: String = .unique - let namer: ChatChannelNamer = DefaultChatChannelNamer() - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, nil) - } - - func test_defaultChannelNamer_directChannel_whenChannelHasNoName_whenChannelHasOnlyCurrentMember_showsCurrentMemberName() { - // Given - let currentUser: ChatChannelMember = .mock(id: .unique, name: "Luke Skywalker") - let channel = ChatChannel.mockDMChannel( - name: nil, - lastActiveMembers: [currentUser] - ) - let currentUserId: String = currentUser.id - let namer: ChatChannelNamer = DefaultChatChannelNamer() - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, currentUser.name) - } - - func test_defaultChannelNamer_directChannel_whenChannelHasNoName_andMoreThan2Members_showsMembersAndNMore() { - // Given - let channel = ChatChannel.mockDMChannel( - name: nil, - lastActiveMembers: defaultMembers - ) - let currentUserId: String = .unique - let namer: ChatChannelNamer = DefaultChatChannelNamer() - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, "Darth Maul, Darth Vader and 1 more") - } - - func test_defaultChannelNamer_whenChannelHasNoName_AndNotDM_returnsNil() { - // Given - let channelID: String = .unique - let channel = ChatChannel.mock( - cid: ChannelId(type: .gaming, id: channelID), - name: nil - ) - let currentUserId: String = .unique - let namer: ChatChannelNamer = DefaultChatChannelNamer() - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, nil) - } - - func test_defaultChannelNamer_withModifiedParameters_customSeparator() { - // Given - let channel = ChatChannel.mockDMChannel( - name: nil, - lastActiveMembers: defaultMembers - ) - let currentUserId: String = .unique - let namer: ChatChannelNamer = DefaultChatChannelNamer(separator: " |") - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, "Darth Maul | Darth Vader and 1 more") - } - - func test_defaultChannelNamer_withModifiedParameters_numberOfMaximumMembers() { - // Given - defaultMembers = [ - .mock( - id: .unique, - name: "Darth Vader", - imageURL: nil, - isOnline: true - ), - .mock( - id: .unique, - name: "Darth Maul", - imageURL: nil, - isOnline: true - ), - .mock( - id: .unique, - name: "Kylo Ren", - imageURL: nil, - isOnline: true - ), - .mock( - id: .unique, - name: "Darth Bane", - imageURL: nil, - isOnline: true - ) - ] - let channel = ChatChannel.mockDMChannel( - name: nil, - lastActiveMembers: defaultMembers - ) - let currentUserId: String = .unique - let namer: ChatChannelNamer = DefaultChatChannelNamer(maxMemberNames: 4, separator: " |") - - // When - let nameForChannel = namer(channel, currentUserId) - - // Then - XCTAssertEqual(nameForChannel, "Darth Bane | Darth Maul | Darth Vader | Kylo Ren") - } -} diff --git a/StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift deleted file mode 100644 index 42fbb65f4..000000000 --- a/StreamChatSwiftUITests/Tests/Utils/DateUtils_Tests.swift +++ /dev/null @@ -1,139 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -@testable import StreamChat -@testable import StreamChatSwiftUI -import XCTest - -class DateUtils_Tests: XCTestCase { - func test_timeAgoNow() throws { - // Given - let expected = "last seen just one second ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: Date()) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgoFuture() throws { - // Given - let date = Calendar.current.date(byAdding: .second, value: 60, to: Date())! - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == nil) - } - - func test_timeAgo1MinuteAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .second, value: -60, to: Date())! - let expected = "last seen one minute ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo59SecondsAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .second, value: -59, to: Date())! - let expected = "last seen 59 seconds ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo42SecondsAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .second, value: -42, to: Date())! - let expected = "last seen 42 seconds ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo42MinutesAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .minute, value: -42, to: Date())! - let expected = "last seen 42 minutes ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo42DaysAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .day, value: -42, to: Date())! - let expected = "last seen one month ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo42WeeksAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .day, value: -42 * 7, to: Date())! - let expected = "last seen 9 months ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo4HoursAgo() { - // Given - let date = Calendar.current.date(byAdding: .hour, value: -4, to: Date())! - let expected = "last seen 4 hours ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo5DaysAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .day, value: -5, to: Date())! - let expected = "last seen 5 days ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } - - func test_timeAgo3WeeksAgo() throws { - // Given - let date = Calendar.current.date(byAdding: .day, value: -3 * 7, to: Date())! - let expected = "last seen 3 weeks ago" - - // When - let timeAgo = DateUtils.timeAgo(relativeTo: date) - - // Then - XCTAssert(timeAgo == expected) - } -} diff --git a/StreamChatSwiftUITests/Tests/Utils/MessageRelativeDateFormatter_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/MessageRelativeDateFormatter_Tests.swift deleted file mode 100644 index af8412a4e..000000000 --- a/StreamChatSwiftUITests/Tests/Utils/MessageRelativeDateFormatter_Tests.swift +++ /dev/null @@ -1,63 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation -@testable import StreamChat -@testable import StreamChatSwiftUI -import XCTest - -final class MessageRelativeDateFormatter_Tests: StreamChatTestCase { - private var formatter: MessageRelativeDateFormatter! - - override func setUp() { - super.setUp() - formatter = MessageRelativeDateFormatter() - formatter.locale = Locale(identifier: "en_UK") - formatter.todayFormatter.locale = Locale(identifier: "en_UK") - formatter.yesterdayFormatter.locale = Locale(identifier: "en_UK") - } - - override func tearDown() { - super.tearDown() - formatter = nil - } - - func test_showingTimeOnly() throws { - let date = try XCTUnwrap(Calendar.current.date(bySettingHour: 1, minute: 2, second: 3, of: Date())) - let result = formatter.string(from: date) - let expected = formatter.todayFormatter.string(from: date) - XCTAssertEqual(expected, result) - XCTAssertEqual("01:02", result) - } - - func test_showingYesterday() throws { - let date = try XCTUnwrap(Calendar.current.date(byAdding: .day, value: -1, to: Date())) - let result = formatter.string(from: date) - let expected = formatter.yesterdayFormatter.string(from: date) - XCTAssertEqual(expected, result) - XCTAssertEqual("Yesterday", result) - } - - func test_showingWeekday() throws { - let date = try XCTUnwrap(Calendar.current.date(byAdding: .day, value: -6, to: Date())) - let result = formatter.string(from: date) - let expected = formatter.weekdayFormatter.string(from: date) - XCTAssertEqual(expected, result) - } - - func test_showingShortDate() throws { - let components = DateComponents( - timeZone: TimeZone(secondsFromGMT: 0), - year: 2025, - month: 1, - day: 15, - hour: 3, - minute: 4, - second: 5 - ) - let date = try XCTUnwrap(Calendar.current.date(from: components)) - let result = formatter.string(from: date) - XCTAssertEqual("15/01/2025", result) - } -} diff --git a/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift index 4859680b2..9b2329f0b 100644 --- a/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift +++ b/StreamChatSwiftUITests/Tests/Utils/ReactionsIconProvider_Tests.swift @@ -52,7 +52,7 @@ import XCTest let color = ReactionsIconProvider.color(for: reaction, userReactionIDs: [reaction]) // Then - XCTAssert(color == Color(colors.reactionCurrentUserColor!)) + XCTAssert(color == Color(colors.reactionCurrentUserColor)) } func test_reactionsIconProvider_otherUserColor() { @@ -63,6 +63,6 @@ import XCTest let color = ReactionsIconProvider.color(for: reaction, userReactionIDs: []) // Then - XCTAssert(color == Color(colors.reactionOtherUserColor!)) + XCTAssert(color == Color(colors.reactionOtherUserColor)) } } diff --git a/StreamChatSwiftUITests/Tests/Utils/VideoDurationFormatter_Tests.swift b/StreamChatSwiftUITests/Tests/Utils/VideoDurationFormatter_Tests.swift deleted file mode 100644 index 61190824c..000000000 --- a/StreamChatSwiftUITests/Tests/Utils/VideoDurationFormatter_Tests.swift +++ /dev/null @@ -1,44 +0,0 @@ -// -// Copyright © 2025 Stream.io Inc. All rights reserved. -// - -import Foundation -@testable import StreamChat -@testable import StreamChatSwiftUI -import SwiftUI -import XCTest - -final class VideoDurationFormatter_Tests: XCTestCase { - func test_videoDurationFormatter_seconds() { - // Given - let formatter: VideoDurationFormatter = DefaultVideoDurationFormatter() - - // When - let formatted = formatter.format(5) - - // Then - XCTAssert(formatted == "00:05") - } - - func test_videoDurationFormatter_minutes() { - // Given - let formatter: VideoDurationFormatter = DefaultVideoDurationFormatter() - - // When - let formatted = formatter.format(65) - - // Then - XCTAssert(formatted == "01:05") - } - - func test_videoDurationFormatter_hours() { - // Given - let formatter: VideoDurationFormatter = DefaultVideoDurationFormatter() - - // When - let formatted = formatter.format(3605) - - // Then - XCTAssert(formatted == "60:05") - } -} diff --git a/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift b/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift index aa74183b7..363ded8ac 100644 --- a/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift +++ b/StreamChatSwiftUITestsAppTests/Tests/Ephemeral_Messages_Tests.swift @@ -10,22 +10,6 @@ final class Ephemeral_Messages_Tests: StreamTestCase { assertMockServer() } - func test_userObservesAnimatedGiphy_whenUserAddsGiphyMessage() throws { - linkToScenario(withId: 435) - - GIVEN("user opens a channel") { - userRobot - .login() - .openChannel() - } - WHEN("user sends a giphy using giphy command") { - userRobot.sendGiphy(useComposerCommand: true) - } - THEN("user observes the animated gif") { - userRobot.assertGiphyImage() - } - } - func test_userObservesAnimatedGiphy_whenParticipantAddsGiphyMessage() throws { linkToScenario(withId: 436) @@ -132,20 +116,4 @@ final class Ephemeral_Messages_Tests: StreamTestCase { .assertMessageReadCount(readBy: 0) } } - - func test_userObservesAnimatedGiphy_afterAddingGiphyThroughComposerMenu() throws { - linkToScenario(withId: 441) - - GIVEN("user opens a channel") { - userRobot - .login() - .openChannel() - } - WHEN("user sends a giphy using giphy command") { - userRobot.sendGiphy(useComposerCommand: true) - } - THEN("user observes the animated gif") { - userRobot.assertGiphyImage() - } - } }