mirror of
https://gitlab.com/comunic/comunicmobile
synced 2024-12-26 12:58:51 +00:00
Add counter on comment form
This commit is contained in:
parent
073ddd8386
commit
59c3e47419
@ -325,15 +325,8 @@ class _ConversationScreenState extends State<ConversationScreen> {
|
||||
maxLengthEnforced: true,
|
||||
|
||||
// Show max length only when there is some text already typed
|
||||
buildCounter: (
|
||||
BuildContext context, {
|
||||
@required int currentLength,
|
||||
@required int maxLength,
|
||||
@required bool isFocused,
|
||||
}) =>
|
||||
currentLength > 0
|
||||
? Text("$currentLength/$maxLength")
|
||||
: Container(),
|
||||
buildCounter: smartInputCounterWidgetBuilder,
|
||||
|
||||
enabled: !_isSendingMessage,
|
||||
controller: _textEditingController,
|
||||
onChanged: _updatedText,
|
||||
|
@ -250,27 +250,33 @@ class _PostTileState extends State<PostTile> {
|
||||
// Comment input
|
||||
Expanded(
|
||||
child: TextField(
|
||||
// Comment max size
|
||||
maxLength: 255,
|
||||
maxLines: null,
|
||||
buildCounter: smartInputCounterWidgetBuilder,
|
||||
|
||||
controller: _commentController,
|
||||
onChanged: (s) => setState(() {}),
|
||||
onSubmitted: _canSubmitComment ? (s) => _submitComment() : null,
|
||||
decoration: InputDecoration(
|
||||
hintText: tr("New comment..."),
|
||||
hintStyle: TextStyle(color: Colors.grey, fontSize: 12),
|
||||
fillColor: Colors.white,
|
||||
filled: true,
|
||||
border: OutlineInputBorder(
|
||||
borderSide: BorderSide(width: 0.5, color: Colors.grey),
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(3),
|
||||
bottomLeft: Radius.circular(3),
|
||||
),
|
||||
gapPadding: 1),
|
||||
contentPadding: EdgeInsets.only(
|
||||
left: 10,
|
||||
right: 10,
|
||||
bottom: 5,
|
||||
top: 5,
|
||||
)),
|
||||
hintText: tr("New comment..."),
|
||||
hintStyle: TextStyle(color: Colors.grey, fontSize: 12),
|
||||
fillColor: Colors.white,
|
||||
filled: true,
|
||||
border: OutlineInputBorder(
|
||||
borderSide: BorderSide(width: 0.5, color: Colors.grey),
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(3),
|
||||
bottomLeft: Radius.circular(3),
|
||||
),
|
||||
gapPadding: 1),
|
||||
contentPadding: EdgeInsets.only(
|
||||
left: 10,
|
||||
right: 10,
|
||||
bottom: 5,
|
||||
top: 5,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
|
@ -153,3 +153,13 @@ Future<bool> showConfirmDialog({
|
||||
|
||||
return result != null && result;
|
||||
}
|
||||
|
||||
/// Smart [InputCounterWidgetBuilder] that show text limit only when some
|
||||
/// text has already been entered by the user
|
||||
Widget smartInputCounterWidgetBuilder(
|
||||
BuildContext context, {
|
||||
@required int currentLength,
|
||||
@required int maxLength,
|
||||
@required bool isFocused,
|
||||
}) =>
|
||||
currentLength > 0 ? Text("$currentLength/$maxLength") : Container();
|
||||
|
Loading…
Reference in New Issue
Block a user