added submit and reject for liked tenders
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:country_flags/country_flags.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@@ -10,6 +11,8 @@ import 'package:tm_app/view_models/liked_tenders_view_model.dart';
|
||||
import 'package:tm_app/views/home/strings/home_strings.dart';
|
||||
|
||||
import '../../../data/services/model/tender_approvals_data/tender_approvals_data.dart';
|
||||
import '../../shared/select_submission_bottom_sheet.dart';
|
||||
import '../../shared/select_submission_dialog.dart';
|
||||
|
||||
class LikedListItem extends StatelessWidget {
|
||||
const LikedListItem({
|
||||
@@ -32,7 +35,6 @@ class LikedListItem extends StatelessWidget {
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
border: Border.all(color: AppColors.grey30),
|
||||
),
|
||||
margin: EdgeInsetsDirectional.only(end: 16.0.w()),
|
||||
width: double.infinity,
|
||||
height: 250.0.h(),
|
||||
child: Padding(
|
||||
@@ -172,52 +174,99 @@ class LikedListItem extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Container(
|
||||
width: 32.0.w(),
|
||||
height: 32.0.h(),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
InkWell(
|
||||
onTap: () {
|
||||
viewModel.rejectTenderApproval(
|
||||
tenderId: tender.id!,
|
||||
submissionMode: 'self-apply',
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
width: 32.0.w(),
|
||||
height: 32.0.h(),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
viewModel.isTenderRejected(tender.id!)
|
||||
? AppColors.errorColor
|
||||
: AppColors.grey60,
|
||||
width: 1.5.w(),
|
||||
),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Icon(
|
||||
Icons.close,
|
||||
color:
|
||||
approval?.status == 'rejected'
|
||||
viewModel.isTenderRejected(tender.id!)
|
||||
? AppColors.errorColor
|
||||
: AppColors.grey60,
|
||||
width: 1.5.w(),
|
||||
size: 16,
|
||||
),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Icon(
|
||||
Icons.close,
|
||||
color:
|
||||
approval?.status == 'rejected'
|
||||
? AppColors.errorColor
|
||||
: AppColors.grey60,
|
||||
size: 16,
|
||||
),
|
||||
),
|
||||
SizedBox(width: 30.0.w()),
|
||||
Container(
|
||||
width: 32.0.w(),
|
||||
height: 32.0.h(),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
InkWell(
|
||||
onTap: () {
|
||||
if (viewModel.isTenderSubmitted(tender.id!)) {
|
||||
viewModel.submitTenderApproval(
|
||||
tenderId: tender.id!,
|
||||
submissionMode: 'self-apply',
|
||||
);
|
||||
} else {
|
||||
kIsWeb
|
||||
? showDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return SelectSubmissionDialog(
|
||||
onConfirm: (value) {
|
||||
viewModel.submitTenderApproval(
|
||||
tenderId: tender.id!,
|
||||
submissionMode: value,
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
)
|
||||
: showModalBottomSheet(
|
||||
isDismissible: true,
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return SelectSubmissionBottomSheet(
|
||||
onConfirm: (value) {
|
||||
viewModel.submitTenderApproval(
|
||||
tenderId: tender.id!,
|
||||
submissionMode: value,
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
},
|
||||
child: Container(
|
||||
width: 32.0.w(),
|
||||
height: 32.0.h(),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
viewModel.isTenderSubmitted(tender.id!)
|
||||
? AppColors.successColor
|
||||
: AppColors.grey60,
|
||||
width: 1.5.w(),
|
||||
),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Icon(
|
||||
Icons.check,
|
||||
color:
|
||||
approval?.status == 'submitted'
|
||||
viewModel.isTenderSubmitted(tender.id!)
|
||||
? AppColors.successColor
|
||||
: AppColors.grey60,
|
||||
width: 1.5.w(),
|
||||
size: 16,
|
||||
),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
child: Icon(
|
||||
Icons.check,
|
||||
color:
|
||||
approval?.status == 'submitted'
|
||||
? AppColors.successColor
|
||||
: AppColors.grey60,
|
||||
size: 16,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user