fix theme updating desktop appbar children

This commit is contained in:
julian 2022-12-05 16:41:46 -06:00
parent 4593f7a0dc
commit 820efa4d8b

View file

@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
const double kDesktopAppBarHeight = 96.0; const double kDesktopAppBarHeight = 96.0;
const double kDesktopAppBarHeightCompact = 82.0; const double kDesktopAppBarHeightCompact = 82.0;
class DesktopAppBar extends StatefulWidget { class DesktopAppBar extends StatelessWidget {
const DesktopAppBar({ const DesktopAppBar({
Key? key, Key? key,
this.leading, this.leading,
@ -22,46 +22,33 @@ class DesktopAppBar extends StatefulWidget {
final bool useSpacers; final bool useSpacers;
@override @override
State<DesktopAppBar> createState() => _DesktopAppBarState(); Widget build(BuildContext context) {
} final List<Widget> items = [];
if (leading != null) {
class _DesktopAppBarState extends State<DesktopAppBar> { items.add(leading!);
late final List<Widget> items;
@override
void initState() {
items = [];
if (widget.leading != null) {
items.add(widget.leading!);
} }
if (widget.useSpacers) { if (useSpacers) {
items.add(const Spacer()); items.add(const Spacer());
} }
if (widget.center != null) { if (center != null) {
items.add(widget.center!); items.add(center!);
if (widget.useSpacers) { if (useSpacers) {
items.add(const Spacer()); items.add(const Spacer());
} }
} }
if (widget.trailing != null) { if (trailing != null) {
items.add(widget.trailing!); items.add(trailing!);
} }
super.initState();
}
@override
Widget build(BuildContext context) {
return Container( return Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: widget.background, color: background,
), ),
height: widget.isCompactHeight height:
? kDesktopAppBarHeightCompact isCompactHeight ? kDesktopAppBarHeightCompact : kDesktopAppBarHeight,
: kDesktopAppBarHeight,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,