@@ -314,23 +314,33 @@ class MessageListAppBarTitle extends StatelessWidget {
314
314
315
315
Widget _buildStreamRow (BuildContext context, {
316
316
ZulipStream ? stream,
317
- required String text,
318
317
}) {
319
- // A null [Icon.icon] makes a blank space.
320
- final icon = (stream != null ) ? iconDataForStream (stream) : null ;
318
+ final icon = (stream == null ) ? ZulipIcons .hash_sign : iconDataForStream (stream);
321
319
return Row (
322
320
mainAxisSize: MainAxisSize .min,
323
321
// TODO(design): The vertical alignment of the stream privacy icon is a bit ad hoc.
324
322
// For screenshots of some experiments, see:
325
323
// https://github.com/zulip/zulip-flutter/pull/219#discussion_r1281024746
326
324
crossAxisAlignment: CrossAxisAlignment .center,
327
325
children: [
328
- Icon (size: 16 , icon),
329
- const SizedBox (width: 4 ),
330
- Flexible (child: Text (text)),
326
+ Padding (padding: const EdgeInsetsDirectional .only (end: 8.0 ),
327
+ child: Icon (size: 20 , icon)),
328
+ Flexible (child: Text (stream? .name ?? '(unknown stream)' ,
329
+ style: const TextStyle (
330
+ fontSize: 20 ,
331
+ ).merge (weightVariableTextStyle (context)))),
331
332
]);
332
333
}
333
334
335
+ Widget _buildTopicRow (BuildContext context, {
336
+ required ZulipStream ? stream,
337
+ required String topic,
338
+ }) {
339
+ return Text (topic, style: const TextStyle (
340
+ fontSize: 13 ,
341
+ ).merge (weightVariableTextStyle (context)));
342
+ }
343
+
334
344
@override
335
345
Widget build (BuildContext context) {
336
346
final zulipLocalizations = ZulipLocalizations .of (context);
@@ -348,14 +358,17 @@ class MessageListAppBarTitle extends StatelessWidget {
348
358
case ChannelNarrow (: var streamId):
349
359
final store = PerAccountStoreWidget .of (context);
350
360
final stream = store.streams[streamId];
351
- final streamName = stream? .name ?? '(unknown channel)' ;
352
- return _buildStreamRow (context, stream: stream, text: streamName);
361
+ return _buildStreamRow (context, stream: stream);
353
362
354
363
case TopicNarrow (: var streamId, : var topic):
355
364
final store = PerAccountStoreWidget .of (context);
356
365
final stream = store.streams[streamId];
357
- final streamName = stream? .name ?? '(unknown channel)' ;
358
- return _buildStreamRow (context, stream: stream, text: "$streamName > $topic " );
366
+ return Column (
367
+ crossAxisAlignment: CrossAxisAlignment .start,
368
+ children: [
369
+ _buildStreamRow (context, stream: stream),
370
+ _buildTopicRow (context, stream: stream, topic: topic),
371
+ ]);
359
372
360
373
case DmNarrow (: var otherRecipientIds):
361
374
final store = PerAccountStoreWidget .of (context);
0 commit comments