diff --git a/lib/core/routes/app_routes.dart b/lib/core/routes/app_routes.dart index 05cc851..3f17291 100644 --- a/lib/core/routes/app_routes.dart +++ b/lib/core/routes/app_routes.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:tm_app/views/detail/detail_screen.dart'; +import 'package:tm_app/views/login/login_screen.dart'; + import '../../views/home/home_screen.dart'; import '../../views/profile/profile_screen.dart'; import '../../views/tenders/tenders_screen.dart'; @@ -20,7 +22,7 @@ final GlobalKey profileNavigatorKey = // Main app router final GoRouter appRouter = GoRouter( routes: $appRoutes, - initialLocation: '/home', + initialLocation: '/login', navigatorKey: rootNavigatorKey, ); @@ -31,7 +33,7 @@ class LoginScreenRoute extends GoRouteData with _$LoginScreenRoute { @override Widget build(BuildContext context, GoRouterState state) { - return const TenderDetailScreen(); + return const LoginScreen(); } } @@ -144,3 +146,13 @@ class YourTendersRouteData extends GoRouteData with _$YourTendersRouteData { return const YourTendersScreen(); } } + +@TypedGoRoute(path: '/tender-detail') +class TenderDetailRouteData extends GoRouteData with _$TenderDetailRouteData { + const TenderDetailRouteData(); + + @override + Widget build(BuildContext context, GoRouterState state) { + return const TenderDetailScreen(); + } +} diff --git a/lib/core/routes/app_routes.g.dart b/lib/core/routes/app_routes.g.dart index d46700d..0257261 100644 --- a/lib/core/routes/app_routes.g.dart +++ b/lib/core/routes/app_routes.g.dart @@ -10,6 +10,7 @@ List get $appRoutes => [ $loginScreenRoute, $appShellRouteData, $yourTendersRouteData, + $tenderDetailRouteData, ]; RouteBase get $loginScreenRoute => @@ -165,3 +166,30 @@ mixin _$YourTendersRouteData on GoRouteData { @override void replace(BuildContext context) => context.replace(location); } + +RouteBase get $tenderDetailRouteData => GoRouteData.$route( + path: '/tender-detail', + + factory: _$TenderDetailRouteData._fromState, +); + +mixin _$TenderDetailRouteData on GoRouteData { + static TenderDetailRouteData _fromState(GoRouterState state) => + const TenderDetailRouteData(); + + @override + String get location => GoRouteData.$location('/tender-detail'); + + @override + void go(BuildContext context) => context.go(location); + + @override + Future push(BuildContext context) => context.push(location); + + @override + void pushReplacement(BuildContext context) => + context.pushReplacement(location); + + @override + void replace(BuildContext context) => context.replace(location); +} diff --git a/lib/views/home/home_screen.dart b/lib/views/home/home_screen.dart index 054911c..b42ced2 100644 --- a/lib/views/home/home_screen.dart +++ b/lib/views/home/home_screen.dart @@ -117,7 +117,9 @@ class HomeScreen extends StatelessWidget { amount: '12', textColor: Color(0xFF0164FF), enableTap: true, - onTap: () {}, + onTap: () { + YourTendersRouteData().push(context); + }, ), StatisticsCard( backgroundColor: Color(0xFFEAF8F9), diff --git a/lib/views/login/login_screen.dart b/lib/views/login/login_screen.dart index c9c7831..ec2f2d9 100644 --- a/lib/views/login/login_screen.dart +++ b/lib/views/login/login_screen.dart @@ -1,5 +1,6 @@ // lib/views/login_screen.dart import 'package:flutter/material.dart'; +import 'package:tm_app/core/routes/app_routes.dart'; import '../../core/constants/assets.dart'; import '../../core/constants/strings.dart'; @@ -51,6 +52,7 @@ class _LoginScreenState extends State { @override Widget build(BuildContext context) { + SizeConfig.init(context); return Scaffold( backgroundColor: Colors.white, body: Center( @@ -85,7 +87,12 @@ class _LoginScreenState extends State { SizedBox(height: 32.0.h()), BaseButton( isEnabled: _isLoginEnabled, - onPressed: _isLoginEnabled ? () {} : null, + onPressed: + _isLoginEnabled + ? () { + HomeRouteData().go(context); + } + : null, ), ], ), diff --git a/lib/views/tenders/widgets/main_tenders_slider.dart b/lib/views/tenders/widgets/main_tenders_slider.dart index 430d549..b020e4c 100644 --- a/lib/views/tenders/widgets/main_tenders_slider.dart +++ b/lib/views/tenders/widgets/main_tenders_slider.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:tm_app/core/constants/colors.dart'; +import 'package:tm_app/core/routes/app_routes.dart'; import '../../../core/constants/assets.dart'; import '../../../core/utils/size_config.dart'; @@ -110,6 +111,7 @@ class _MainTendersSliderState extends State { isDisliked: dislikedTenders.contains(tender), onDislike: () => _onDislike(tender), onLike: () => _onLike(tender), + onApply: () => TenderDetailRouteData().push(context), ); }, ),