From f9064735e928424f36d165e68dd885355471b818 Mon Sep 17 00:00:00 2001 From: Strycher Date: Mon, 10 Aug 2026 14:08:37 -0400 Subject: [PATCH] fix(#553): make the Build value part of the 7-tap target The build stamp rendered as SelectableText, which ate taps for selection, so only the plain 'Build' label triggered the unlock. When a row is tappable it now uses a plain Text so the whole row (label + value) is one InkWell target; copy stays on the button. Part of #509/#553. Agent: QuietSnow (session 31eaba02) --- lib/screens/settings_screen.dart | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 93ead98..ee34dbd 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -954,13 +954,25 @@ class _SettingsScreenState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( - child: SelectableText( - value, - style: theme.textTheme.bodyLarge?.copyWith( - color: valueColor, - fontWeight: FontWeight.w500, - ), - ), + // When the row is tappable, use a plain Text so the value is + // part of the InkWell tap target (a SelectableText would eat + // the tap for selection). Copy is still available via the + // button. (#553) + child: onTap != null + ? Text( + value, + style: theme.textTheme.bodyLarge?.copyWith( + color: valueColor, + fontWeight: FontWeight.w500, + ), + ) + : SelectableText( + value, + style: theme.textTheme.bodyLarge?.copyWith( + color: valueColor, + fontWeight: FontWeight.w500, + ), + ), ), IconButton( icon: const Icon(Icons.copy, size: 18),