From 728804e97194df995b38ec63e299d8e54bea9c6c Mon Sep 17 00:00:00 2001 From: Mikkeli Date: Wed, 14 Oct 2026 00:26:39 +0900 Subject: [PATCH] =?UTF-8?q?Dash:=20indicator=20telltales=20as=20Material?= =?UTF-8?q?=20triangle=20icons=20(=E2=97=80=E2=96=B6=20stay=20emoji=20on?= =?UTF-8?q?=20Android=20even=20with=20U+FE0E)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz --- lib/dash.dart | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/dash.dart b/lib/dash.dart index a75bcc1..34f66da 100644 --- a/lib/dash.dart +++ b/lib/dash.dart @@ -140,11 +140,13 @@ class DashPage extends StatelessWidget { isWarning: () => (coolant.number ?? 0) > 105, ), Telltale( - label: '◀\uFE0E', + label: 'LEFT', + icon: Icons.arrow_left, reading: r('indicator_left'), ), Telltale( - label: '▶\uFE0E', + label: 'RIGHT', + icon: Icons.arrow_right, reading: r('indicator_right'), ), Telltale( @@ -188,11 +190,15 @@ class Telltale extends StatelessWidget { super.key, required this.label, required this.reading, + this.icon, this.warn = false, this.flex = 1, }); final String label; + + /// Drawn instead of the label when set. Glyphs like ◀ ▶ come out as emoji on Android. + final IconData? icon; final Reading reading; final bool warn; final int flex; @@ -210,6 +216,16 @@ class Telltale extends StatelessWidget { child: LayoutBuilder( builder: (context, c) { final size = c.maxHeight * 0.3; + if (icon != null && !missing) { + return Center( + child: Icon( + icon, + size: c.maxHeight * 0.7, + color: color, + semanticLabel: label, + ), + ); + } return Center( child: Text( missing ? '—' : label,