Skip to content

Commit b233ee9

Browse files
committed
compose [nfc]: Shorten {topic,content}Controller to just {topic,content}
1 parent 1e45ca2 commit b233ee9

File tree

4 files changed

+36
-36
lines changed

4 files changed

+36
-36
lines changed

lib/widgets/action_sheet.dart

+4-4
Original file line numberDiff line numberDiff line change
@@ -334,15 +334,15 @@ class QuoteAndReplyButton extends MessageActionSheetMenuItemButton {
334334
if (composeBoxController == null) return;
335335
if (
336336
composeBoxController is StreamComposeBoxController
337-
&& composeBoxController.topicController.textNormalized == kNoTopicTopic
337+
&& composeBoxController.topic.textNormalized == kNoTopicTopic
338338
&& message is StreamMessage
339339
) {
340-
composeBoxController.topicController.value = TextEditingValue(text: message.topic);
340+
composeBoxController.topic.value = TextEditingValue(text: message.topic);
341341
}
342342

343343
// This inserts a "[Quoting…]" placeholder into the content input,
344344
// giving the user a form of progress feedback.
345-
final tag = composeBoxController.contentController
345+
final tag = composeBoxController.content
346346
.registerQuoteAndReplyStart(PerAccountStoreWidget.of(pageContext),
347347
message: message,
348348
);
@@ -360,7 +360,7 @@ class QuoteAndReplyButton extends MessageActionSheetMenuItemButton {
360360
// posting permission or when a DM recipient becomes deactivated.
361361
composeBoxController = findMessageListPage().composeBoxController;
362362
if (composeBoxController == null) return;
363-
composeBoxController.contentController
363+
composeBoxController.content
364364
.registerQuoteAndReplyEnd(PerAccountStoreWidget.of(pageContext), tag,
365365
message: message,
366366
rawContent: rawContent,

lib/widgets/compose_box.dart

+18-18
Original file line numberDiff line numberDiff line change
@@ -1100,29 +1100,29 @@ class _ComposeBoxLayout extends StatelessWidget {
11001100
}
11011101

11021102
sealed class ComposeBoxController {
1103-
ComposeContentController get contentController => _contentController;
1104-
final _contentController = ComposeContentController();
1103+
ComposeContentController get content => _content;
1104+
final _content = ComposeContentController();
11051105

11061106
FocusNode get contentFocusNode => _contentFocusNode;
11071107
final _contentFocusNode = FocusNode();
11081108

11091109
@mustCallSuper
11101110
void dispose() {
1111-
_contentController.dispose();
1111+
_content.dispose();
11121112
_contentFocusNode.dispose();
11131113
}
11141114
}
11151115

11161116
class StreamComposeBoxController extends ComposeBoxController {
1117-
ComposeTopicController get topicController => _topicController;
1118-
final _topicController = ComposeTopicController();
1117+
ComposeTopicController get topic => _topic;
1118+
final _topic = ComposeTopicController();
11191119

11201120
FocusNode get topicFocusNode => _topicFocusNode;
11211121
final _topicFocusNode = FocusNode();
11221122

11231123
@override
11241124
void dispose() {
1125-
_topicController.dispose();
1125+
_topic.dispose();
11261126
_topicFocusNode.dispose();
11271127
super.dispose();
11281128
}
@@ -1157,29 +1157,29 @@ class _StreamComposeBoxState extends State<_StreamComposeBox> {
11571157
@override
11581158
Widget build(BuildContext context) {
11591159
final StreamComposeBoxController(
1160-
:topicController, :contentController, :topicFocusNode, :contentFocusNode,
1160+
:topic, :content, :topicFocusNode, :contentFocusNode,
11611161
) = controller;
11621162

11631163
return _ComposeBoxLayout(
1164-
contentController: contentController,
1164+
contentController: content,
11651165
contentFocusNode: contentFocusNode,
11661166
topicInput: _TopicInput(
11671167
streamId: widget.narrow.streamId,
1168-
controller: topicController,
1168+
controller: topic,
11691169
focusNode: topicFocusNode,
11701170
contentFocusNode: contentFocusNode,
11711171
),
11721172
contentInput: _StreamContentInput(
11731173
narrow: widget.narrow,
1174-
topicController: topicController,
1175-
controller: contentController,
1174+
topicController: topic,
1175+
controller: content,
11761176
focusNode: contentFocusNode,
11771177
),
11781178
sendButton: _SendButton(
1179-
topicController: topicController,
1180-
contentController: contentController,
1179+
topicController: topic,
1180+
contentController: content,
11811181
getDestination: () => StreamDestination(
1182-
widget.narrow.streamId, topicController.textNormalized),
1182+
widget.narrow.streamId, topic.textNormalized),
11831183
));
11841184
}
11851185
}
@@ -1227,21 +1227,21 @@ class _FixedDestinationComposeBoxState extends State<_FixedDestinationComposeBox
12271227
@override
12281228
Widget build(BuildContext context) {
12291229
final FixedDestinationComposeBoxController(
1230-
:contentController, :contentFocusNode,
1230+
:content, :contentFocusNode,
12311231
) = controller;
12321232

12331233
return _ComposeBoxLayout(
1234-
contentController: contentController,
1234+
contentController: content,
12351235
contentFocusNode: contentFocusNode,
12361236
topicInput: null,
12371237
contentInput: _FixedDestinationContentInput(
12381238
narrow: widget.narrow,
1239-
controller: contentController,
1239+
controller: content,
12401240
focusNode: contentFocusNode,
12411241
),
12421242
sendButton: _SendButton(
12431243
topicController: null,
1244-
contentController: contentController,
1244+
contentController: content,
12451245
getDestination: () => widget.narrow.destination,
12461246
));
12471247
}

test/widgets/action_sheet_test.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -284,12 +284,12 @@ void main() {
284284
await setupToMessageActionSheet(tester, message: message, narrow: ChannelNarrow(message.streamId));
285285

286286
final composeBoxController = findComposeBoxController(tester) as StreamComposeBoxController;
287-
final contentController = composeBoxController.contentController;
287+
final contentController = composeBoxController.content;
288288

289289
// Ensure channel-topics are loaded before testing quote & reply behavior
290290
connection.prepare(body:
291291
jsonEncode(GetStreamTopicsResult(topics: [eg.getStreamTopicsEntry()]).toJson()));
292-
final topicController = composeBoxController.topicController;
292+
final topicController = composeBoxController.topic;
293293
topicController.value = const TextEditingValue(text: kNoTopicTopic);
294294

295295
final valueBefore = contentController.value;
@@ -308,7 +308,7 @@ void main() {
308308
await setupToMessageActionSheet(tester, message: message, narrow: TopicNarrow.ofMessage(message));
309309

310310
final composeBoxController = findComposeBoxController(tester)!;
311-
final contentController = composeBoxController.contentController;
311+
final contentController = composeBoxController.content;
312312

313313
final valueBefore = contentController.value;
314314
prepareRawContentResponseSuccess(message: message, rawContent: 'Hello world');
@@ -344,7 +344,7 @@ void main() {
344344
message: message, narrow: DmNarrow.ofMessage(message, selfUserId: eg.selfUser.userId));
345345

346346
final composeBoxController = findComposeBoxController(tester)!;
347-
final contentController = composeBoxController.contentController;
347+
final contentController = composeBoxController.content;
348348

349349
final valueBefore = contentController.value;
350350
prepareRawContentResponseSuccess(message: message, rawContent: 'Hello world');
@@ -383,7 +383,7 @@ void main() {
383383
await setupToMessageActionSheet(tester, message: message, narrow: TopicNarrow.ofMessage(message));
384384

385385
final composeBoxController = findComposeBoxController(tester)!;
386-
final contentController = composeBoxController.contentController;
386+
final contentController = composeBoxController.content;
387387

388388
final valueBefore = contentController.value = TextEditingValue.empty;
389389
prepareRawContentResponseError();

test/widgets/compose_box_test.dart

+9-9
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ void main() {
201201
required bool expectTopicTextField,
202202
}) {
203203
if (expectTopicTextField) {
204-
final topicController = (controller as StreamComposeBoxController).topicController;
204+
final topicController = (controller as StreamComposeBoxController).topic;
205205
final topicTextField = tester.widgetList<TextField>(find.byWidgetPredicate(
206206
(widget) => widget is TextField && widget.controller == topicController
207207
)).singleOrNull;
@@ -214,7 +214,7 @@ void main() {
214214

215215
final contentTextField = tester.widget<TextField>(find.byWidgetPredicate(
216216
(widget) => widget is TextField
217-
&& widget.controller == controller!.contentController));
217+
&& widget.controller == controller!.content));
218218
check(contentTextField)
219219
.textCapitalization.equals(TextCapitalization.sentences);
220220
}
@@ -360,7 +360,7 @@ void main() {
360360
checkTypingRequest(TypingOp.stop, narrow);
361361

362362
connection.prepare(json: {});
363-
controller!.contentController.selection =
363+
controller!.content.selection =
364364
const TextSelection(baseOffset: 0, extentOffset: 2);
365365
checkTypingRequest(TypingOp.start, narrow);
366366

@@ -475,7 +475,7 @@ void main() {
475475
// (When we check that the send button looks disabled, it should be because
476476
// the file is uploading, not a pre-existing reason.)
477477
await enterTopic(tester, narrow: narrow, topic: 'some topic');
478-
controller!.contentController.value = const TextEditingValue(text: 'see image: ');
478+
controller!.content.value = const TextEditingValue(text: 'see image: ');
479479
await tester.pump();
480480
checkAppearsLoading(tester, false);
481481

@@ -499,7 +499,7 @@ void main() {
499499
final errorDialogs = tester.widgetList(find.byType(AlertDialog));
500500
check(errorDialogs).isEmpty();
501501

502-
check(controller!.contentController.text)
502+
check(controller!.content.text)
503503
.equals('see image: [Uploading image.jpg…]()\n\n');
504504
// (the request is checked more thoroughly in API tests)
505505
check(connection.lastRequest!).isA<http.MultipartRequest>()
@@ -515,7 +515,7 @@ void main() {
515515
checkAppearsLoading(tester, true);
516516

517517
await tester.pump(const Duration(seconds: 1));
518-
check(controller!.contentController.text)
518+
check(controller!.content.text)
519519
.equals('see image: [image.jpg](/user_uploads/1/4e/m2A3MSqFnWRLUf9SaPzQ0Up_/image.jpg)\n\n');
520520
checkAppearsLoading(tester, false);
521521
});
@@ -535,7 +535,7 @@ void main() {
535535
// (When we check that the send button looks disabled, it should be because
536536
// the file is uploading, not a pre-existing reason.)
537537
await enterTopic(tester, narrow: narrow, topic: 'some topic');
538-
controller!.contentController.value = const TextEditingValue(text: 'see image: ');
538+
controller!.content.value = const TextEditingValue(text: 'see image: ');
539539
await tester.pump();
540540
checkAppearsLoading(tester, false);
541541

@@ -559,7 +559,7 @@ void main() {
559559
final errorDialogs = tester.widgetList(find.byType(AlertDialog));
560560
check(errorDialogs).isEmpty();
561561

562-
check(controller!.contentController.text)
562+
check(controller!.content.text)
563563
.equals('see image: [Uploading image.jpg…]()\n\n');
564564
// (the request is checked more thoroughly in API tests)
565565
check(connection.lastRequest!).isA<http.MultipartRequest>()
@@ -575,7 +575,7 @@ void main() {
575575
checkAppearsLoading(tester, true);
576576

577577
await tester.pump(const Duration(seconds: 1));
578-
check(controller!.contentController.text)
578+
check(controller!.content.text)
579579
.equals('see image: [image.jpg](/user_uploads/1/4e/m2A3MSqFnWRLUf9SaPzQ0Up_/image.jpg)\n\n');
580580
checkAppearsLoading(tester, false);
581581
});

0 commit comments

Comments
 (0)