router and assets updated

This commit is contained in:
amirrezaghabeli
2025-08-06 09:07:55 +03:30
parent 91a7634298
commit 337fcdbcbc
5 changed files with 55 additions and 4 deletions
+14 -2
View File
@@ -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<NavigatorState> 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<TenderDetailRouteData>(path: '/tender-detail')
class TenderDetailRouteData extends GoRouteData with _$TenderDetailRouteData {
const TenderDetailRouteData();
@override
Widget build(BuildContext context, GoRouterState state) {
return const TenderDetailScreen();
}
}
+28
View File
@@ -10,6 +10,7 @@ List<RouteBase> 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<T?> push<T>(BuildContext context) => context.push<T>(location);
@override
void pushReplacement(BuildContext context) =>
context.pushReplacement(location);
@override
void replace(BuildContext context) => context.replace(location);
}
+3 -1
View File
@@ -117,7 +117,9 @@ class HomeScreen extends StatelessWidget {
amount: '12',
textColor: Color(0xFF0164FF),
enableTap: true,
onTap: () {},
onTap: () {
YourTendersRouteData().push(context);
},
),
StatisticsCard(
backgroundColor: Color(0xFFEAF8F9),
+8 -1
View File
@@ -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<LoginScreen> {
@override
Widget build(BuildContext context) {
SizeConfig.init(context);
return Scaffold(
backgroundColor: Colors.white,
body: Center(
@@ -85,7 +87,12 @@ class _LoginScreenState extends State<LoginScreen> {
SizedBox(height: 32.0.h()),
BaseButton(
isEnabled: _isLoginEnabled,
onPressed: _isLoginEnabled ? () {} : null,
onPressed:
_isLoginEnabled
? () {
HomeRouteData().go(context);
}
: null,
),
],
),
@@ -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<MainTendersSlider> {
isDisliked: dislikedTenders.contains(tender),
onDislike: () => _onDislike(tender),
onLike: () => _onLike(tender),
onApply: () => TenderDetailRouteData().push(context),
);
},
),