Skip to content

Commit 1003268

Browse files
committed
refactor(dashboard): improve dashboard UI
- Renamed "Headlines" to "Topics" - Updated system status display logic - Improved quick actions button labels - Replaced `RemoteAppStatus` with `AppStatus` - Updated icons for better clarity
1 parent 653ff60 commit 1003268

File tree

1 file changed

+30
-31
lines changed

1 file changed

+30
-31
lines changed

lib/dashboard/view/dashboard_page.dart

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
159159
class _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

Comments
 (0)