chore: more onboarding tweaks (#5499)

This commit is contained in:
ggurdin 2026-01-28 15:31:58 -05:00 committed by GitHub
parent c455c37f23
commit 8c7d64c0cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 26 additions and 8 deletions

View file

@ -2050,9 +2050,6 @@ class ChatController extends State<ChatPageWithRoom>
if (!InstructionsEnum.clickMessage.isToggledOff) {
InstructionsEnum.clickMessage.setToggledOff(true);
}
if (!InstructionsEnum.shimmerNewToken.isToggledOff) {
InstructionsEnum.shimmerNewToken.setToggledOff(true);
}
if (!kIsWeb) {
HapticFeedback.mediumImpact();

View file

@ -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;

View file

@ -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,

View file

@ -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<LanguageSelectionPage> {
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<LanguageSelectionPage> {
child: Container(
padding: const EdgeInsets.all(20.0),
constraints: const BoxConstraints(
maxWidth: 450,
maxWidth: 500,
),
child: Column(
spacing: 24.0,

View file

@ -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,