import 'package:flutter/material.dart'; import 'package:animations/animations.dart'; import 'package:provider/provider.dart'; import 'package:flutter/services.dart'; import 'package:adguard_home_manager/widgets/bottom_nav_bar.dart'; import 'package:adguard_home_manager/providers/app_config_provider.dart'; import 'package:adguard_home_manager/models/app_screen.dart'; import 'package:adguard_home_manager/config/app_screens.dart'; import 'package:adguard_home_manager/providers/servers_provider.dart'; class Base extends StatefulWidget { const Base({Key? key}) : super(key: key); @override State createState() => _BaseState(); } class _BaseState extends State { int selectedScreen = 0; @override Widget build(BuildContext context) { final serversProvider = Provider.of(context); final appConfigProvider = Provider.of(context); List screens = serversProvider.selectedServer != null ? screensServerConnected : screensSelectServer; return AnnotatedRegion( value: SystemUiOverlayStyle( statusBarColor: Colors.transparent, statusBarBrightness: Theme.of(context).brightness == Brightness.light ? Brightness.light : Brightness.dark, statusBarIconBrightness: Theme.of(context).brightness == Brightness.light ? Brightness.dark : Brightness.light, systemNavigationBarColor: Theme.of(context).scaffoldBackgroundColor, systemNavigationBarIconBrightness: Theme.of(context).brightness == Brightness.light ? Brightness.dark : Brightness.light, ), child: Scaffold( body: PageTransitionSwitcher( duration: const Duration(milliseconds: 200), transitionBuilder: ( (child, primaryAnimation, secondaryAnimation) => FadeThroughTransition( animation: primaryAnimation, secondaryAnimation: secondaryAnimation, child: child, ) ), child: screens[appConfigProvider.selectedScreen].body, ), bottomNavigationBar: const BottomNavBar(), ) ); } }