Files
2026-05-25 05:10:43 -04:00

57 lines
1.5 KiB
Dart

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,
),
],
),
);
}
}