Skip to content

Commit 07002f8

Browse files
committed
NOMERGE read_receipts [nfc]: Inline _ReadReceiptsUserList
1 parent b162192 commit 07002f8

File tree

1 file changed

+19
-30
lines changed

1 file changed

+19
-30
lines changed

lib/widgets/read_receipts.dart

Lines changed: 19 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,33 @@ class _ReadReceiptsState extends State<ReadReceipts> with PerAccountStoreAwareSt
8080

8181
@override
8282
Widget build(BuildContext context) {
83+
final zulipLocalizations = ZulipLocalizations.of(context);
8384
// TODO could pull out this layout/appearance code,
8485
// focusing this widget only on state management
8586

87+
final content = switch (status) {
88+
FetchStatus.loading => BottomSheetEmptyContentPlaceholder(loading: true),
89+
FetchStatus.error => BottomSheetEmptyContentPlaceholder(
90+
message: zulipLocalizations.actionSheetReadReceiptsErrorReadCount),
91+
FetchStatus.success => userIds.isEmpty
92+
? BottomSheetEmptyContentPlaceholder(
93+
message: zulipLocalizations.actionSheetReadReceiptsZeroReadCount)
94+
: InsetShadowBox(
95+
top: 8, bottom: 8,
96+
color: DesignVariables.of(context).bgContextMenu,
97+
child: ListView.builder(
98+
padding: EdgeInsets.symmetric(vertical: 8),
99+
itemCount: userIds.length,
100+
itemBuilder: (context, index) =>
101+
ReadReceiptsUserItem(userId: userIds[index])))
102+
};
103+
86104
return SizedBox(
87105
height: 500, // TODO(design) tune
88106
child: Column(
89107
children: [
90108
_ReadReceiptsHeader(receiptCount: userIds.length, status: status),
91-
Expanded(child: _ReadReceiptsUserList(userIds: userIds, status: status)),
109+
Expanded(child: content),
92110
Padding(
93111
padding: const EdgeInsets.symmetric(horizontal: 16),
94112
child: const BottomSheetDismissButton(style: BottomSheetDismissButtonStyle.close))
@@ -129,35 +147,6 @@ class _ReadReceiptsHeader extends StatelessWidget {
129147
}
130148
}
131149

132-
class _ReadReceiptsUserList extends StatelessWidget {
133-
const _ReadReceiptsUserList({required this.userIds, required this.status});
134-
135-
final List<int> userIds;
136-
final FetchStatus status;
137-
138-
@override
139-
Widget build(BuildContext context) {
140-
final zulipLocalizations = ZulipLocalizations.of(context);
141-
142-
return switch(status) {
143-
FetchStatus.loading => BottomSheetEmptyContentPlaceholder(loading: true),
144-
FetchStatus.error => BottomSheetEmptyContentPlaceholder(
145-
message: zulipLocalizations.actionSheetReadReceiptsErrorReadCount),
146-
FetchStatus.success => userIds.isEmpty
147-
? BottomSheetEmptyContentPlaceholder(
148-
message: zulipLocalizations.actionSheetReadReceiptsZeroReadCount)
149-
: InsetShadowBox(
150-
top: 8, bottom: 8,
151-
color: DesignVariables.of(context).bgContextMenu,
152-
child: ListView.builder(
153-
padding: EdgeInsets.symmetric(vertical: 8),
154-
itemCount: userIds.length,
155-
itemBuilder: (context, index) =>
156-
ReadReceiptsUserItem(userId: userIds[index])))
157-
};
158-
}
159-
}
160-
161150
// TODO: deduplicate the code with [ViewReactionsUserItem]
162151
@visibleForTesting
163152
class ReadReceiptsUserItem extends StatelessWidget {

0 commit comments

Comments
 (0)