Files
android
assets
ios
lib
database
models
pods
screens
account
auth
captcha.dart
captcha.native.dart
captcha.web.dart
create_account.dart
login.dart
tabs.dart
chat
posts
realm
account.dart
explore.dart
services
widgets
firebase_options.dart
main.dart
route.dart
route.gr.dart
linux
macos
web
windows
.gitignore
.metadata
README.md
analysis_options.yaml
build.yaml
devtools_options.yaml
firebase.json
pubspec.lock
pubspec.yaml
App/lib/screens/auth/tabs.dart
2025-05-03 02:01:25 +08:00

53 lines
1.6 KiB
Dart

import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:island/route.gr.dart';
import 'package:material_symbols_icons/symbols.dart';
@RoutePage()
class TabsScreen extends StatelessWidget {
const TabsScreen({super.key});
@override
Widget build(BuildContext context) {
return AutoTabsRouter.pageView(
routes: const [
ExploreRoute(),
ChatListRoute(),
RealmListRoute(),
AccountRoute(),
],
builder: (context, child, _) {
final tabsRouter = AutoTabsRouter.of(context);
return Scaffold(
extendBodyBehindAppBar: true,
backgroundColor: Colors.transparent,
body: child,
bottomNavigationBar: NavigationBar(
selectedIndex: tabsRouter.activeIndex,
onDestinationSelected: tabsRouter.setActiveIndex,
destinations: [
NavigationDestination(
label: 'explore'.tr(),
icon: const Icon(Symbols.explore),
),
NavigationDestination(
label: 'chat'.tr(),
icon: const Icon(Symbols.chat),
),
NavigationDestination(
label: 'realms'.tr(),
icon: const Icon(Symbols.workspaces),
),
NavigationDestination(
label: 'account'.tr(),
icon: const Icon(Symbols.account_circle),
),
],
),
);
},
);
}
}