import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import '../../../l10n/app_localizations.dart'; class ClientShell extends StatelessWidget { final PreferredSizeWidget? appBar; final Widget body; final Widget? floatingActionButton; final Color? backgroundColor; const ClientShell({ super.key, this.appBar, required this.body, this.floatingActionButton, this.backgroundColor, }); @override Widget build(BuildContext context) { final location = GoRouterState.of(context).matchedLocation; final l10n = AppLocalizations.of(context); int currentIndex = 0; if (location == '/client/bookings') currentIndex = 1; return Scaffold( appBar: appBar, backgroundColor: backgroundColor, body: body, floatingActionButton: floatingActionButton, bottomNavigationBar: NavigationBar( selectedIndex: currentIndex, onDestinationSelected: (i) { if (i == 0) { context.go('/client'); } else { context.go('/client/bookings'); } }, destinations: [ NavigationDestination( icon: const Icon(Icons.search_outlined), selectedIcon: const Icon(Icons.search), label: l10n.browse, ), NavigationDestination( icon: const Icon(Icons.bookmark_outline), selectedIcon: const Icon(Icons.bookmark), label: l10n.myBookings, ), ], ), ); } }