feat : Adding bottomNav

This commit is contained in:
Yaël Perret
2024-10-31 18:45:29 +01:00
parent e722368fa6
commit 48814a90aa
48 changed files with 198 additions and 58 deletions

View File

@@ -4,13 +4,15 @@ import 'package:bahla_front/ui/views/home/home_view.dart';
import 'package:bahla_front/ui/views/startup/startup_view.dart';
import 'package:stacked/stacked_annotations.dart';
import 'package:stacked_services/stacked_services.dart';
import 'package:bahla_front/ui/views/main/main_view.dart';
// @stacked-import
@StackedApp(
routes: [
MaterialRoute(page: HomeView),
MaterialRoute(page: StartupView),
// @stacked-route
MaterialRoute(page: MainView),
// @stacked-route
],
dependencies: [
LazySingleton(classType: BottomSheetService),

View File

@@ -6,20 +6,24 @@
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:bahla_front/ui/views/home/home_view.dart' as _i2;
import 'package:bahla_front/ui/views/main/main_view.dart' as _i4;
import 'package:bahla_front/ui/views/startup/startup_view.dart' as _i3;
import 'package:flutter/material.dart' as _i4;
import 'package:flutter/material.dart' as _i5;
import 'package:flutter/material.dart';
import 'package:stacked/stacked.dart' as _i1;
import 'package:stacked_services/stacked_services.dart' as _i5;
import 'package:stacked_services/stacked_services.dart' as _i6;
class Routes {
static const homeView = '/home-view';
static const startupView = '/startup-view';
static const mainView = '/main-view';
static const all = <String>{
homeView,
startupView,
mainView,
};
}
@@ -33,21 +37,31 @@ class StackedRouter extends _i1.RouterBase {
Routes.startupView,
page: _i3.StartupView,
),
_i1.RouteDef(
Routes.mainView,
page: _i4.MainView,
),
];
final _pagesMap = <Type, _i1.StackedRouteFactory>{
_i2.HomeView: (data) {
return _i4.MaterialPageRoute<dynamic>(
return _i5.MaterialPageRoute<dynamic>(
builder: (context) => const _i2.HomeView(),
settings: data,
);
},
_i3.StartupView: (data) {
return _i4.MaterialPageRoute<dynamic>(
return _i5.MaterialPageRoute<dynamic>(
builder: (context) => const _i3.StartupView(),
settings: data,
);
},
_i4.MainView: (data) {
return _i5.MaterialPageRoute<dynamic>(
builder: (context) => const _i4.MainView(),
settings: data,
);
},
};
@override
@@ -57,7 +71,7 @@ class StackedRouter extends _i1.RouterBase {
Map<Type, _i1.StackedRouteFactory> get pagesMap => _pagesMap;
}
extension NavigatorStateExtension on _i5.NavigationService {
extension NavigatorStateExtension on _i6.NavigationService {
Future<dynamic> navigateToHomeView([
int? routerId,
bool preventDuplicates = true,
@@ -65,7 +79,7 @@ extension NavigatorStateExtension on _i5.NavigationService {
Widget Function(BuildContext, Animation<double>, Animation<double>, Widget)?
transition,
]) async {
return navigateTo<dynamic>(Routes.homeView,
return navigateTo<dynamic>(Routes.mainView, // Replace home view to main view
id: routerId,
preventDuplicates: preventDuplicates,
parameters: parameters,
@@ -86,6 +100,20 @@ extension NavigatorStateExtension on _i5.NavigationService {
transition: transition);
}
Future<dynamic> navigateToMainView([
int? routerId,
bool preventDuplicates = true,
Map<String, String>? parameters,
Widget Function(BuildContext, Animation<double>, Animation<double>, Widget)?
transition,
]) async {
return navigateTo<dynamic>(Routes.mainView,
id: routerId,
preventDuplicates: preventDuplicates,
parameters: parameters,
transition: transition);
}
Future<dynamic> replaceWithHomeView([
int? routerId,
bool preventDuplicates = true,
@@ -93,7 +121,7 @@ extension NavigatorStateExtension on _i5.NavigationService {
Widget Function(BuildContext, Animation<double>, Animation<double>, Widget)?
transition,
]) async {
return replaceWith<dynamic>(Routes.homeView,
return replaceWith<dynamic>(Routes.mainView, // Replace home view to main view
id: routerId,
preventDuplicates: preventDuplicates,
parameters: parameters,
@@ -113,4 +141,18 @@ extension NavigatorStateExtension on _i5.NavigationService {
parameters: parameters,
transition: transition);
}
Future<dynamic> replaceWithMainView([
int? routerId,
bool preventDuplicates = true,
Map<String, String>? parameters,
Widget Function(BuildContext, Animation<double>, Animation<double>, Widget)?
transition,
]) async {
return replaceWith<dynamic>(Routes.mainView,
id: routerId,
preventDuplicates: preventDuplicates,
parameters: parameters,
transition: transition);
}
}