1+ import 'dart:math' as math;
2+
13import 'package:collection/collection.dart' ;
24import 'package:flutter/material.dart' ;
35import 'package:flutter_bloc/flutter_bloc.dart' ;
@@ -12,6 +14,7 @@ import 'package:tsdm_client/features/authentication/repository/authentication_re
1214import 'package:tsdm_client/features/forum/models/models.dart' ;
1315import 'package:tsdm_client/features/jump_page/cubit/jump_page_cubit.dart' ;
1416import 'package:tsdm_client/features/need_login/view/need_login_page.dart' ;
17+ import 'package:tsdm_client/features/settings/bloc/settings_bloc.dart' ;
1518import 'package:tsdm_client/features/settings/repositories/settings_repository.dart' ;
1619import 'package:tsdm_client/features/thread/v1/bloc/thread_bloc.dart' ;
1720import 'package:tsdm_client/features/thread/v1/repository/thread_repository.dart' ;
@@ -125,7 +128,7 @@ class _ThreadPageState extends State<ThreadPage> with SingleTickerProviderStateM
125128
126129 final _replyBarController = ReplyBarController ();
127130
128- Widget _buildBreadcrumbsRow (ThreadState state) {
131+ Widget _buildBreadcrumbsRow (ThreadState state, double extraHeight ) {
129132 final infoTextStyle = Theme .of (
130133 context,
131134 ).textTheme.labelLarge? .copyWith (color: Theme .of (context).colorScheme.outline);
@@ -165,7 +168,7 @@ class _ThreadPageState extends State<ThreadPage> with SingleTickerProviderStateM
165168 child: DefaultTextStyle .merge (
166169 style: infoTextStyle,
167170 child: SizedBox (
168- height: 20 ,
171+ height: 20 + extraHeight ,
169172 child: ListView (
170173 scrollDirection: Axis .horizontal,
171174 reverse: true ,
@@ -398,6 +401,9 @@ class _ThreadPageState extends State<ThreadPage> with SingleTickerProviderStateM
398401 builder: (context, state) {
399402 // Update jump page state.
400403 context.read <JumpPageCubit >().setPageInfo (totalPages: state.totalPages, currentPage: state.currentPage);
404+ final textScaleExtraBreadHeight = context.select <SettingsBloc , double >(
405+ (bloc) => 1 * math.max (0 , (bloc.state.settingsMap.textScaleFactor - 1 ) / 0.1 ),
406+ );
401407
402408 final title = widget.title ?? state.title;
403409 // Reset jump page state when every build.
@@ -425,7 +431,10 @@ class _ThreadPageState extends State<ThreadPage> with SingleTickerProviderStateM
425431 resizeToAvoidBottomInset: false ,
426432 appBar: ListAppBar (
427433 title: title,
428- bottom: PreferredSize (preferredSize: const Size .fromHeight (20 ), child: _buildBreadcrumbsRow (state)),
434+ bottom: PreferredSize (
435+ preferredSize: Size .fromHeight (20 + textScaleExtraBreadHeight),
436+ child: _buildBreadcrumbsRow (state, textScaleExtraBreadHeight),
437+ ),
429438 showReverseOrderAction: true ,
430439 onJumpPage: (pageNumber) async {
431440 if (! mounted) {
0 commit comments