From 6dec201c228da91ed6a3b4eac1fdc0b0b28752f0 Mon Sep 17 00:00:00 2001 From: ghost <49853598+JSONbored@users.noreply.github.com> Date: Tue, 16 Jun 2026 00:37:55 -0700 Subject: [PATCH] feat(mobile): normalize dashboard text weight to DS Medium (500) (#2344) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Migrate the dashboard text tier off the off-convention bold (700) and semibold (600) to the design-system Medium (500): 14 weight-only sites across 5 files — net-worth headline + breakdown modal + asset/liability filter balances, account-card name + balance, collapsible-type section header + count badge, the stale "Outdated" badge, and the recent + list transaction names + amounts. The web DS uses font-medium/500 for emphasis (essentially no bold or semibold), so this lands one uniform Medium tier and removes the inverted hierarchy where a money amount rendered lighter than its own label. Sizes, colors, and structure are untouched (zero layout shift); money keeps SureMoney.tabular and semantic color. The swipe "Undo" button affordance (w600 + hardcoded color) is intentionally left for a future button-primitive slice. Part of #2235. --- mobile/lib/screens/dashboard_screen.dart | 4 ++-- mobile/lib/screens/recent_transactions_screen.dart | 2 +- mobile/lib/screens/transactions_list_screen.dart | 4 ++-- mobile/lib/widgets/account_card.dart | 4 ++-- mobile/lib/widgets/net_worth_card.dart | 14 +++++++------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/mobile/lib/screens/dashboard_screen.dart b/mobile/lib/screens/dashboard_screen.dart index b42c75ec8..3fec86006 100644 --- a/mobile/lib/screens/dashboard_screen.dart +++ b/mobile/lib/screens/dashboard_screen.dart @@ -710,7 +710,7 @@ class _CollapsibleTypeHeader extends StatelessWidget { Text( title, style: Theme.of(context).textTheme.titleSmall?.copyWith( - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ), ), const SizedBox(width: 8), @@ -724,7 +724,7 @@ class _CollapsibleTypeHeader extends StatelessWidget { count.toString(), style: TextStyle( color: colorScheme.onPrimaryContainer, - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, fontSize: 11, ), ), diff --git a/mobile/lib/screens/recent_transactions_screen.dart b/mobile/lib/screens/recent_transactions_screen.dart index ccf7a2768..0dd7518dd 100644 --- a/mobile/lib/screens/recent_transactions_screen.dart +++ b/mobile/lib/screens/recent_transactions_screen.dart @@ -274,7 +274,7 @@ class _RecentTransactionsScreenState extends State { : '$sign${transaction.currency} ${_formatAmount(amount.abs())}', trend: moneyTrend, style: const TextStyle( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, fontSize: 16, ), ), diff --git a/mobile/lib/screens/transactions_list_screen.dart b/mobile/lib/screens/transactions_list_screen.dart index 3bdca2e8c..010f974eb 100644 --- a/mobile/lib/screens/transactions_list_screen.dart +++ b/mobile/lib/screens/transactions_list_screen.dart @@ -564,7 +564,7 @@ class _TransactionsListScreenState extends State { child: Text( transaction.name, style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ), overflow: TextOverflow.ellipsis, ), @@ -664,7 +664,7 @@ class _TransactionsListScreenState extends State { trend: displayInfo['trend'] as MoneyTrend, overflow: TextOverflow.ellipsis, style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), ), diff --git a/mobile/lib/widgets/account_card.dart b/mobile/lib/widgets/account_card.dart index 7e45adc33..8c4a05f78 100644 --- a/mobile/lib/widgets/account_card.dart +++ b/mobile/lib/widgets/account_card.dart @@ -89,7 +89,7 @@ class AccountCard extends StatelessWidget { Text( account.name, style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ), maxLines: 1, overflow: TextOverflow.ellipsis, @@ -113,7 +113,7 @@ class AccountCard extends StatelessWidget { account.balance, style: SureMoney.tabular( Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, color: account.isLiability ? SureColors.of(context).palette.destructive : null, diff --git a/mobile/lib/widgets/net_worth_card.dart b/mobile/lib/widgets/net_worth_card.dart index 2de81de89..a4c409dd3 100644 --- a/mobile/lib/widgets/net_worth_card.dart +++ b/mobile/lib/widgets/net_worth_card.dart @@ -68,7 +68,7 @@ class NetWorthCard extends StatelessWidget { 'Outdated', style: Theme.of(context).textTheme.labelSmall?.copyWith( color: colorScheme.secondary, - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ), ), ), @@ -80,7 +80,7 @@ class NetWorthCard extends StatelessWidget { netWorthFormatted ?? '--', style: SureMoney.tabular( Theme.of(context).textTheme.headlineSmall?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, color: isStale ? colorScheme.secondary : colorScheme.onSurface, @@ -209,7 +209,7 @@ class NetWorthCard extends StatelessWidget { Text( title, style: Theme.of(context).textTheme.titleLarge?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, color: color, ), ), @@ -241,7 +241,7 @@ class NetWorthCard extends StatelessWidget { Text( formatAmount(entry.key, entry.value), style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, ), ), ], @@ -303,7 +303,7 @@ class _FilterButton extends StatelessWidget { child: Text( '--', style: Theme.of(context).textTheme.titleLarge?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, color: colorScheme.onSurface, ), ), @@ -314,7 +314,7 @@ class _FilterButton extends StatelessWidget { formatAmount(sortedEntries.first.key, sortedEntries.first.value), style: SureMoney.tabular( Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, color: colorScheme.onSurface, ), ), @@ -336,7 +336,7 @@ class _FilterButton extends StatelessWidget { formatAmount(entry.key, entry.value), style: SureMoney.tabular( Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, color: colorScheme.onSurface, ), ),