Files
Tanami_App/lib/features/MainScreens/main_screen.dart

65 lines
2.4 KiB
Dart
Raw Normal View History

2024-05-30 13:56:20 +05:30
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:tanami_app/features/MainScreens/Academy/presentation/pages/academy_screen.dart';
2024-06-10 18:49:10 +05:30
import 'package:tanami_app/features/MainScreens/Invest/presentation/pages/invest_screen.dart';
import 'package:tanami_app/features/MainScreens/Portfolio/presentation/pages/portfolio_screen.dart';
2024-06-06 11:05:45 +05:30
import 'package:tanami_app/features/MainScreens/Settings/presentation/pages/settings_Screen.dart';
2024-07-03 18:46:18 +05:30
import 'package:tanami_app/features/MainScreens/Wallet/presentation/pages/wallet_screen.dart';
2024-05-30 13:56:20 +05:30
import 'package:tanami_app/shared/components/common_bottom_navigation.dart';
import '../../shared/components/bloc/bottom_nav_bar/bottom_navigation_bloc.dart';
2024-06-12 13:28:22 +05:30
import '../../shared/components/bloc/bottom_nav_bar/bottom_navigation_event.dart';
import '../../shared/components/bloc/bottom_nav_bar/bottom_navigation_state.dart';
import '../../shared/components/exit_app_dialog.dart';
2024-05-30 13:56:20 +05:30
var currentTab = [
2024-06-11 18:43:34 +05:30
const WalletScreen(),
// const KYCScreen(),
2024-05-30 13:56:20 +05:30
const PortfolioScreen(),
const InvestScreen(),
const AcademyScreen(),
const SettingsScreen(),
];
var selectedIndex = 1;
class MainScreen extends StatelessWidget {
const MainScreen({super.key});
@override
Widget build(BuildContext context) {
2024-06-13 11:22:54 +05:30
context.read<BottomNavigationBloc>().add(TabChanged(1));
final PageController pageController = PageController(initialPage: 1);
return BlocBuilder<BottomNavigationBloc, BottomNavigationState>(
builder: (context, state) {
int selectedIndex = (state as TabState).selectedIndex;
return WillPopScope(
onWillPop: () async {
exitAppDialog(context);
return false;
},
child: Scaffold(
2024-06-17 13:25:36 +05:30
backgroundColor: const Color.fromARGB(255, 121, 104, 104),
2024-06-12 13:28:22 +05:30
body: PageView(
controller: pageController,
2024-06-13 11:22:54 +05:30
physics: const NeverScrollableScrollPhysics(),
2024-06-12 13:28:22 +05:30
onPageChanged: (index) {
context.read<BottomNavigationBloc>().add(TabChanged(index));
},
children: const [
WalletScreen(),
PortfolioScreen(),
InvestScreen(),
AcademyScreen(),
SettingsScreen(),
],
),
bottomNavigationBar:
bottomnavigationbar(context, selectedIndex, pageController),
),
);
},
2024-05-30 13:56:20 +05:30
);
}
}