Skip to content

Commit 99c58ec

Browse files
Make Message builder widgett null and in case of null it show default message container
1 parent 32777c4 commit 99c58ec

File tree

5 files changed

+68
-21
lines changed

5 files changed

+68
-21
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,7 @@ FUTURE_RELEASE.md
7171
!**/ios/**/default.pbxuser
7272
!**/ios/**/default.perspectivev3
7373
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
74+
75+
# FVM Version Cache
76+
.fvm/
77+
.fvmrc

.vscode/settings.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"yaml.schemaStore.enable": false
2+
"yaml.schemaStore.enable": false,
3+
"dart.flutterSdkPath": ".fvm/versions/3.22.2"
34
}

lib/src/chat_view.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ class DashChat extends StatefulWidget {
120120
/// messageBuilder will override the the default chat container which uses
121121
/// and you will need to build complete message Widget it will not accept
122122
/// and include any other builder functions.
123-
final Widget Function(ChatMessage)? messageBuilder;
123+
final Widget? Function(ChatMessage)? messageBuilder;
124124

125125
/// messageTextBuilder will override the the default message text.
126126
final Widget Function(String?, [ChatMessage])? messageTextBuilder;

lib/src/message_listview.dart

+44-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class MessageListView extends StatefulWidget {
1313
final Function(ChatMessage)? onLongPressMessage;
1414
final bool inverted;
1515
final Widget Function(ChatUser)? avatarBuilder;
16-
final Widget Function(ChatMessage)? messageBuilder;
16+
final Widget? Function(ChatMessage)? messageBuilder;
1717
final Widget Function(String?, [ChatMessage])? messageTextBuilder;
1818
final Widget Function(String?, [ChatMessage])? messageImageBuilder;
1919
final Widget Function(String, [ChatMessage])? messageTimeBuilder;
@@ -259,8 +259,49 @@ class _MessageListViewState extends State<MessageListView> {
259259
}
260260
},
261261
child: widget.messageBuilder != null
262-
? widget
263-
.messageBuilder!(widget.messages[i])
262+
? widget.messageBuilder!(
263+
widget.messages[i]) !=
264+
null
265+
? widget.messageBuilder!(
266+
widget.messages[i])
267+
: Align(
268+
alignment: widget.messages[i]
269+
.user.uid ==
270+
widget.user.uid
271+
? AlignmentDirectional
272+
.centerEnd
273+
: AlignmentDirectional
274+
.centerStart,
275+
child: MessageContainer(
276+
messagePadding:
277+
widget.messagePadding,
278+
constraints: constraints,
279+
isUser: widget.messages[i]
280+
.user.uid ==
281+
widget.user.uid,
282+
message: widget.messages[i],
283+
timeFormat: widget.timeFormat,
284+
messageImageBuilder: widget
285+
.messageImageBuilder,
286+
messageTextBuilder:
287+
widget.messageTextBuilder,
288+
messageTimeBuilder:
289+
widget.messageTimeBuilder,
290+
messageContainerDecoration: widget
291+
.messageContainerDecoration,
292+
parsePatterns:
293+
widget.parsePatterns,
294+
buttons: widget
295+
.messages[i].buttons,
296+
messageButtonsBuilder: widget
297+
.messageButtonsBuilder,
298+
textBeforeImage:
299+
widget.textBeforeImage,
300+
messageDecorationBuilder: widget
301+
.messageDecorationBuilder,
302+
),
303+
)
304+
264305
: Align(
265306
alignment: widget
266307
.messages[i].user.uid ==

pubspec.lock

+17-16
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ packages:
4545
dependency: transitive
4646
description:
4747
name: crypto
48-
sha256: "8be10341257b613566fdc9fd073c46f7c032ed329b1c732bda17aca29f2366c8"
48+
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
4949
url: "https://pub.dev"
5050
source: hosted
51-
version: "3.0.0"
51+
version: "3.0.3"
5252
fake_async:
5353
dependency: transitive
5454
description:
@@ -95,26 +95,26 @@ packages:
9595
dependency: transitive
9696
description:
9797
name: leak_tracker
98-
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
98+
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
9999
url: "https://pub.dev"
100100
source: hosted
101-
version: "10.0.0"
101+
version: "10.0.4"
102102
leak_tracker_flutter_testing:
103103
dependency: transitive
104104
description:
105105
name: leak_tracker_flutter_testing
106-
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
106+
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
107107
url: "https://pub.dev"
108108
source: hosted
109-
version: "2.0.1"
109+
version: "3.0.3"
110110
leak_tracker_testing:
111111
dependency: transitive
112112
description:
113113
name: leak_tracker_testing
114-
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
114+
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
115115
url: "https://pub.dev"
116116
source: hosted
117-
version: "2.0.1"
117+
version: "3.0.1"
118118
matcher:
119119
dependency: transitive
120120
description:
@@ -135,10 +135,10 @@ packages:
135135
dependency: transitive
136136
description:
137137
name: meta
138-
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
138+
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
139139
url: "https://pub.dev"
140140
source: hosted
141-
version: "1.11.0"
141+
version: "1.12.0"
142142
path:
143143
dependency: transitive
144144
description:
@@ -204,10 +204,10 @@ packages:
204204
dependency: transitive
205205
description:
206206
name: test_api
207-
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
207+
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
208208
url: "https://pub.dev"
209209
source: hosted
210-
version: "0.6.1"
210+
version: "0.7.0"
211211
transparent_image:
212212
dependency: "direct main"
213213
description:
@@ -220,10 +220,10 @@ packages:
220220
dependency: transitive
221221
description:
222222
name: typed_data
223-
sha256: "53bdf7e979cfbf3e28987552fd72f637e63f3c8724c9e56d9246942dc2fa36ee"
223+
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
224224
url: "https://pub.dev"
225225
source: hosted
226-
version: "1.3.0"
226+
version: "1.3.2"
227227
uuid:
228228
dependency: "direct main"
229229
description:
@@ -244,9 +244,10 @@ packages:
244244
dependency: transitive
245245
description:
246246
name: vm_service
247-
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
247+
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
248248
url: "https://pub.dev"
249249
source: hosted
250-
version: "13.0.0"
250+
version: "14.2.1"
251251
sdks:
252252
dart: ">=3.3.1 <4.0.0"
253+
flutter: ">=3.18.0-18.0.pre.54"

0 commit comments

Comments
 (0)