fixed bugs
This commit is contained in:
@@ -149,6 +149,8 @@ class HomeViewModel with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
_hasMore = false;
|
_hasMore = false;
|
||||||
|
_isLoadingMore = false;
|
||||||
|
getHomeRecommendTenders(reset: true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -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,18 +62,24 @@ class TenderDetailActions extends StatelessWidget {
|
|||||||
// tenderId: detail.id!,
|
// tenderId: detail.id!,
|
||||||
// submissionMode: value,
|
// submissionMode: value,
|
||||||
// );
|
// );
|
||||||
Future.delayed(Duration.zero, () {
|
if (value ==
|
||||||
showModalBottomSheet(
|
TenderSubmissionMode.selfApply.value) {
|
||||||
isDismissible: true,
|
const CompletionOfDocumentsMobileRouteData()
|
||||||
// ignore: use_build_context_synchronously
|
.push(context);
|
||||||
context: context,
|
} else {
|
||||||
builder: (context) {
|
Future.delayed(Duration.zero, () {
|
||||||
return SelectMeetingTimeBottomSheet(
|
showModalBottomSheet(
|
||||||
onConfirm: (meetingTime) {},
|
isDismissible: true,
|
||||||
);
|
// ignore: use_build_context_synchronously
|
||||||
},
|
context: context,
|
||||||
);
|
builder: (context) {
|
||||||
});
|
return SelectMeetingTimeBottomSheet(
|
||||||
|
onConfirm: (meetingTime) {},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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: 'You’ve been invited to tender #A-778.',
|
|
||||||
// time: '5 Min',
|
|
||||||
// type: 'new',
|
|
||||||
// ),
|
|
||||||
// NotificationModel(
|
|
||||||
// title: 'New Tender Invitation',
|
|
||||||
// description: 'You’ve 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: 'You’ve 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',
|
|
||||||
// ),
|
|
||||||
// ];
|
|
||||||
|
|||||||
@@ -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(),
|
||||||
|
|||||||
@@ -49,18 +49,14 @@ 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: Padding(
|
||||||
child: SafeArea(
|
padding: EdgeInsetsDirectional.only(
|
||||||
child: Padding(
|
end: 24.0.w(),
|
||||||
padding: EdgeInsetsDirectional.only(
|
top: 128.0.h(),
|
||||||
end: 24.0.w(),
|
),
|
||||||
top: 128.0.h(),
|
child: MainTendersSlider(
|
||||||
),
|
tenders: viewModel.tendersResponse?.data?.tenders ?? [],
|
||||||
child: MainTendersSlider(
|
|
||||||
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(),
|
||||||
|
|||||||
Reference in New Issue
Block a user