@@ -1321,10 +1321,9 @@ class StreamComposeBoxController extends ComposeBoxController {
1321
1321
class FixedDestinationComposeBoxController extends ComposeBoxController {}
1322
1322
1323
1323
abstract class _Banner extends StatelessWidget {
1324
- const _Banner ({required this .label});
1325
-
1326
- final String label;
1324
+ const _Banner ();
1327
1325
1326
+ String getLabel (ZulipLocalizations zulipLocalizations);
1328
1327
Color getLabelColor (DesignVariables designVariables);
1329
1328
Color getBackgroundColor (DesignVariables designVariables);
1330
1329
@@ -1342,6 +1341,7 @@ abstract class _Banner extends StatelessWidget {
1342
1341
1343
1342
@override
1344
1343
Widget build (BuildContext context) {
1344
+ final zulipLocalizations = ZulipLocalizations .of (context);
1345
1345
final designVariables = DesignVariables .of (context);
1346
1346
final labelTextStyle = TextStyle (
1347
1347
fontSize: 17 ,
@@ -1365,7 +1365,7 @@ abstract class _Banner extends StatelessWidget {
1365
1365
child: Padding (
1366
1366
padding: const EdgeInsets .symmetric (vertical: 4 ),
1367
1367
child: Text (style: labelTextStyle,
1368
- label ))),
1368
+ getLabel (zulipLocalizations) ))),
1369
1369
if (trailing != null ) ...[
1370
1370
const SizedBox (width: 8 ),
1371
1371
trailing,
@@ -1375,7 +1375,14 @@ abstract class _Banner extends StatelessWidget {
1375
1375
}
1376
1376
1377
1377
class _ErrorBanner extends _Banner {
1378
- const _ErrorBanner ({required super .label});
1378
+ const _ErrorBanner ({
1379
+ required String Function (ZulipLocalizations ) getLabel,
1380
+ }) : _getLabel = getLabel;
1381
+
1382
+ @override
1383
+ String getLabel (ZulipLocalizations zulipLocalizations) =>
1384
+ _getLabel (zulipLocalizations);
1385
+ final String Function (ZulipLocalizations ) _getLabel;
1379
1386
1380
1387
@override
1381
1388
Color getLabelColor (DesignVariables designVariables) =>
@@ -1466,16 +1473,16 @@ class _ComposeBoxState extends State<ComposeBox> with PerAccountStoreAwareStateM
1466
1473
final channel = store.streams[streamId];
1467
1474
if (channel == null || ! store.hasPostingPermission (inChannel: channel,
1468
1475
user: store.selfUser, byDate: DateTime .now ())) {
1469
- return _ErrorBanner (label :
1470
- ZulipLocalizations . of (context) .errorBannerCannotPostInChannelLabel);
1476
+ return _ErrorBanner (getLabel : (zulipLocalizations) =>
1477
+ zulipLocalizations .errorBannerCannotPostInChannelLabel);
1471
1478
}
1472
1479
1473
1480
case DmNarrow (: final otherRecipientIds):
1474
1481
final hasDeactivatedUser = otherRecipientIds.any ((id) =>
1475
1482
! (store.getUser (id)? .isActive ?? true ));
1476
1483
if (hasDeactivatedUser) {
1477
- return _ErrorBanner (label :
1478
- ZulipLocalizations . of (context) .errorBannerDeactivatedDmLabel);
1484
+ return _ErrorBanner (getLabel : (zulipLocalizations) =>
1485
+ zulipLocalizations .errorBannerDeactivatedDmLabel);
1479
1486
}
1480
1487
1481
1488
case CombinedFeedNarrow ():
0 commit comments