import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import '../widgets/connection_status_banner.dart'; class AppShell extends StatelessWidget { const AppShell({required this.navigationShell, super.key}); final StatefulNavigationShell navigationShell; @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ const ConnectionStatusBanner(), Expanded(child: navigationShell), ], ), bottomNavigationBar: NavigationBar( selectedIndex: navigationShell.currentIndex, onDestinationSelected: (index) { navigationShell.goBranch( index, initialLocation: index == navigationShell.currentIndex, ); }, destinations: const [ NavigationDestination( icon: Icon(Icons.home_outlined), selectedIcon: Icon(Icons.home), label: '首页', ), NavigationDestination( icon: Icon(Icons.play_circle_outline), selectedIcon: Icon(Icons.play_circle), label: '播放', ), NavigationDestination( icon: Icon(Icons.bolt_outlined), selectedIcon: Icon(Icons.bolt), label: '触发', ), NavigationDestination( icon: Icon(Icons.wifi_outlined), selectedIcon: Icon(Icons.wifi), label: '网络', ), NavigationDestination( icon: Icon(Icons.settings_outlined), selectedIcon: Icon(Icons.settings), label: '设置', ), NavigationDestination( icon: Icon(Icons.bug_report_outlined), selectedIcon: Icon(Icons.bug_report), label: '调试', ), ], ), ); } }