fixed bugs

This commit is contained in:
amirrezaghabeli
2025-09-30 11:12:17 +03:30
parent f6cbc2f72d
commit fc925f7b84
8 changed files with 62 additions and 81 deletions
+2
View File
@@ -149,6 +149,8 @@ class HomeViewModel with ChangeNotifier {
} }
} else { } else {
_hasMore = false; _hasMore = false;
_isLoadingMore = false;
getHomeRecommendTenders(reset: true);
} }
break; break;
+1 -3
View File
@@ -21,9 +21,7 @@ class ProfileViewModel with ChangeNotifier {
required AuthViewModel authViewModel, required AuthViewModel authViewModel,
}) : _profileRepository = profileRepository, }) : _profileRepository = profileRepository,
_authRepository = authRepository, _authRepository = authRepository,
_authViewModel = authViewModel { _authViewModel = authViewModel;
getCompanyProfile();
}
bool _isLoading = false; bool _isLoading = false;
String? _errorMessage; String? _errorMessage;
@@ -20,7 +20,10 @@ class CompletionOfDocumentsMobilePage extends StatelessWidget {
), ),
body: SafeArea( body: SafeArea(
child: SingleChildScrollView( child: SingleChildScrollView(
padding: EdgeInsets.symmetric(horizontal: 16.0.w(), vertical: 12.0.h()), padding: EdgeInsets.symmetric(
horizontal: 16.0.w(),
vertical: 12.0.h(),
),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@@ -115,8 +118,8 @@ class CompletionOfDocumentsMobilePage extends StatelessWidget {
status: 'Completed', status: 'Completed',
statusColor: AppColors.green30, statusColor: AppColors.green30,
statusBackgroundColor: AppColors.green10, statusBackgroundColor: AppColors.green10,
backgroundColor: AppColors.primary10, backgroundColor: AppColors.primary10Light,
borderSideColor: AppColors.primary20, borderSideColor: AppColors.primary30,
), ),
_docCard( _docCard(
title: 'Tax Compliance Certificate', title: 'Tax Compliance Certificate',
@@ -124,7 +127,7 @@ class CompletionOfDocumentsMobilePage extends StatelessWidget {
status: 'Completed', status: 'Completed',
statusColor: AppColors.green30, statusColor: AppColors.green30,
statusBackgroundColor: AppColors.green10, statusBackgroundColor: AppColors.green10,
backgroundColor: AppColors.primary10, backgroundColor: AppColors.primary10Light,
borderSideColor: AppColors.primary30, borderSideColor: AppColors.primary30,
), ),
_docCard( _docCard(
@@ -9,6 +9,7 @@ import 'package:tm_app/views/shared/select_submission_bottom_sheet.dart';
import '../../../core/constants/tender_approval_status.dart'; import '../../../core/constants/tender_approval_status.dart';
import '../../../core/constants/tender_submision_mode.dart'; import '../../../core/constants/tender_submision_mode.dart';
import '../../../core/routes/app_routes.dart';
import '../../../data/services/model/tender_data/tender_data.dart'; import '../../../data/services/model/tender_data/tender_data.dart';
import '../../shared/select_submission_dialog.dart'; import '../../shared/select_submission_dialog.dart';
import '../strings/tender_details_strings.dart'; import '../strings/tender_details_strings.dart';
@@ -61,6 +62,11 @@ class TenderDetailActions extends StatelessWidget {
// tenderId: detail.id!, // tenderId: detail.id!,
// submissionMode: value, // submissionMode: value,
// ); // );
if (value ==
TenderSubmissionMode.selfApply.value) {
const CompletionOfDocumentsMobileRouteData()
.push(context);
} else {
Future.delayed(Duration.zero, () { Future.delayed(Duration.zero, () {
showModalBottomSheet( showModalBottomSheet(
isDismissible: true, isDismissible: true,
@@ -73,6 +79,7 @@ class TenderDetailActions extends StatelessWidget {
}, },
); );
}); });
}
}, },
); );
}, },
@@ -18,50 +18,3 @@ class NotificationScreen extends StatelessWidget {
); );
} }
} }
// class NotificationModel {
// final String title;
// final String description;
// final String time;
// final String type;
// NotificationModel({
// required this.title,
// required this.description,
// required this.time,
// required this.type,
// });
// }
// final List<NotificationModel> notifications = [
// NotificationModel(
// title: 'New Tender Invitation',
// description: 'Youve been invited to tender #A-778.',
// time: '5 Min',
// type: 'new',
// ),
// NotificationModel(
// title: 'New Tender Invitation',
// description: 'Youve been invited to tender #N-3762.',
// time: '28 Min',
// type: 'new',
// ),
// NotificationModel(
// title: 'Tender Submitted',
// description: 'You submitted bid for tender #B-554.',
// time: '28 Min',
// type: 'submit',
// ),
// NotificationModel(
// title: 'New Tender Invitation',
// description: 'Youve been invited to tender #N-3762.',
// time: '28 Min',
// type: 'new',
// ),
// NotificationModel(
// title: 'Missing Documents',
// description: 'Please upload your company registration certificate.',
// time: '2 days ago',
// type: 'missing',
// ),
// ];
+21 -1
View File
@@ -1,15 +1,35 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/view_models/profile_view_model.dart';
import 'package:tm_app/views/shared/responsive_builder.dart'; import 'package:tm_app/views/shared/responsive_builder.dart';
import '../pages/d_profile_page.dart'; import '../pages/d_profile_page.dart';
import '../pages/m_profile_page.dart'; import '../pages/m_profile_page.dart';
import '../pages/t_profile_page.dart'; import '../pages/t_profile_page.dart';
class ProfileScreen extends StatelessWidget { class ProfileScreen extends StatefulWidget {
const ProfileScreen({super.key}); const ProfileScreen({super.key});
@override
State<ProfileScreen> createState() => _ProfileScreenState();
}
class _ProfileScreenState extends State<ProfileScreen> {
late ProfileViewModel viewModel;
@override
void initState() {
super.initState();
viewModel = context.read<ProfileViewModel>();
WidgetsBinding.instance.addPostFrameCallback((_) {
viewModel.getCompanyProfile();
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig.init(context);
return const ResponsiveBuilder( return const ResponsiveBuilder(
mobile: MobileProfilePage(), mobile: MobileProfilePage(),
tablet: TabletProfilePage(), tablet: TabletProfilePage(),
+1 -5
View File
@@ -49,9 +49,7 @@ class _TabletTendersPageState extends State<TabletTendersPage> {
viewModel.isLoading == false) { viewModel.isLoading == false) {
return const Center(child: Text(CommonStrings.noData)); return const Center(child: Text(CommonStrings.noData));
} }
return Expanded( return SingleChildScrollView(
child: SingleChildScrollView(
child: SafeArea(
child: Padding( child: Padding(
padding: EdgeInsetsDirectional.only( padding: EdgeInsetsDirectional.only(
end: 24.0.w(), end: 24.0.w(),
@@ -61,8 +59,6 @@ class _TabletTendersPageState extends State<TabletTendersPage> {
tenders: viewModel.tendersResponse?.data?.tenders ?? [], tenders: viewModel.tendersResponse?.data?.tenders ?? [],
), ),
), ),
),
),
); );
}, },
), ),
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/views/shared/responsive_builder.dart'; import 'package:tm_app/views/shared/responsive_builder.dart';
import '../../../view_models/tenders_view_model.dart'; import '../../../view_models/tenders_view_model.dart';
@@ -28,6 +29,7 @@ class _TendersScreenState extends State<TendersScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig.init(context);
return const ResponsiveBuilder( return const ResponsiveBuilder(
mobile: MobileTendersPage(), mobile: MobileTendersPage(),
tablet: TabletTendersPage(), tablet: TabletTendersPage(),