fix(ui): fix centerTitle for ThreadHeader

This commit is contained in:
Salvatore Giordano
2022-04-27 10:51:00 +02:00
parent cfad4bfc87
commit 681cee09f5
@@ -115,6 +115,7 @@ class ThreadHeader extends StatelessWidget implements PreferredSizeWidget {
@override
Widget build(BuildContext context) {
final effectiveCenterTitle = _getEffectiveCenterTitle(Theme.of(context));
final channelHeaderTheme = ChannelHeaderTheme.of(context);
final defaultSubtitle = subtitle ??
@@ -161,6 +162,9 @@ class ThreadHeader extends StatelessWidget implements PreferredSizeWidget {
width: 250,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: effectiveCenterTitle
? CrossAxisAlignment.center
: CrossAxisAlignment.stretch,
children: [
title ??
Text(
@@ -187,4 +191,21 @@ class ThreadHeader extends StatelessWidget implements PreferredSizeWidget {
@override
final Size preferredSize;
bool _getEffectiveCenterTitle(ThemeData theme) {
if (centerTitle != null) return centerTitle!;
if (theme.appBarTheme.centerTitle != null) {
return theme.appBarTheme.centerTitle!;
}
switch (theme.platform) {
case TargetPlatform.android:
case TargetPlatform.fuchsia:
case TargetPlatform.linux:
case TargetPlatform.windows:
return false;
case TargetPlatform.iOS:
case TargetPlatform.macOS:
return actions == null || actions!.length < 2;
}
}
}