diff --git a/lib/state/widgets/components/error_bar.dart b/lib/state/widgets/components/error_bar.dart index 56875d1..af63231 100644 --- a/lib/state/widgets/components/error_bar.dart +++ b/lib/state/widgets/components/error_bar.dart @@ -13,42 +13,46 @@ class ErrorBar extends StatelessWidget { @override Widget build(BuildContext context) => ControllerProvider( create: (context) => ErrorBarController(), - child: (context) => AnimatedSwitcher( + child: (context) => AnimatedSize( duration: animationDuration, - transitionBuilder: (Widget child, Animation animation) => SlideTransition( - position: Tween( - begin: const Offset(0.0, -1.0), - end: Offset.zero, - ).animate(animation), - child: child, - ), - child: Visibility( - key: Key(visible.hashCode.toString()), - visible: visible, - child: Builder( - builder: (context) { - var controller = context.watchController(); - var status = controller.connectivityStatusKnown() && !controller.isConnected() - ? (icon: Icons.wifi_off_outlined, text: 'Offline', color: Colors.grey.shade600) - : (icon: Icons.wifi_find_outlined, text: 'Verbindung fehlgeschlagen', color: Theme.of(context).primaryColor); + child: AnimatedSwitcher( + duration: animationDuration, + transitionBuilder: (Widget child, Animation animation) => SlideTransition( + position: Tween( + begin: const Offset(0.0, -1.0), + end: Offset.zero, + ).animate(animation), + child: child, + ), + child: Visibility( + key: Key(visible.hashCode.toString()), + visible: visible, + replacement: const SizedBox(width: double.infinity), + child: Builder( + builder: (context) { + var controller = context.watchController(); + var status = controller.connectivityStatusKnown() && !controller.isConnected() + ? (icon: Icons.wifi_off_outlined, text: 'Offline', color: Colors.grey.shade600) + : (icon: Icons.wifi_find_outlined, text: 'Verbindung fehlgeschlagen', color: Theme.of(context).primaryColor); - return Container( - height: 20, - decoration: BoxDecoration( - color: status.color, - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Icon(status.icon, size: 14), - const SizedBox(width: 10), - Text(status.text, style: const TextStyle(fontSize: 12)) - ], - ), - ); - }, - ) - ) + return Container( + height: 20, + decoration: BoxDecoration( + color: status.color, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(status.icon, size: 14), + const SizedBox(width: 10), + Text(status.text, style: const TextStyle(fontSize: 12)) + ], + ), + ); + }, + ) + ) + ), ), ); }