/// Host scaffold: Home, Overview, Look ahead. Settings lives in the app-bar gear. library; import 'package:flutter/material.dart'; import '../widgets/shell_tab_scope.dart'; import 'home_screen.dart'; import 'look_ahead_screen.dart'; import 'overview_screen.dart'; class MainShell extends StatefulWidget { const MainShell({super.key}); @override State createState() => _MainShellState(); } class _MainShellState extends State { int _index = 0; static const _pages = [ HomeScreen(), OverviewScreen(), LookAheadScreen(), ]; @override Widget build(BuildContext context) { return ShellTabScope( index: _index, child: Scaffold( body: IndexedStack( index: _index, children: _pages, ), bottomNavigationBar: NavigationBar( selectedIndex: _index, onDestinationSelected: (index) => setState(() => _index = index), labelBehavior: NavigationDestinationLabelBehavior.alwaysShow, destinations: const [ NavigationDestination( icon: Icon(Icons.home_outlined), selectedIcon: Icon(Icons.home), label: 'Home', ), NavigationDestination( icon: Icon(Icons.insights_outlined), selectedIcon: Icon(Icons.insights), label: 'Overview', ), NavigationDestination( icon: Icon(Icons.event_repeat_outlined), selectedIcon: Icon(Icons.event_repeat), label: 'Look ahead', ), ], ), ), ); } }