Skip to content

Commit aad69ee

Browse files
Added factory method for customizing the message list container's modifier (#330)
1 parent 6d96435 commit aad69ee

File tree

5 files changed

+22
-1
lines changed

5 files changed

+22
-1
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
33

44
# Upcoming
55

6-
### 🔄 Changed
6+
### ✅ Added
7+
- Added factory method for customizing the message list container's modifier
78

89
# [4.33.0](https://github.com/GetStream/stream-chat-swiftui/releases/tag/4.33.0)
910
_June 09, 2023_

Sources/StreamChatSwiftUI/ChatChannel/MessageList/MessageListView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ public struct MessageListView<Factory: ViewFactory>: View, KeyboardReadable {
266266
pendingKeyboardUpdate = nil
267267
}
268268
})
269+
.modifier(factory.makeMessageListContainerModifier())
269270
.modifier(HideKeyboardOnTapGesture(shouldAdd: keyboardShown))
270271
.onDisappear {
271272
messageRenderingUtil.update(previousTopMessage: nil)

Sources/StreamChatSwiftUI/DefaultViewFactory.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,10 @@ extension ViewFactory {
207207
EmptyViewModifier()
208208
}
209209

210+
public func makeMessageListContainerModifier() -> some ViewModifier {
211+
EmptyViewModifier()
212+
}
213+
210214
public func makeMessageViewModifier(for messageModifierInfo: MessageModifierInfo) -> some ViewModifier {
211215
MessageBubbleModifier(
212216
message: messageModifierInfo.message,

Sources/StreamChatSwiftUI/ViewFactory.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,10 @@ public protocol ViewFactory: AnyObject {
200200
associatedtype MessageListModifier: ViewModifier
201201
/// Returns a view modifier applied to the message list.
202202
func makeMessageListModifier() -> MessageListModifier
203+
204+
associatedtype MessageListContainerModifier: ViewModifier
205+
/// Returns a view modifier applied to the message list container.
206+
func makeMessageListContainerModifier() -> MessageListContainerModifier
203207

204208
associatedtype MessageViewModifier: ViewModifier
205209
/// Returns a view modifier applied to the message view.

StreamChatSwiftUITests/Tests/Utils/ViewFactory_Tests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,17 @@ class ViewFactory_Tests: StreamChatTestCase {
792792
// Then
793793
XCTAssert(view is ComposerTextInputView)
794794
}
795+
796+
func test_viewFactory_makeMessageListContainerModifier() {
797+
// Given
798+
let viewFactory = DefaultViewFactory.shared
799+
800+
// When
801+
let modifier = viewFactory.makeMessageListContainerModifier()
802+
803+
// Then
804+
XCTAssert(modifier is EmptyViewModifier)
805+
}
795806
}
796807

797808
extension ChannelAction: Equatable {

0 commit comments

Comments
 (0)