From 5e267b7ff03de12b40631154c1af2cc99fba2be2 Mon Sep 17 00:00:00 2001 From: Nutcake Date: Mon, 15 May 2023 11:46:31 +0200 Subject: [PATCH] Improve text formatting with extreme size values and fix session header not getting formatted --- lib/string_formatter.dart | 5 +++-- lib/widgets/messages/messages_session_header.dart | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/string_formatter.dart b/lib/string_formatter.dart index 814e7f9..55c54d9 100644 --- a/lib/string_formatter.dart +++ b/lib/string_formatter.dart @@ -166,15 +166,16 @@ class FormatData { "size": FormatAction( style: (param, baseStyle) { if (param == null) return baseStyle; + final baseSize = baseStyle.fontSize ?? 12; if (param.endsWith("%")) { final percentage = int.tryParse(param.replaceAll("%", "")); if (percentage == null || percentage <= 0) return baseStyle; - final baseSize = baseStyle.fontSize ?? 12; return baseStyle.copyWith(fontSize: baseSize * (percentage / 100)); } else { final size = num.tryParse(param); if (size == null || size <= 0) return baseStyle; - return baseStyle.copyWith(fontSize: size.toDouble()); + final realSize = baseSize * (size / 1000); + return baseStyle.copyWith(fontSize: realSize.toDouble().clamp(8, 400)); } } ), diff --git a/lib/widgets/messages/messages_session_header.dart b/lib/widgets/messages/messages_session_header.dart index de830d4..862687a 100644 --- a/lib/widgets/messages/messages_session_header.dart +++ b/lib/widgets/messages/messages_session_header.dart @@ -131,7 +131,7 @@ class SessionTile extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(session.name), + FormattedText(session.formattedName), Text("${session.sessionUsers.length}/${session.maxUsers} active users") ], ),