From 8c7d64c0cc0e3cb395fb5e4292e6eea310cc6401 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Wed, 28 Jan 2026 15:31:58 -0500 Subject: [PATCH] chore: more onboarding tweaks (#5499) --- lib/pages/chat/chat.dart | 3 --- lib/pages/chat/events/html_message.dart | 4 +++- .../common/widgets/shrinkable_text.dart | 3 +++ .../login/pages/language_selection_page.dart | 19 +++++++++++++++---- lib/pangea/toolbar/token_rendering_mixin.dart | 5 +++++ 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index abf42cc51..53a791d19 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -2050,9 +2050,6 @@ class ChatController extends State if (!InstructionsEnum.clickMessage.isToggledOff) { InstructionsEnum.clickMessage.setToggledOff(true); } - if (!InstructionsEnum.shimmerNewToken.isToggledOff) { - InstructionsEnum.shimmerNewToken.setToggledOff(true); - } if (!kIsWeb) { HapticFeedback.mediumImpact(); diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart index b6d8da92a..d09a7b7dd 100644 --- a/lib/pages/chat/events/html_message.dart +++ b/lib/pages/chat/events/html_message.dart @@ -448,7 +448,9 @@ class HtmlMessage extends StatelessWidget { : false; final isNew = token != null && newTokens.contains(token.text); - final isFirstNewToken = isNew && newTokens.first == token.text; + final isFirstNewToken = isNew && + controller.buttonEventID == event.eventId && + newTokens.first == token.text; final showShimmer = !InstructionsEnum.shimmerNewToken.isToggledOff && isFirstNewToken; diff --git a/lib/pangea/common/widgets/shrinkable_text.dart b/lib/pangea/common/widgets/shrinkable_text.dart index 18968ec48..8a3177ed2 100644 --- a/lib/pangea/common/widgets/shrinkable_text.dart +++ b/lib/pangea/common/widgets/shrinkable_text.dart @@ -4,11 +4,13 @@ class ShrinkableText extends StatelessWidget { final String text; final double maxWidth; final TextStyle? style; + final Alignment? alignment; const ShrinkableText({ super.key, required this.text, required this.maxWidth, + this.alignment, this.style, }); @@ -18,6 +20,7 @@ class ShrinkableText extends StatelessWidget { builder: (context, constraints) { return Container( constraints: BoxConstraints(maxWidth: maxWidth), + alignment: alignment, child: FittedBox( fit: BoxFit.scaleDown, alignment: Alignment.centerLeft, diff --git a/lib/pangea/login/pages/language_selection_page.dart b/lib/pangea/login/pages/language_selection_page.dart index e86b55bbd..939af0d98 100644 --- a/lib/pangea/login/pages/language_selection_page.dart +++ b/lib/pangea/login/pages/language_selection_page.dart @@ -5,6 +5,7 @@ import 'package:go_router/go_router.dart'; import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/pangea/common/widgets/shimmer_background.dart'; +import 'package:fluffychat/pangea/common/widgets/shrinkable_text.dart'; import 'package:fluffychat/pangea/languages/language_model.dart'; import 'package:fluffychat/pangea/languages/language_service.dart'; import 'package:fluffychat/pangea/languages/p_language_store.dart'; @@ -105,15 +106,25 @@ class LanguageSelectionPageState extends State { appBar: AppBar( title: ConstrainedBox( constraints: const BoxConstraints( - maxWidth: 450, + maxWidth: 500, ), child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + spacing: 12.0, children: [ BackButton( onPressed: Navigator.of(context).pop, ), - Text(L10n.of(context).onboardingLanguagesTitle), + Expanded( + child: LayoutBuilder( + builder: (context, constraints) { + return ShrinkableText( + text: L10n.of(context).onboardingLanguagesTitle, + maxWidth: constraints.maxWidth, + alignment: Alignment.center, + ); + }, + ), + ), const SizedBox( width: 40.0, ), @@ -127,7 +138,7 @@ class LanguageSelectionPageState extends State { child: Container( padding: const EdgeInsets.all(20.0), constraints: const BoxConstraints( - maxWidth: 450, + maxWidth: 500, ), child: Column( spacing: 24.0, diff --git a/lib/pangea/toolbar/token_rendering_mixin.dart b/lib/pangea/toolbar/token_rendering_mixin.dart index 082a4e8f8..81da0912e 100644 --- a/lib/pangea/toolbar/token_rendering_mixin.dart +++ b/lib/pangea/toolbar/token_rendering_mixin.dart @@ -3,6 +3,7 @@ import 'package:fluffychat/pangea/analytics_misc/construct_type_enum.dart'; import 'package:fluffychat/pangea/analytics_misc/construct_use_type_enum.dart'; import 'package:fluffychat/pangea/analytics_misc/constructs_model.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; +import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; import 'package:fluffychat/pangea/toolbar/reading_assistance/tokens_util.dart'; mixin TokenRenderingMixin { @@ -15,6 +16,10 @@ mixin TokenRenderingMixin { String? eventId, }) async { TokensUtil.collectToken(cacheKey, token.text); + if (!InstructionsEnum.shimmerNewToken.isToggledOff) { + InstructionsEnum.shimmerNewToken.setToggledOff(true); + } + final constructs = [ OneConstructUse( useType: ConstructUseTypeEnum.click,