Skip to content

Commit 0ff65c3

Browse files
committed
feat(headline_tile_image_top): add breaking news indicator
- Add localization support for breaking news prefix - Implement Text.rich for headline title to support breaking news indicator - Adjust maxLines from 2 to 3 for better readability
1 parent 54e38ef commit 0ff65c3

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

lib/shared/widgets/feed_core/headline_tile_image_top.dart

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:core/core.dart';
22
import 'package:flutter/material.dart';
3+
import 'package:flutter_news_app_mobile_client_full_source_code/l10n/l10n.dart';
34
import 'package:flutter_news_app_mobile_client_full_source_code/shared/widgets/feed_core/headline_source_row.dart';
45
import 'package:flutter_news_app_mobile_client_full_source_code/shared/widgets/feed_core/headline_tap_handler.dart';
56
import 'package:ui_kit/ui_kit.dart';
@@ -38,6 +39,7 @@ class HeadlineTileImageTop extends StatelessWidget {
3839
final theme = Theme.of(context);
3940
final textTheme = theme.textTheme;
4041
final colorScheme = theme.colorScheme;
42+
final l10n = AppLocalizationsX(context).l10n;
4143

4244
return Card(
4345
margin: const EdgeInsets.symmetric(
@@ -106,12 +108,24 @@ class HeadlineTileImageTop extends StatelessWidget {
106108
context,
107109
headline,
108110
),
109-
child: Text(
110-
headline.title,
111+
child: Text.rich(
112+
TextSpan(
113+
children: [
114+
if (headline.isBreaking)
115+
TextSpan(
116+
text: '${l10n.breakingNewsPrefix} - ',
117+
style: textTheme.titleMedium?.copyWith(
118+
fontWeight: FontWeight.w600,
119+
color: colorScheme.primary,
120+
),
121+
),
122+
TextSpan(text: headline.title),
123+
],
124+
),
111125
style: textTheme.titleMedium?.copyWith(
112126
fontWeight: FontWeight.w500,
113127
),
114-
maxLines: 2,
128+
maxLines: 3,
115129
overflow: TextOverflow.ellipsis,
116130
),
117131
),

0 commit comments

Comments
 (0)