Added liked tenders desigm and data from api
This commit is contained in:
@@ -3,12 +3,15 @@ import 'package:provider/single_child_widget.dart';
|
||||
import 'package:tm_app/core/network/network_manager.dart';
|
||||
import 'package:tm_app/core/theme/theme_provider.dart';
|
||||
import 'package:tm_app/data/repositories/home_repository.dart';
|
||||
import 'package:tm_app/data/repositories/liked_tenders_repository.dart';
|
||||
import 'package:tm_app/data/repositories/tender_detail_repository.dart';
|
||||
import 'package:tm_app/data/repositories/tenders_repository.dart';
|
||||
import 'package:tm_app/data/repositories/your_tenders_repository.dart';
|
||||
import 'package:tm_app/data/services/home_service.dart';
|
||||
import 'package:tm_app/data/services/liked_tenders_service.dart';
|
||||
import 'package:tm_app/data/services/tender_detail_service.dart';
|
||||
import 'package:tm_app/data/services/your_tenders_service.dart';
|
||||
import 'package:tm_app/view_models/liked_tenders_view_model.dart';
|
||||
import 'package:tm_app/view_models/tender_detail_view_model.dart';
|
||||
import 'package:tm_app/view_models/tenders_view_model.dart';
|
||||
import 'package:tm_app/view_models/your_tenders_view_model.dart';
|
||||
@@ -44,6 +47,9 @@ List<SingleChildWidget> get apiClients {
|
||||
Provider(
|
||||
create: (context) => YourTendersService(networkManager: context.read()),
|
||||
),
|
||||
Provider(
|
||||
create: (context) => LikedTendersService(networkManager: context.read()),
|
||||
),
|
||||
Provider(
|
||||
create: (context) => TendersService(networkManager: context.read()),
|
||||
),
|
||||
@@ -67,6 +73,11 @@ List<SingleChildWidget> get repositories {
|
||||
(context) =>
|
||||
YourTendersRepository(yourTendersService: context.read()),
|
||||
),
|
||||
Provider(
|
||||
create:
|
||||
(context) =>
|
||||
LikedTendersRepository(likedTendersService: context.read()),
|
||||
),
|
||||
Provider(
|
||||
create: (context) => TendersRepository(tendersService: context.read()),
|
||||
),
|
||||
@@ -106,6 +117,11 @@ List<SingleChildWidget> get viewModels {
|
||||
(context) =>
|
||||
YourTendersViewModel(yourTendersRepository: context.read()),
|
||||
),
|
||||
ChangeNotifierProvider(
|
||||
create:
|
||||
(context) =>
|
||||
LikedTendersViewModel(likedTendersRepository: context.read()),
|
||||
),
|
||||
ChangeNotifierProvider(
|
||||
create:
|
||||
(context) => ProfileViewModel(
|
||||
|
||||
@@ -59,4 +59,8 @@ class AssetsManager {
|
||||
//profile page
|
||||
static const sun = 'assets/icons/sun.svg';
|
||||
static const moon = 'assets/icons/moon.svg';
|
||||
|
||||
//Liked tenders
|
||||
static const trash = 'assets/icons/trash.svg';
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:tm_app/views/detail/pages/detail_screen.dart';
|
||||
import 'package:tm_app/views/home/pages/home_screen.dart';
|
||||
import 'package:tm_app/views/liked_tenders/pages/liked_tenders_screen.dart';
|
||||
import 'package:tm_app/views/login/pages/login_screen.dart';
|
||||
|
||||
import '../../views/forgot_password/pages/forgot_password_screen.dart';
|
||||
@@ -26,7 +27,7 @@ final GlobalKey<NavigatorState> notificationNavigatorKey =
|
||||
// Main app router
|
||||
final GoRouter appRouter = GoRouter(
|
||||
routes: $appRoutes,
|
||||
initialLocation: '/notification',
|
||||
initialLocation: '/login',
|
||||
navigatorKey: rootNavigatorKey,
|
||||
);
|
||||
|
||||
@@ -171,6 +172,16 @@ class YourTendersRouteData extends GoRouteData with _$YourTendersRouteData {
|
||||
}
|
||||
}
|
||||
|
||||
@TypedGoRoute<LikedTendersRouteData>(path: '/like-tenders')
|
||||
class LikedTendersRouteData extends GoRouteData with _$LikedTendersRouteData {
|
||||
const LikedTendersRouteData();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, GoRouterState state) {
|
||||
return LikedTendersScreen();
|
||||
}
|
||||
}
|
||||
|
||||
@TypedGoRoute<TenderDetailRouteData>(path: '/tender-detail')
|
||||
class TenderDetailRouteData extends GoRouteData with _$TenderDetailRouteData {
|
||||
final String tenderId;
|
||||
|
||||
@@ -10,6 +10,7 @@ List<RouteBase> get $appRoutes => [
|
||||
$loginScreenRoute,
|
||||
$appShellRouteData,
|
||||
$yourTendersRouteData,
|
||||
$likedTendersRouteData,
|
||||
$tenderDetailRouteData,
|
||||
$forgotPasswordRouteData,
|
||||
];
|
||||
@@ -200,6 +201,33 @@ mixin _$YourTendersRouteData on GoRouteData {
|
||||
void replace(BuildContext context) => context.replace(location);
|
||||
}
|
||||
|
||||
RouteBase get $likedTendersRouteData => GoRouteData.$route(
|
||||
path: '/like-tenders',
|
||||
|
||||
factory: _$LikedTendersRouteData._fromState,
|
||||
);
|
||||
|
||||
mixin _$LikedTendersRouteData on GoRouteData {
|
||||
static LikedTendersRouteData _fromState(GoRouterState state) =>
|
||||
const LikedTendersRouteData();
|
||||
|
||||
@override
|
||||
String get location => GoRouteData.$location('/like-tenders');
|
||||
|
||||
@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);
|
||||
}
|
||||
|
||||
RouteBase get $tenderDetailRouteData => GoRouteData.$route(
|
||||
path: '/tender-detail',
|
||||
|
||||
|
||||
Reference in New Issue
Block a user