Skip to content

Commit 2cd5f3b

Browse files
Configuration for composer input field max height
1 parent 7870963 commit 2cd5f3b

File tree

7 files changed

+29
-3
lines changed

7 files changed

+29
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
77
- Configuration for stack based navigation for iPads
88
- Customization of the reactions background
99
- Possibility to add custom snapshot generation logic
10+
- Configuration for composer input field max height
1011

1112
### 🐞 Fixed
1213
- iOS 16 keyboard insets issue on pushed screen

Sources/StreamChatSwiftUI/ChatChannel/Composer/ComposerConfig.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,20 @@ import SwiftUI
88
public struct ComposerConfig {
99

1010
public var inputViewMinHeight: CGFloat
11+
public var inputViewMaxHeight: CGFloat
1112
public var inputFont: UIFont
1213
public var adjustMessageOnSend: (String) -> (String)
1314
public var adjustMessageOnRead: (String) -> (String)
1415

1516
public init(
1617
inputViewMinHeight: CGFloat = 38,
18+
inputViewMaxHeight: CGFloat = 76,
1719
inputFont: UIFont = UIFont.preferredFont(forTextStyle: .body),
1820
adjustMessageOnSend: @escaping (String) -> (String) = { $0 },
1921
adjustMessageOnRead: @escaping (String) -> (String) = { $0 }
2022
) {
2123
self.inputViewMinHeight = inputViewMinHeight
24+
self.inputViewMaxHeight = inputViewMaxHeight
2225
self.inputFont = inputFont
2326
self.adjustMessageOnSend = adjustMessageOnSend
2427
self.adjustMessageOnRead = adjustMessageOnRead

Sources/StreamChatSwiftUI/Utils/Common/InputTextView.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ struct TextSizeConstants {
1111
composerConfig.inputViewMinHeight
1212
}
1313

14-
static let maximumHeight: CGFloat = 76
14+
static var maximumHeight: CGFloat {
15+
composerConfig.inputViewMaxHeight
16+
}
17+
1518
static var minThreshold: CGFloat {
1619
composerConfig.inputViewMinHeight
1720
}

StreamChatSwiftUITests/Tests/ChatChannel/ChatChannelView_Tests.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,16 @@ class ChatChannelView_Tests: StreamChatTestCase {
112112

113113
func test_defaultChannelHeader_snapshot() {
114114
// Given
115-
let modifier = DefaultChannelHeaderModifier(channel: .mockDMChannel(name: "Test"))
115+
let header = DefaultChatChannelHeader(
116+
channel: .mockDMChannel(name: "Test"),
117+
headerImage: UIImage(systemName: "person")!,
118+
isActive: .constant(false)
119+
)
116120
let view = NavigationView {
117121
Text("Test")
118-
.modifier(modifier)
122+
.toolbar {
123+
header
124+
}
119125
}
120126
.applyDefaultSize()
121127

StreamChatSwiftUITests/Tests/ChatChannel/MessageComposerView_Tests.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,4 +255,17 @@ class MessageComposerView_Tests: StreamChatTestCase {
255255
// Then
256256
assertSnapshot(matching: view, as: .image)
257257
}
258+
259+
func test_photosPickerView_snapshot() {
260+
// Given
261+
let view = PhotoAttachmentPickerView(
262+
assets: .init(fetchResult: .init()),
263+
onImageTap: { _ in },
264+
imageSelected: { _ in true }
265+
)
266+
.applyDefaultSize()
267+
268+
// Then
269+
assertSnapshot(matching: view, as: .image)
270+
}
258271
}
Loading
Loading

0 commit comments

Comments
 (0)