@@ -65,14 +65,14 @@ class _DashboardPageState extends State<DashboardPage> {
6565
6666 final summaryCards = [
6767 _SummaryCard (
68- icon: Icons .article_outlined ,
69- title: l10n.totalHeadlines ,
70- value: summary.headlineCount .toString (),
68+ icon: Icons .category_outlined ,
69+ title: l10n.totalTopics ,
70+ value: summary.topicCount .toString (),
7171 ),
7272 _SummaryCard (
7373 icon: Icons .category_outlined,
74- title: l10n.totalCategories ,
75- value: summary.categoryCount .toString (),
74+ title: l10n.totalTopics ,
75+ value: summary.topicCount .toString (),
7676 ),
7777 _SummaryCard (
7878 icon: Icons .source_outlined,
@@ -116,7 +116,7 @@ class _DashboardPageState extends State<DashboardPage> {
116116 Column (
117117 children: [
118118 _SystemStatusCard (
119- status : appConfig.appOperationalStatus ,
119+ appStatus : appConfig.appStatus ,
120120 ),
121121 const SizedBox (height: AppSpacing .lg),
122122 const _QuickActionsCard (),
@@ -157,16 +157,16 @@ class _DashboardPageState extends State<DashboardPage> {
157157
158158/// A card to display the current operational status of the application.
159159class _SystemStatusCard extends StatelessWidget {
160- const _SystemStatusCard ({required this .status });
160+ const _SystemStatusCard ({required this .appStatus });
161161
162- final RemoteAppStatus status ;
162+ final AppStatus appStatus ;
163163
164164 @override
165165 Widget build (BuildContext context) {
166166 final l10n = context.l10n;
167167 final theme = Theme .of (context);
168168
169- final (icon, color, text) = _getStatusDetails (status , l10n, theme);
169+ final (icon, color, text) = _getStatusDetails (appStatus , l10n, theme);
170170
171171 return Card (
172172 child: Padding (
@@ -194,29 +194,28 @@ class _SystemStatusCard extends StatelessWidget {
194194
195195 /// Returns the appropriate icon, color, and text for a given status.
196196 (IconData , Color , String ) _getStatusDetails (
197- RemoteAppStatus status ,
197+ AppStatus appStatus ,
198198 AppLocalizations l10n,
199199 ThemeData theme,
200200 ) {
201- switch (status) {
202- case RemoteAppStatus .active:
203- return (
204- Icons .check_circle_outline,
205- theme.colorScheme.primary,
206- l10n.appStatusActive,
207- );
208- case RemoteAppStatus .maintenance:
209- return (
210- Icons .warning_amber_outlined,
211- theme.colorScheme.tertiary,
212- l10n.appStatusMaintenance,
213- );
214- case RemoteAppStatus .disabled:
215- return (
216- Icons .cancel_outlined,
217- theme.colorScheme.error,
218- l10n.appStatusDisabled,
219- );
201+ if (appStatus.isUnderMaintenance) {
202+ return (
203+ Icons .warning_amber_outlined,
204+ theme.colorScheme.tertiary,
205+ l10n.appStatusMaintenance,
206+ );
207+ } else if (appStatus.isLatestVersionOnly) {
208+ return (
209+ Icons .cancel_outlined,
210+ theme.colorScheme.error,
211+ l10n.appStatusDisabled,
212+ );
213+ } else {
214+ return (
215+ Icons .check_circle_outline,
216+ theme.colorScheme.primary,
217+ l10n.appStatusActive,
218+ );
220219 }
221220 }
222221}
@@ -246,8 +245,8 @@ class _QuickActionsCard extends StatelessWidget {
246245 const SizedBox (height: AppSpacing .sm),
247246 OutlinedButton .icon (
248247 icon: const Icon (Icons .create_new_folder_outlined),
249- label: Text (l10n.createCategory ),
250- onPressed: () => context.goNamed (Routes .createCategoryName ),
248+ label: Text (l10n.createTopic ),
249+ onPressed: () => context.goNamed (Routes .createTopicName ),
251250 ),
252251 const SizedBox (height: AppSpacing .sm),
253252 OutlinedButton .icon (
0 commit comments